Named graphs are a key concept of Semantic Web architecture in which a set of Resource Description Framework statements (a graph) are identified using a URI,[1] allowing descriptions to be made of that set of statements such as context, provenance information or other such metadata.

Named Graph
StatusPublished
Year started2005; 19 years ago (2005)
EditorsJeremy J. Carroll
Base standardsURI and RDF
Related standardsTriX, TriG, N-Quads
DomainSemantic Web
A named graph

Named graphs are a simple extension of the RDF data model[2] through which graphs can be created but the model lacks an effective means of distinguishing between them once published on the Web at large.

Named graphs and HTTP

edit

One conceptualization of the Web is as a graph of document nodes identified with URIs and connected by hyperlink arcs which are expressed within the HTML documents. By doing an HTTP GET on a URI (usually via a Web browser), a somehow-related document may be retrieved. This "follow your nose" approach also applies to RDF documents on the Web in the form of Linked Data, where typically an RDF syntax is used to express data as a series of statements, and URIs within the RDF point to other resources. This Web of data has been described by Tim Berners-Lee as the "Giant Global Graph".[3]

 
Describing a named graph

Named graphs are a formalization of the intuitive idea that the contents of an RDF document (a graph) on the Web can be considered to be named by the URI of the document. This considerably simplifies techniques for managing chains of provenance for pieces of data and enabling fine-grained access control to the source data. Additionally, trust can be managed through the publisher applying a digital signature to the data in the named graph. (Support for these facilities was originally intended to come from RDF reification, however, that approach proved problematic.[4])

Named graphs and RDF stores

edit

While named graphs may appear on the Web as simple linked documents (i.e. Linked Data), they are also very useful for managing sets of RDF data within an RDF store. In particular, the scope of a SPARQL query may be limited to a specific set of named graphs.

Example

edit

Assume the following (Turtle) RDF document has been placed in a SPARQL-capable store with the name http://example.org/joe.

@prefix foaf: <http://xmlns.com/foaf/0.1/> .

<http://example.org/joe#me> a foaf:Person .
<http://example.org/joe#me> foaf:homepage <http://example.org/joe/index.html> .
<http://example.org/joe#me> foaf:mbox <mailto:joe@example.org> .
<http://example.org/joe#me> foaf:name "Joe Lambda" .

This data has been written in a more verbose form than necessary to show the triple structures

The homepage of the person with the email address mailto:joe@example.org can be obtained using the SPARQL query:

PREFIX foaf: <http://xmlns.com/foaf/0.1/>

SELECT ?homepage

FROM NAMED <http://example.org/joe>

WHERE {
	GRAPH ?g {
		?person foaf:homepage ?homepage .
		?person foaf:mbox <mailto:joe@example.org> .
	}
}

The FROM NAMED here identifies the target graph for the query.

Named graphs and quads

edit

Prior to the publication of the papers describing named graphs, there was considerable discussion about fulfilling their role within a store by using an arity greater than that of RDF triple statements: where triples have the form subject predicate object, quads would have a form along the lines of subject predicate object context. Named graphs can be represented this way, as subject predicate object graphname, with the advantage that the graphname part will be a URI, giving the quad Web-global scope compared to arbitrary local statement names. This way of representing quads resp.[clarification needed] quad-statements was incorporated in the specification of N-Quads.[5]

Formal definition

edit

A paper from the WWW 2005 conference by Carroll et al. includes a formal definition of named graphs.[6]

Specifications

edit

There is currently no specification for named graphs in themselves beyond that described in Carroll et al. (2005)[6] and Carroll and Stickler (2004)[7] (which includes syntaxes for representing named graphs), but they do form part of the SPARQL Protocol and RDF Query Language specification.

Proposed specifications

edit

See also

edit
  • Jeni Tennison (2011-07-05). "What Do URIs Mean Anyway?". Jeni's Musings. Jeni Tennison. Retrieved 6 July 2011.

References

edit
  1. ^ strictly speaking a URIRef
  2. ^ http://www.w3.org/TR/PR-rdf-syntax/ "Resource Description Framework (RDF) Model and Syntax Specification"
  3. ^ Giant Global Graph Archived 2016-07-13 at the Wayback Machine
  4. ^ Reification of RDF and N3
  5. ^ "RDF 1.1 N-Quads".
  6. ^ a b Carroll, Jeremy J.; Bizer, Christian; Hayes, Pat; Stickler, Patrick (2005). "Named graphs". Journal of Web Semantics. 3 (4): 247–267. doi:10.1016/j.websem.2005.09.001.
  7. ^ TriX : RDF Triples in XML