fragment_downloaded_cb({"url":"migrating-2to3.html#graph-semantics","fragment":"Graph semantics\nOne of the big features in 3.0 is full SPARQL 1.1 syntax\nsupport. Besides the missing syntax additions, one conceptually\nbig change is the handling of graphs in the database.\nIn 2.x, there was a minimum concept of graphs, but it didn't\nrepresent what is defined in the standard. You could attribute\na graph to a data triple, but a given triple could only reside\nin one graph at a time. In other words, this yields the wrong\nresult:\n3.0 implements the graph semantics as defined in the SPARQL 1.1\ndocuments. So the SELECT query would return both graphs.\n3.0 also honors properly the concept of «Unnamed graph». This\ngraph is always used whenever no graph is specified, and always\nskipped if a GRAPH is requested or defined, e.g.:\n3.0 defines the default graph to be the union of the unnamed\ngraph plus all known named graphs. So the last query in the\nexample above would return results from both the unnamed graph\nand graph A. This behavior can be influenced with FROM/FROM NAMED\nsyntax (also newly handled in 3.0)\nIn contrast, 2.x does not distinguish between named and unnamed\ngraphs. The first SELECT query would return a row for the unnamed\ngraph, with ?g being NULL.\n"});