fragment_downloaded_cb({"url":"tutorial.html#named-graphs","fragment":"Named graphs\nIf SPARQL had a motto, it would be \"Everything is a graph\". Until\nthis point of the tutorial we have been talking about a singular \"graph\",\nthe triple store holds \"a graph\", graph patterns match against \"the graph\",\net cetera.\nThis is not entirely accurate, or rather, it is an useful simplification.\nSPARQL is actually able to work over sets of graphs, or their\nunion/intersection.\nAs with everything that has a name in RDF, URIs are also used to reference\nnamed graphs. The GRAPH clause is used to specify the named graph, in\neither inserts/deletes:\nOr in queries:\nSo what have been doing all these queries up to this point in the tutorial?\nWithout any specified graph, all insertions and deletes happen on an anonymous\ngraph, while all queries happen on a \"default\" graph that Tracker defines as\nthe union of all graphs.\nThese named graphs can exist independently of each other, and they can also\noverlap (e.g. specific RDF triples may exist in more than one graph). This\nmakes it possible to match for specific pieces of data in specific graphs:\nTracker heavily relies on these named graph characteristics for its\nsandboxing support, where the availability of graphs may be restricted.\nIt is also possible to use the GRAPH clause with a variable, making it\npossible to query for the graph(s) where the graph pattern solutions are\nfound:\n"});