RDF Graph and Syntax
These triples together form RDF graph. A graph with the triples from figures
showing triple and showing literal and with some additional triples are shown in the figure
below. The top triple uses type
as a predicate from RDF
vocabulary to express that joesmith
is of type
Person
.
A normative syntax for serializing RDF is RDF/XML. The RDF graph from the figure below is written in RDF/XML as follows. Note that it uses XML namespaces with prefixes defined in the beginning of the XML document.
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns="http://www.example.org/~joe/contact.rdf#"> <foaf:Person rdf:about= "http://www.example.org/~joe/contact.rdf#joesmith"> <foaf:mbox rdf:resource="mailto:joe.smith@example.org"/> <foaf:homepage rdf:resource="http://www.example.org/~joe/"/> <foaf:family_name>Smith</foaf:family_name> <foaf:givenname>Joe</foaf:givenname> </foaf:Person> </rdf:RDF>
RDF graph describing Joe Smith
RDF/XML is a normative syntax, however, other serialization formats are used as well. The TURTLE and N3 syntax is less verbose than RDF/XML and so is quite popular. The Notation 3 (N3) is designed as a readable language for data on the Web that goes beyond RDF (it contains logical extensions and rules). The Terse RDF Triple Language (TURTLE) is a RDF-only subset of N3. For the purposes of this text these two languages are interchangeable. An example of N3 serialization of the graph from the figure above follows.
@prefix : <http://www.example.org/~joe/contact.rdf#> . @prefix foaf: <http://xmlns.com/foaf/0.1/> . @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . :joesmith a foaf:Person ; foaf:givenname "Joe" ; foaf:family_name "Smith" ; foaf:homepage <http://www.example.org/~joe/> ; foaf:mbox <mailto:joe.smith@example.org> .
The a
in the first triple is a syntactic shortcut for
rdf:type
. Note that it N3 is similar to the linear form of
conceptual graphs serialization. In the rest of this text we will use
primarily the N3/TURTLE notation when expressing RDF. The same syntax is used
for SPARQL RDF
querying language.
(c) Marek Obitko, 2007 - Terms of use