- From: Andy Seaborne <andy.seaborne@epimorphics.com>
- Date: Sun, 06 Mar 2011 18:10:10 +0000
- To: RDF Working Group WG <public-rdf-wg@w3.org>
RDF Datasets and graph literals have strong similarities and some differences. One common use of RDF datasets in SPARQL is to make the default graph the union of the named graphs and query of the default graph is a query over all the graphs. Graph literals can't express that directly. There is no place that is the collection of graphs. You could add it by encoding in some way, but it isn't there without additional structure. Graph literals can be arbitrarily nested (depending on definition): :s :p { :a :b {:x :y :z } } . It's graph literals all the way down (to preempt anyone else saying that) because they are a change to RDF. If it's for quoting or little more than :s :p "{ :a :b :c }"^^rdf:synTurtle . then the nesting isn't very relevant. If it's for log:includes assertions, then maybe nesting does matter more. Applications may be unbundling graphs a lot, implementations may need to handle that efficiently, and it might have deep repercussions for toolkits. RDF datasets don't nest. Graphs are the fundamental unit on the web. Currently, working with single graphs, and at most working with multiple graphs locally, collected as single graphs from across the web, is the norm. So far, RDF datasets don't need to nest - because you don't get RDF datasets on the web very much, so you don't get working with collections of RDF datasets. You can merge RDF datasets but the application is producing another RDF dataset and is responsible RDF datasets don't address the assertions about graphs UC very well. They can - with careful graph naming (naming the g-snap, not the g-box), the default graph can contain assertions about the properties of a graph, just like graph literals can be used for RDF datasets. It's just there is "some assemble required". Andy
Received on Sunday, 6 March 2011 18:10:48 UTC