W3C home > Mailing lists > Public > public-lod@w3.org > October 2010

Re: Reification alternative

From: Antoine Zimmermann <antoine.zimmermann@deri.org>
Date: Wed, 13 Oct 2010 17:41:10 +0200
Message-ID: <4CB5D316.7080200@deri.org>
To: Mirko <idonthaveenoughinformation@googlemail.com>
CC: public-lod@w3.org
I see mainly 2 alternatives:

1) using quads;
2) using named graphs.

1) Quads

Quads simply add a fourth element to triples. That element can be used 
for instance to annotated the triple, or name the triple for further 
descriptions. With your example:

ex:User foaf:interest ex:Item ex:stmt1 .
ex:stmt1 rdfs:label "Statement that ..."@de ex:metastmt1 .
ex:stmt1 dc:publisher ex:Service ex:metastmt1 .
ex:stmt1 dc:created "2010-10-13"^^xsd:date ex:metastmt1 .
ex:stmt1 dc:license ex:License ex:metastmt1 .

Quads is not really a language for publishing data. It's rather a 
convenient syntax to exchange multiple datasets. It does not have a 
formal semantics.

2) Named Graphs

Named Graphs can be used to simply delimit what are the triples within 
an RDF graph. Basically, you put a set of triples together and give a 
name (a URI) to that set. To describe a single triple, you can make a 
singleton named graph.

ex:stmt {
   ex:User foaf:interest ex:Item ex:stmt1 .
ex:stmt rdfs:label "Statement that ..."@de .
ex:stmt dc:publisher ex:Service .
ex:stmt dc:created "2010-10-13"^^xsd:date .
ex:stmt dc:license ex:License .

You can assume that triples that are not in a graph (delimited by curly 
brackets) are members of an implicit "default graph". Named Graphs are 
not used to publish data either. They are normally used internally for 
storing RDF data that come from different sources. While the semantic of 
a single named graph is more or less explain in the specification, the 
semantics of a multigraph document is undefined. This may evolve in the 
near future since there are discussions about standardising named graphs.


Le 13/10/2010 15:02, Mirko a écrit :
> Hi all,
> I try to understand alternatives to reification for Linked Data publishing,
> since reification is discouraged. For example, how could I express the
> following without reification:
> @prefix dc:<http://purl.org/dc/elements/1.1/>.
> @prefix foaf:<http://xmlns.com/foaf/0.1/>.
> <http://ex.org/stmt>
>    rdfs:label "Statement that describes user interest in a document"@de;
>    rdf:subject<http://ex.org/User>;
>    rdf:predicate foaf:interest;
>    rdf:object<http://ex.org/Item>;
>    dc:publisher<http://ex.org/Service>;
>    dc:created "2010-10-13"^^xsd:date;
>    dc:license<http://ex.org/License>.
> <http://ex.org/User>  rdf:type foaf:Agent.
> <http://ex.org/Item>  rdf:type foaf:Document.
> Thanks,
> Mirko

Antoine Zimmermann
Researcher at:
Laboratoire d'InfoRmatique en Image et Systèmes d'information
Database Group
7 Avenue Jean Capelle
69621 Villeurbanne Cedex
Lecturer at:
Institut National des Sciences Appliquées de Lyon
20 Avenue Albert Einstein
69621 Villeurbanne Cedex
Received on Wednesday, 13 October 2010 15:41:47 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 7 January 2015 15:16:09 UTC