###LISTE ET RESUME DES FORMATS DE SERIALISATION RDF SUPPORTES PAR BLAZEGRAPH### ##RDF/XML (.rdf): Expression d'un graphe RDF sous la forme d'un document XML. Historiquement, le premier standard de sérialisation RDF. Toujours utilisé, mais d'autres formats sont préférés, car il n'est pas très lisible pour les humains + certains graphes ne sont pas représentables en RDF/XML à cause de restrictions dûes à la syntaxe XML. Les triplets sont contenus dans des noeuds , avec un sous-noeud pour chaque prédicat et sa valeur. Exemple: Tony Benn Wikipedia ##Notation3 (.n3): Sérialisation non-XML: plus compacte, simple et lisible que RDF/XML. Possibilité d'imbriquer les déclarations. Possibilité d'exprimer des règles logiques (ex: implémentation d'une implication: { :thermostat :temp :high } log:implies { :heating :power "0" } . ) "has an expressive power that goes much beyond RDF". https://www.w3.org/2000/10/swap/doc/Overview.html : tutoriel N3. Exemple: (le même que pour RDF/XML) @prefix dc: . dc:title "Tony Benn"; dc:publisher "Wikipedia". ##Turtle (.ttl): Sous-ensemble de Notation3. Ne peut sérialiser que des graphes RDF valides. Impossible d'exprimer des règles logiques. Plus lisible et facile à éditer: possibilité d'utiliser des raccourcis et des URIs relatifs. SPARQL a une syntaxe similaire à Turtle. Exemple: @prefix rdf: . @prefix dc: . @prefix ex: . dc:title "RDF/XML Syntax Specification (Revised)" ; ex:editor [ ex:fullname "Dave Beckett"; ex:homePage ] . Turtle-RDR: "An extended syntax for TURTLE that permits easy interchange of statements about statements". ##N-Triples (.nt): Sous-ensemble de Turtle. Conçu pour être plus simple que Notation3 & Turtle afin d'être plus facile à parser & à générer pour des programmes. Ne possède pas de système de raccourcis, ce qui peut entraîner des URI très longues et rendre le fichier moins lisible et moins compact. Exemple: . "N-Triples"@en-US . _:art . _:dave . _:art . _:art "Art Barstow". _:dave . _:dave "Dave Beckett". N-Triples-RDR: concept analogue à Turtle-RDR. ##N-Quads (.nq): Extension de N-Triple ayant une quatrième valeur optionnelle informant sur le contexte du triplet (souvent le label du graphe), qui devient donc un quadruplet. Exemple: . _:subject1 "object1" . _:subject2 "object2" . ###JSON (.json): Pas un format standard officiel. Format de données textuelles dérivé de la notation des objets en Javascript, utilisable par des appications Javascript. Triplet RDF sérialisé sous la forme d'une série de structures de données imbriquées. Un document JSON contient un unique objet appelé la racine. Chaque sujet est représenté sous la forme d'une clé unique dans la racine. Les valeurs de chaque clé de la racine sont d'autres objets JSON, dont les clés uniques sont les URIs des prédicats correspondants. La valeur de chaque clé de prédicat est un array d'objets JSON représentant l'objet de chaque triplet sérialisé. En général, un triplet est alors représenté sous la forme suivante: { "S" : { "P" : [ O ] } } où O est un objet JSON avec comme clés le type ('uri', 'litteral' ou 'bnode'), la valeur, la langue (optionnelle) et le type de donnée (optionnel). Exemple: { "http://example.org/about" : { "http://purl.org/dc/terms/title" : [ { "value" : "Anna's Homepage", "type" : "literal", "lang" : "en" }, { "value" : "Annas hjemmeside", "type" : "literal", "lang" : "da" } ] } } qui est équivalent en N-Triples à: "Anna's Homepage"@en . "Annas hjemmeside"@da . ##TriX (.trix): Format XML offrant une alternative compacte et lisible, développé par HP labs & Nokia. Est compatible avec les outils XML (XML Schema Structures, les DTDs, XPath, XSLT). Possibilité de nommer les graphes avec une URI optionnelle positionnée avant les triplets d'un graphe. Exemple: http://example.org/graph1 http://example.org/Bob http://example.org/wife http://example.org/Mary http://example.org/Bob http://example.org/name Bob http://example.org/Mary http://example.org/age 32 ##TriG (.trig): Alternative à TriX. Sous-ensemble de Turtle. Un graphe est ici représenté par une paire composée d'un IRI ou d'un blank node label et d'un groupe de triplets encapsulé par des accolades. L'IRI ou le blank node label de la déclaration du graphe peut être réutilisé dans une autre déclaration de graphe: cela implique de prendre l'union des 2 graphes. Exemple: @prefix rdf: . @prefix dc: . @prefix foaf: . # default graph - no {} used. dc:publisher "Bob" . dc:publisher "Alice" . # GRAPH keyword to highlight a named graph # Abbreviation of triples using ; GRAPH { [] foaf:name "Bob" ; foaf:mbox ; foaf:knows _:b . } GRAPH { _:b foaf:name "Alice" ; foaf:mbox }