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)

(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
 - two graphs are equal if their statements are the same

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.

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
 )

Henry
 
Social Web Architect
http://bblfish.net/

Reply via email to