On Fri, May 20, 2011 at 1:25 PM, Henry Story <[email protected]> wrote:
> In another thread I wrote:
>
>>  think it would be interesting to add a method for getting the graph name, 
>> btw, null if there is none
>
>
> Equality
> --------
>
> So as Reto pointed out this could bring up an issue of what the equality 
> criterion of two graphs are.
>
> Currently the equality function is inherited from 
> java.util.AbstractCollection which just verified that all members internally 
> are the same. (Btw, that looks like something one should be careful about: 
> calculating identity of large graphs seems a bit dangerous)

No, there are different identity criteria for Graphs and MGraphs, look
at their apis. And yes, graph is isomorphism is NP-hard so for big
graphs with many bnodes it may take forever.

>
> (I think that's why there is a TripleCollection which does not define 
> equality.)
>
> So there are a few answers one could have.
>  - two graphs are equal if their names are the same
currently a graph has all the names that were ever given to it, that
is any name that was ever given to an isomorphic triple collection
implementing graph.

>  - two graphs are equal if their statements are the same
by that you mean isomorphic?

>
> With statements based equality it is already clear that that will depend on 
> whether inferencing is enabled or not, and it could change as more 
> information is available for inferencing.
>
> I wonder where graph equality is used at all, as it seems like a difficult to 
> define matter.
It is defined very precisely and it is used.

>
> Use Cases
> ---------
>
>  From a graph be able to find meta data about it easily: who said it, where 
> when, is the  current graph up to date?
>
>  When fetching a graph from TcProvider with methods such as
>
>  tc.getGraph("http://xmlns.com/foaf/knows";)
>
>  have the returned graph indicate the proper name of the graph where that 
> object is defined. That makes it easier to automate spiders.
>
>  (not so sure but as a thought: It could allow for a very strict quasi 
> identity criterion, that could be easy to calculate:
> two graphs are the same  if
>  the objects are the same
>  or the names are the same and the hashes of all their statements are the same
>  )
the names are the same if and only if the graphs are isomorphic,

Reto

>
> Henry
>
> Social Web Architect
> http://bblfish.net/
>
>
  • Naming Graphs Henry Story
    • Re: Naming Graphs Reto Bachmann-Gmuer

Reply via email to