Exemples fichiers RDF et leur équivalent Turtle (TTL)
Éléments de syntaxe de Turtle
Turtle (Terse RDF Triple Language) est, depuis février 2014, un standard approuvé par le W3C recommandation proposée. Il y a aussi une version Turtle du RDF Primer. Cette notation pratique pour les triplets est pratiquement devenu le standard de fait pour la représentation RDF.
Voici les principales règles pour lire ou écrire des triplets en Turtle, plus de détails ici:
- Un triplet simple est une séquence de termes (sujet, prédicat, objet) séparés par des espaces et terminée par un point (.).
- Il y a trois types de termes:
- URI écrit entre < et >; un URI peut aussi s'exprimer par un nom qualifié (QNAME), i.e. précédé par un préfixe défini en utilisant les définitions @prefix, suivi d'un ":" et du reste de l'URI. L'URI complet s'obtient en remplaçant le préfixe par le contenu de sa définition. Un préfixe peut être vide (mais on garde alors le ":");
- littéral entre guillemets ou accolades, possiblement suivie d'une définition de type indiquée par ^^ suivi d'un nom de type souvent de la forme xsd:... pour les types standards de XML Schema;
- noeud vide indiqué par _:nodeId ou un groupe entre crochets (voir plus bas).
- Un préfixe p est défini par @prefix p: URI.
- La virgule répète le sujet et le prédicat de triplets qui ne varient que par l'objet.
p.e. ex:a ex:b ex:c, ex:d. ⇒ ex:a ex:b ex:c. ex:a ex:b ex:d.
- Le point-virgule répète le sujet de triplets qui ne varient que par le prédicat et l'objet
p.e. ex:a ex:b ex:c; ex:d ex:e. ⇒ ex:a ex:b ex:c. ex:a ex:d ex:e.
- Les parenthèses regroupent les éléments d'une collection.
Plus de détails sur la notation pour les noeuds anonymes
Un noeud anonyme pouvant être noté par [], un triplet [] gl:p "o". peut aussi être noté [gl:p "o"]. Cette notation crochet peut être utilisée en position sujet, objet et être combinée avec les virgules ou point-virgules. Le tableau suivant indique à gauche la notation avec crochets et la partie droit indique les triplets équivalents:
[gl:p "o"] . |
_:b1 gl:p "o" . |
[gl:p "o"] gl:q gl:o2 . |
_:b2 gl:p "o". _:b2 gl:q gl:o2 . |
gl:s gl:p [gl:p1 gl:o]. |
gl:s gl:p _:b3 . _:b3 gl:p1 gl:o . |
[gl:p gl:o;gl:p1 "o1"]. |
_:b4 gl:p gl:o . _:b4 gl:p1 "o1" . |
Notes