Grafo y sintaxis RDF

Estas tripletas forman juntas un grafo RDF. Un grafo con las tripletas de las figuras que muestran una tripleta y que muestran un literal, junto con algunas tripletas adicionales, se muestra en la figura siguiente. La tripleta superior utiliza type como predicado del vocabulario RDF para expresar que joesmith es de tipo Person.

Una sintaxis normativa para serializar RDF es RDF/XML. El grafo RDF de la figura siguiente está escrito en RDF/XML como sigue. Nótese que usa espacios de nombres XML con prefijos definidos al comienzo del documento XML.

      <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>
joe smith rdf

Grafo RDF que describe a Joe Smith

RDF/XML es una sintaxis normativa; sin embargo, también se utilizan otros formatos de serialización. La sintaxis TURTLE y N3 es menos verbosa que RDF/XML y por ello es bastante popular. Notation 3 (N3) está diseñado como un lenguaje legible para datos en la Web que va más allá de RDF (contiene extensiones lógicas y reglas). Terse RDF Triple Language (TURTLE) es un subconjunto de N3 solo para RDF. Para los fines de este texto, estos dos lenguajes son intercambiables. A continuación se muestra un ejemplo de serialización en N3 del grafo de la figura anterior.

      @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> .

La a de la primera tripleta es un atajo sintáctico para rdf:type. Nótese que N3 es similar a la forma lineal de la serialización de grafos conceptuales. En el resto de este texto usaremos principalmente la notación N3/TURTLE al expresar RDF. La misma sintaxis se usa para el lenguaje de consulta RDF SPARQL.