Sharing bnodes

Richard,


You were opposed to the bnode sharing resolution, so I address this to you.

To me the most important case in favour of sharing bnodes is the one 
when you have a single big RDF graph and you want to slice it to make 
easier working with it.
This essentially means that you interpret the dataset as a single RDF 
graph, the <name,graph> pairs are just for data management (what we 
could call UNION semantics).

Take the following example:


<dataAboutBob> {
   :bob  :worksIn  _:rdfwg;
      ...more...
}
<dataAboutRDFWG> {
   _:rdfwg  rdfs:label  "RDF WG"@en .
      ...more...
}

it is essential that the bnode identifier _:rdfwg is used for the same 
bnode, otherwise you cannot conclude any connection between Bob and that 
existing stuff labelled "RDF WG".


Do you want to interpret this as:

∃x Graph(<dataAboutBob>, Triple(:bob, :workIn, x)) ∧
∃x Graph(<dataAboutRDFWG>, Triple(x, rdfs:label, "RDF WG"@en"))

or:

∃x(
    Graph(<dataAboutBob>, Triple(:bob, :workIn, x))
∧ Graph(<dataAboutRDFWG>, Triple(x, rdfs:label, "RDF WG"@en"))
)


I think the second option is important too.  Don't you think this case 
matters?  How would you handle this if bnodes cannot be shared?  It's 
possible to use skolemisation, but what if you want to share the dataset 
with other people, writing it down in Trig?  Skolem IRIs are not 
supposed to be exposed outside the application, right?

Perhaps there could be an indicator that bnodes are shared across graphs?

@bnode-id-scope graph|dataset




Best
-- 
Antoine Zimmermann
ISCOD / LSTI - Institut Henri Fayol
École Nationale Supérieure des Mines de Saint-Étienne
158 cours Fauriel
42023 Saint-Étienne Cedex 2
France
Tél:+33(0)4 77 42 66 03
Fax:+33(0)4 77 42 66 66
http://zimmer.aprilfoolsreview.com/

Received on Wednesday, 5 September 2012 16:53:01 UTC