- From: Souripriya Das <SOURIPRIYA.DAS@oracle.com>
- Date: Wed, 7 Mar 2012 06:51:45 -0800 (PST)
- To: <antoine.zimmermann@emse.fr>
- Cc: <public-rdf-wg@w3.org>
My opinion: - N-Quad is the most pragmatic: It is a seamless extension of N-Triple. It is backward compatible because any N-Triple is an N-Quad with a default graph. - N-Quad syntax is verbose, just as N-Triple syntax is. TriG is a good alternative as "syntax" for expressing N-Quads, that avoids repetition of the graph IRI for every triple in a (non-default) graph. Thanks, - Souri. ----- Original Message ----- From: antoine.zimmermann@emse.fr To: public-rdf-wg@w3.org Sent: Wednesday, March 7, 2012 8:27:36 AM GMT -05:00 US/Canada Eastern Subject: [Graph] abstract syntax for dealing with multiple graphs I'd like here to leave the conversation on semantics aside and see what we can do about the abstract syntax that we want to allow for dealing with multiple graphs. There seems to be 3 categories of abstract syntaxes in what has been used as examples so far: 1) use triples with a "graph-literal-like" syntax: :g :r { :s :p :o } or :g :r ":s :p :o"^^:graph *Pros:* it's an RDF Graph. No new data model is needed. One just need a datatype for graph-literals. The concrete syntax is like RDF. *Cons:* (most) current implementations do not recognised this. *Issue:* is it really a literal? or a new construct? Are any relation :r allowed here? do we define a fixed set of relation that can be used with this syntax? What happens when graph literals are embedded in graph literals? *My opinion:* preferably no. This introduces a new concrete domain (RDF graphs) which is difficult to deal with (e.g., no standard cannonicalisation). We have no pragmatic experience with this. 2) Datasets, e.g., :g { :s :p :o . :a :b :c . } *Pros:* datasets are already a standard data model, as part of the SPARQL rec. TriG would be a natural concrete syntax, and it's already supported by some implementation. "Normal" RDF graphs are immediately accessed via the graph "names". *Cons:* how to define the semantics of datasets? It's a new data model that would need to be introduced in the concepts of RDF. *Issue:* are literals / bnodes allowed as "graph names". Are default graphs allowed as in SPARQL? *My opinion:* yes we can. See the dataset proposal on the wiki. 3) N-Quads (or a quad-based syntax), :s :p :o :g . :a :b :c :d . *Pros:* straigforward extension of RDF (triples with a parameter). Nquads as an obvious concrete syntax. Already used and implemented in some tools. *Cons:* relationship with "normal" RDF graph less clear than with datasets. *Issue:* what is allowed in 4th position? Do "quad-graphs" replace RDF 1.0 graphs or is it a new, distinct data model for dealing with multiple graph? *My opinion:* yes as well, in addition to Datasets. In any case, datasets can be transformed isomorphically into quads and vice versa. The difference is that datasets are sets of pairs, while quad-graphs are sets of quadruples. Each one has its own advantages. I would like that both are presented, and both a TriG-like syntax and a Quad-based syntax be standardised. NQuads could as well be a standard syntax for exchanging pure RDF graphs, by simply ommitting the fourth value. 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 83 36 Fax:+33(0)4 77 42 66 66 http://zimmer.aprilfoolsreview.com/
Received on Wednesday, 7 March 2012 14:52:27 UTC