Lisez-moi S.V.P. 
W3C

Jeux d'essais RDF

Recommandation du W3C du 10 février 2004

Cette version :
http://www.w3.org/TR/2004/REC-rdf-testcases-20040210/
Dernière version :
http://www.w3.org/TR/rdf-testcases/
Version précédente :
http://www.w3.org/TR/2003/PR-rdf-testcases-20031215/
Rédacteurs :
Jan Grant, (ILRT, University of Bristol)
Dave Beckett, (ILRT, University of Bristol)
Rédacteur de la série :
Brian McBride (Hewlett Packard Labs)

Veuillez consulter la page des errata→vf de ce document, laquelle peut contenir des corrections normatives.

Cf. également d'éventuelles traductions.


Résumé

Ce document décrit le module livrable (deliverable) des jeux d'essais (test cases) RDF du groupe de travail RDF Core, comme défini dans la charte du groupe de travail.

Statut de ce document

Ce document a été examiné par les membres du W3C et des tiers intéressés et il a été approuvé par le Directeur comme recommandation du W3C. Le rôle du W3C en produisant la recommandation est d'attirer l'attention sur la spécification et d'en promouvoir le large déploiement. Cela participe à la fonctionnalité et à l'interopérabilité du Web.

Ce document fait partie d'un ensemble de six (Initiation, Concepts, Syntaxe, Sémantique, Vocabulaire et Jeux d'essais) destinés à remplacer conjointement les spécifications RDF originales, à savoir Modèle et syntaxe RDF (recommandation de 1999) et Schéma RDF (recommandation candidate de 2000). Il a été développé par le groupe de travail RDF Core sous l'égide de l'activité Semantic Web du W3C (déclaration d'activité, charte du groupe) pour une publicaiton le 10 février 2004.

Les changements effectués sur ce document depuis le projet de recommandation proposée sont détaillés dans le journal des changements.

Le public est invité à envoyer ses commentaires sur la liste de diffusion www-rdf-comments@w3.org (archives) et à discuter des questions générales de la technologie liée sur www-rdf-interest@w3.org (archives).

Une liste de mises en œuvre est disponible.

Le W3C tient une liste des divulgations de brevets en rapport à ce travail.

Cette section décrit le statut de ce document au moment de sa publication. D'autres documents peuvent venir le remplacer. On trouvera une liste des publications courantes du W3C et la dernière révision de ce rapport technique dans l'index des rapports techniques du W3C à http://www.w3.org/TR/.

Table des matières


1. Introduction

Parmi les livrables (deliverables) spécifiés dans la charte du groupe de travail RDF Core, il y a « un ensemble de jeux d'essais exploitables en machine (machine-processable) correspondant aux problèmes techniques traités par le groupe de travail ». Ce document décrit les jeux d'essais qui satisfont à ce livrable mais ne contient pas les jeux d'essais en question. Ceux-ci sont disponibles à http://www.w3.org/2000/10/rdf-tests/rdfcore/.

Le groupe d'intérêt RDF et d'autres membres de la communauté RDF ont identifié des problèmes ou ambiguïtés dans la spécification [RDFMS] et la recommandation candidate [RDF-SCHEMA]. Ces problèmes ont été rassemblés et catégorisés dans le document de suivi des problèmes du groupe de travail RDF Core. Le groupe de travail RDF Core utilise cette liste de problèmes pour guider ses travaux. La liste des problèmes est un document de travail, réactualisé au fur et à mesure que de nouveaux problèmes sont identifiés. Sa mise à jour intervient lors des prises de décisions du groupe de travail, comme documenté à la section À l'attention des développeurs du document de suivi.

La spécification complète de RDF se compose de plusieurs documents :

1.1. Portée

Une suite de tests approfondis et complets pour RDF devrait couvrir toutes les règles édictées dans la grammaire formelle de RDF. Toutefois, la mission du groupe de travail n'est pas de livrer une telle suite de tests mais plutôt de créer des jeux d'essais pour les problèmes qu'il traite (le cas échéant). Même si le groupe de travail ne crée pas de jeux d'essais pour certaines règles de grammaire (par exemple, la règle [6.1]), si de tels jeux d'essais sont donnés au W3C, le consortium peut les ajouter à cet ensemble de jeux d'essais.

1.2. Errata RDF

L'errata RDF documente les erreurs connues dans [RDFMS]. Puisque les errata sont considérés comme des changements normatifs d'une spécification du W3C et que les décisions du groupe de travail ne sont pas normatives tant qu'une spécification n'est pas une recommandation du W3C, aucune des décisions prises par le groupe de travail RDF Core n'a été répercutée (à ce jour) dans l'errata.

2. Jeux d'essais

Le référentiel de jeux d'essais (test case repository) [REPOSITORY] renferme des sous-répertoires, chacun contenant les jeux d'essais dédiés à un seul problème. Chaque répertoire contient un fichier de manifeste (manifest file) décrivant les tests dans ce répertoire. Si le processus de suivi des problèmes RDF [ISSUES] est à la source du problème, le manifeste le mentionnera.

Le référentiel de jeux d'essais contient des fichiers ZIP de tous les jeux d'essais approuvés [APPROVED] ainsi qu'une archive ZIP de tous les jeux d'essais approuvés et non approuvés [FULLTESTS].

Le fichier Manifest [MANIFEST] contient un manifeste exploitable en machine (machine-readable) des jeux d'essais. Le format de ce fichier est décrit ci-dessous.

2.1. Organisation

Le fichier de manifeste [MANIFEST] contient une description exploitable en machine des jeux d'essais en RDF/XML. Des précautions ont été prises afin de s'assurer que ce fichier suive un format simple pour assister le traitement en machine des jeux d'essais.

Le fichier se compose d'un en-tête (header) simple [MANIFEST-HEAD], des descriptions individuelles des jeux d'essais et d'un bas de page de fermeture (closing footer) [MANIFEST-TAIL].

Les jeux d'essais se rangent dans les catégories suivantes :

Tests d'analyseur positifs (positive parser tests)
Ces tests sont constitués d'un ou de plusieurs documents d'entrée en RDF/XML comme corrigé dans [RDF-SYNTAX]. Le résultat attendu est défini à l'aide de la syntaxe N-Triples (section 3). Un analyseur est considéré comme passant le test s'il produit un graphe équivalent au graphe décrit par le document de sortie N-Triples, conformément à la définition d'équivalence de graphe donnée dans [RDF-CONCEPTS]. Lorsque le ou les documents d'entrée sont du RDF/XML légal et qu'une alerte peut être générée, le manifeste des tests l'indique.
<test:PositiveParserTest rdf:about="http://w3.example.org/test001">

   <test:issue rdf:resource="http://w3.example.org/rdf-tracking/#example1" />
   <test:status>APPROVED</test:status>
   <test:approval rdf:resource="http://rdfcore.example.org/archives/001.html" />
   <test:description>
    This is a simple positive parser test example.
   </test:description>

   <test:inputDocument>
      <test:RDF-XML-Document rdf:about="http://w3.example.org/test001.rdf" />
   </test:inputDocument>

   <test:outputDocument>
      <test:NT-Document rdf:about="http://w3.example.org/test001.nt" />
   </test:outputDocument>

   <test:warning>Some parsers may produce a warning when running this test</test:warning>

</test:PositiveParserTest>
Tests d'analyseur négatifs (negative parser tests)
Ces tests sont constitués d'un seul document d'entrée. Le document n'est pas du RDF/XML légal. Un analyseur est considéré comme passant le test s'il interprète correctement le document d'entrée comme étant erroné.
<test:NegativeParserTest rdf:about="http://w3.example.org/error001">

   <test:issue rdf:resource="http://w3.example.org/rdf-tracking/#example1" />
   <test:status>APPROVED</test:status>

   <test:inputDocument>
      <test:RDF-XML-Document rdf:about="http://w3.example.org/error001.rdf" />
   </test:inputDocument>

</test:NegativeParserTest>
Tests d'implication positifs
Ces tests sont indiqués par un ou plusieurs documents de prémisses (premise document), en RDF/XML ou N-Triples, avec un document d'une seule conclusion. En outre, les règles utilisées pour déterminer l'implication sont indiquées par des éléments <test:entailmentRules>. Si l'élément suivant est présent :
 <test:entailmentRules rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#" />
alors le test réussit si l'implication se vérifie conformément aux règles d'implication RDF (RDF-entailment), comme défini dans [RDF-SEMANTICS]. Si les deux éléments suivants sont présents :
<test:entailmentRules rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#" />
<test:entailmentRules rdf:resource="http://www.w3.org/2000/01/rdf-schema#" />
alors le test réussit si l'implication se vérifie conformément aux règles d'implication RDFS (RDFS-entailement), comme défini dans [RDF-SEMANTICS]. Pour les jeux d'essais utilisant une implication simple (simple entailment), on utilise le marqueur suivant :
<test:entailmentRules rdf:resource="http://www.w3.org/2000/10/rdf-tests/rdfcore/testSchema#simpleEntailment" />
<test:PositiveEntailmentTest rdf:about="http://w3.example.org/rdfs-domain-and-range/conjunction-test">

   <test:description>
    This test demonstrates the conjunctive nature of range and domain.
   </test:description>

   <test:entailmentRules rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#" />
   <test:entailmentRules rdf:resource="http://www.w3.org/2000/01/rdf-schema#" />

   <test:premiseDocument>
      <test:NT-Document rdf:about="http://w3.example.org/rdfs-domain-and-range/test001.nt" />
   </test:premiseDocument>

   <test:premiseDocument>
      <test:NT-Document rdf:about="http://w3.example.org/rdfs-domain-and-range/test002.nt" />
   </test:premiseDocument>

   <test:premiseDocument>
      <test:NT-Document rdf:about="http://w3.example.org/rdfs-domain-and-range/test003.nt" />
   </test:premiseDocument>

   <test:conclusionDocument>
      <test:NT-Document rdf:about="http://w3.example.org/rdfs-domain-and-range/test004.nt" />
   </test:conclusionDocument>

</test:PositiveEntailmentTest>

Conformément à la spécification [RDF-SEMANTICS], un document de prémisses qui contient une erreur sémantique par rapport à une contrainte imposée par les règles d'implication sélectionnées sera erroné (false) dans toute interprétation (et donc implique toute chose).

La prise en charge de ces situations est donnée par le format de manifeste en déclarant un pseudo-document de prémisses ou de conclusion comme suit :

   <test:conclusionDocument>
      <test:False-Document/>
   </test:conclusionDocument>

Par convention, un tel pseudo-document est dit ressortir faux sous toute interprétation.

Test d'implication négatifs
Ces tests sont indiqués en utilisant une structure similaire à celle des tests d'implication positifs, avec l'élément <test:NegativeEntailmentTest> employé à la place de <test:PositiveEntailmentTest>. Le test échoue si la conclusion peut être établie à partir des prémisses en utilisant les règles d'implication RDF ou RDFS. Le test est considéré comme étant passé lorsqu'on peut démontrer de manière formelle (conclusively) que la conclusion ne peut être établie ainsi. En pratique, le test peut être considéré comme étant passé lorsqu'une tentative assidue de faire échouer le test est incapable d'obtenir l'échec.
<test:NegativeEntailmentTest rdf:about="http://w3.example.org/statement-entailment/test001">

   <test:status>PENDING</test:status>
   <test:approval rdf:resource="http://rdfcore.example.org/Archives/Public/w3c-rdfcore-wg/2002Feb/0476.html" />
   <test:description>
     RDF Core WG RESOLVED that a reified statement was a stating, not a statement.
     The following entailment does not, therefore, hold.
   </test:description>

   <test:entailmentRules rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#" />
   <test:entailmentRules rdf:resource="http://www.w3.org/2000/01/rdf-schema#" />

   <test:premiseDocument>
      <test:NT-Document rdf:about="http://w3.example.org/statement-entailment/test001a.nt" />
   </test:premiseDocument>

   <test:conclusionDocument>
      <test:NT-Document rdf:about="http://w3.example.org/statement-entailment/test001b.nt" />
   </test:conclusionDocument>

</test:NegativeEntailmentTest>
Tests d'implication avec type de données (datatype-aware entailment tests)
Les jeux d'essais d'implication peuvent en outre nécessiter une gestion des types de données. Une telle exigence est indiquée dans le manifeste par la présence de l'élément <test:entailmentRules> ci-dessous, suivi de zéro ou plus entrées <test:datatypeSupport>.
   <test:entailmentRules rdf:resource="http://www.w3.org/2000/10/rdf-tests/rdfcore/datatypes#" />
   <test:datatypeSupport rdf:resource="http://www.w3.org/2001/XMLSchema#integer" />
   <test:datatypeSupport rdf:resource="http://dt.example.org/datatype#foo" />
Pour les besoins de la suite de tests, si un jeu d'essais impose la gestion des types de données pour un ensemble de types de données { T, U, V, ... }, alors les trois points suivants du mécanisme sont nécessaires :
Tests divers
Cette entrée de manifeste sert à décrire les jeux d'essais qui ne tombent pas dans les catégories précédentes. Plusieurs fichiers peuvent lui être associés, indiqués dans des éléments <test:document>.
<test:MiscellaneousTest rdf:about="http://w3.example.org/misc001">

   <test:status>PENDING</test:status>
   <test:description>
     A serializer asked to output the graph described in the test001
     document should raise an exception since it cannot be described using
     RDF/XML.
   </test:description>

   <test:document>
      <test:NT-Document rdf:about="http://w3.example.org/nonserializable/test001.nt" />
   </test:document>

</test:MiscellaneousTest>

En outre, chaque description de jeu d'essais peut comporter les attributs communs suivants :

2.2. Jeux d'essais approuvés

Les jeux d'essais du tableau suivant ont été approuvés.

Il y a 22 problèmes contenant 157 jeux d'essais approuvés, et 57 jeux d'essais sans problème associé. Les adresses URL relatives listées dans ce tableau se résolvent par rapport à l'adresse URI de base http://www.w3.org/2000/10/rdf-tests/rdfcore/
Jeux d'essais sans problème : 57 tests
Tests d'analyseur positifs (jeux d'essais : 15)
Fichiers d'entréeFichier de sortieAvertissement ?Approuvé
amp-in-url/test001.rdfamp-in-url/test001.nt RDFCore Telecon 2001-09-21
datatypes/test001.rdfdatatypes/test001.nt RDFCore Telecon 2002-11-22
datatypes/test002.rdfdatatypes/test002.nt RDFCore Telecon 2002-11-22
rdf-element-not-mandatory/test001.rdfrdf-element-not-mandatory/test001.nt RDFCore Telecon 2003-10-03
rdfms-reification-required/test001.rdfrdfms-reification-required/test001.nt RDFCore Telecon 2003-01-10
rdfms-uri-substructure/test001.rdfrdfms-uri-substructure/test001.nt RDFCore Telecon 2003-01-10
rdfms-xmllang/test001.rdfrdfms-xmllang/test001.nt RDFCore Telecon 2002-06-07
rdfms-xmllang/test002.rdfrdfms-xmllang/test002.nt RDFCore Telecon 2002-06-07
rdfms-xmllang/test003.rdfrdfms-xmllang/test003.nt RDFCore Telecon 2002-06-07
rdfms-xmllang/test004.rdfrdfms-xmllang/test004.nt RDFCore Telecon 2002-06-07
rdfms-xmllang/test005.rdfrdfms-xmllang/test005.nt RDFCore Telecon 2002-06-07
rdfms-xmllang/test006.rdfrdfms-xmllang/test006.nt RDFCore Telecon 2003-01-10
unrecognised-xml-attributes/test001.rdfunrecognised-xml-attributes/test001.nt RDFCore Telecon 2002-01-18
unrecognised-xml-attributes/test002.rdfunrecognised-xml-attributes/test002.nt RDFCore Telecon 2002-01-18
xml-canon/test001.rdfxml-canon/test001.nt RDFCore Telecon 2003-08-08
Tests d'analyseur négatifs (jeux d'essais : 9)
Fichier d'entréeApprouvé
rdfms-abouteach/error001.rdfRDFCore Telecon 2003-01-10
rdfms-abouteach/error002.rdfRDFCore Telecon 2003-01-10
rdfms-rdf-id/error001.rdfRDFCore Telecon 2003-01-10
rdfms-rdf-id/error002.rdfRDFCore Telecon 2003-01-10
rdfms-rdf-id/error003.rdfRDFCore Telecon 2003-01-10
rdfms-rdf-id/error004.rdfRDFCore Telecon 2003-01-10
rdfms-rdf-id/error005.rdfRDFCore Telecon 2003-01-10
rdfms-rdf-id/error006.rdfRDFCore Telecon 2003-01-10
rdfms-rdf-id/error007.rdfRDFCore Telecon 2003-01-10
Tests d'implication positifs (jeux d'essais : 16)
RèglesFichiers de prémissesFichier de conclusionAvertissement ?Approuvé
RDF + RDFS + DT(xsd:integer, xsd:string)datatypes-intensional/test002.ntFALSE RDFCore Telecon 2003-09-05
RDF + RDFSdatatypes/test002.ntdatatypes/test002.nt RDFCore Telecon 2002-11-22
RDF + RDFS + DT(xsd:string)datatypes/test011a.ntdatatypes/test011b.nt RDFCore Telecon 2003-08-29
RDF + RDFS + DT(xsd:decimal, xsd:string)datatypes/test006.ntFALSE RDFCore Telecon 2003-01-10
RDF + DT(xsd:decimal, xsd:integer)datatypes/test005a.ntdatatypes/test005b.nt RDFCore Telecon 2003-01-10
RDF + DT(xsd:integer)datatypes/test003a.ntdatatypes/test003b.nt RDFCore Telecon 2002-11-22
RDF + DT(xsd:integer)datatypes/test003b.ntdatatypes/test003a.nt RDFCore Telecon 2002-11-22
datatypes/test008a.ntdatatypes/test008b.nt RDFCore Telecon 2002-10-11
RDF + RDFS + DT(rdf:XMLLiteral)datatypes/test010.ntFALSE RDFCore Telecon 2002-10-11
RDF + RDFSpfps-10/test001a.ntpfps-10/test001b.nt Editorial fix for issue PFPS-10
RDF + RDFSrdfms-seq-representation/empty.ntrdfms-seq-representation/test002.nt RDFCore Telecon 2003-01-10
RDF + RDFSrdfms-seq-representation/test003a.ntrdfms-seq-representation/test003b.nt RDFCore Telecon 2003-01-10
RDF + RDFSrdfms-seq-representation/empty.ntrdfms-seq-representation/test004.nt RDFCore Telecon 2003-01-10
RDFtex-01/test001.rdftex-01/test002.rdf RDFCore Telecon 2003-07-18
RDFtex-01/test002.rdftex-01/test001.rdf RDFCore Telecon 2003-07-18
RDF + RDFS + DT(xsd:int)xmlsch-02/test001.rdfxmlsch-02/test003.rdf RDFCore Telecon 2003-07-18
Tests d'implication négatifs (jeux d'essais : 16)
RèglesFichiers de prémissesFichier de conclusionAvertissement ?Approuvé
RDF + RDFS + DT(xsd:decimal, xsd:integer)datatypes-intensional/test001.ntFALSE RDFCore Telecon 2003-09-05
RDF + RDFS + DT(xsd:integer)datatypes/test002.ntdatatypes/test002b.nt RDFCore Telecon 2002-11-22
datatypes/test009a.ntdatatypes/test009b.nt RDFCore Telecon 2002-10-11
RDF + RDFShorst-01/test001.rdfhorst-01/test002.rdf RDFCore Telecon 2003-07-18
RDF + RDFShorst-01/test003.rdfhorst-01/test004.rdf RDFCore Telecon 2003-07-18
rdfms-xmllang/test007a.ntrdfms-xmllang/test007b.nt RDFCore Telecon 2003-01-10
rdfms-xmllang/test007b.ntrdfms-xmllang/test007c.nt RDFCore Telecon 2003-01-10
rdfms-xmllang/test007c.ntrdfms-xmllang/test007a.nt RDFCore Telecon 2003-01-10
RDF + RDFSrdfs-container-membership-superProperty/not1P.rdfrdfs-container-membership-superProperty/not1C.rdf RDFCore Telecon 2003-01-10
RDFstatement-entailment/test001a.ntstatement-entailment/test001b.nt RDFCore Telecon 2002-02-15
RDFstatement-entailment/test002a.ntstatement-entailment/test002b.nt RDFCore Telecon 2002-02-15
RDF + RDFSstatement-entailment/test001a.ntstatement-entailment/test001b.nt RDFCore Telecon 2002-02-15
RDF + RDFSstatement-entailment/test002a.ntstatement-entailment/test002b.nt RDFCore Telecon 2002-02-15
RDF + RDFS + DT(xsd:int)xmlsch-02/test001.rdfxmlsch-02/test002.rdf RDFCore Telecon 2003-07-18
RDF + RDFS + DT(xsd:int)xmlsch-02/test002.rdfxmlsch-02/test001.rdf RDFCore Telecon 2003-07-18
RDF + RDFS + DT(xsd:int)xmlsch-02/test002.rdfxmlsch-02/test003.rdf RDFCore Telecon 2003-07-18
Tests divers (jeux d'essais : 1)
Documents liésApprouvé
rdfms-uri-substructure/error001.ntRDFCore Telecon 2003-01-10
Problème : rdf-charmod-literals a 1 test
Tests d'analyseur positifs (jeux d'essais : 1)
Fichiers d'entréeFichier de sortieAvertissement ?Approuvé
rdf-charmod-literals/test001.rdfrdf-charmod-literals/test001.nt RDFCore Telecon 2002-04-05
Problème : rdf-charmod-uris a 4 tests
Tests d'analyseur positifs (jeux d'essais : 2)
Fichiers d'entréeFichier de sortieAvertissement ?Approuvé
rdf-charmod-uris/test001.rdfrdf-charmod-uris/test001.nt RDFCore Telecon 2002-04-26
rdf-charmod-uris/test002.rdfrdf-charmod-uris/test002.nt RDFCore Telecon 2002-04-26
Tests d'implication négatifs (jeux d'essais : 2)
RèglesFichiers de prémissesFichier de conclusionAvertissement ?Approuvé
RDFrdf-charmod-uris/test001.rdfrdf-charmod-uris/test002.rdf RDFCore Telecon 2002-04-26
RDFrdf-charmod-uris/test002.rdfrdf-charmod-uris/test001.rdf RDFCore Telecon 2002-04-26
Problème : rdf-containers-syntax-vs-schema a 9 tests
Tests d'analyseur positifs (jeux d'essais : 7)
Fichiers d'entréeFichier de sortieAvertissement ?Approuvé
rdf-containers-syntax-vs-schema/test001.rdfrdf-containers-syntax-vs-schema/test001.nt RDFCore Telecon 2001-06-29
rdf-containers-syntax-vs-schema/test002.rdfrdf-containers-syntax-vs-schema/test002.nt RDFCore Telecon 2001-06-29
rdf-containers-syntax-vs-schema/test003.rdfrdf-containers-syntax-vs-schema/test003.nt RDFCore Telecon 2001-06-29
rdf-containers-syntax-vs-schema/test004.rdfrdf-containers-syntax-vs-schema/test004.nt RDFCore Telecon 2001-06-29
rdf-containers-syntax-vs-schema/test006.rdfrdf-containers-syntax-vs-schema/test006.nt RDFCore Telecon 2001-06-29
rdf-containers-syntax-vs-schema/test007.rdfrdf-containers-syntax-vs-schema/test007.nt RDFCore Telecon 2001-06-29
rdf-containers-syntax-vs-schema/test008.rdfrdf-containers-syntax-vs-schema/test008.nt RDFCore Telecon 2001-06-29
Tests d'analyseur négatifs (jeux d'essais : 2)
Fichier d'entréeApprouvé
rdf-containers-syntax-vs-schema/error001.rdfRDFCore Telecon 2001-06-29
rdf-containers-syntax-vs-schema/error002.rdfRDFCore Telecon 2001-11-30
Problème : rdf-ns-prefix-confusion a 11 tests
Tests d'analyseur positifs (jeux d'essais : 11)
Fichiers d'entréeFichier de sortieAvertissement ?Approuvé
rdf-ns-prefix-confusion/test0001.rdfrdf-ns-prefix-confusion/test0001.nt RDFCore Telecon 2001-05-25
rdf-ns-prefix-confusion/test0003.rdfrdf-ns-prefix-confusion/test0003.nt RDFCore Telecon 2001-05-25
rdf-ns-prefix-confusion/test0004.rdfrdf-ns-prefix-confusion/test0004.nt RDFCore Telecon 2001-05-25
rdf-ns-prefix-confusion/test0005.rdfrdf-ns-prefix-confusion/test0005.nt RDFCore Telecon 2001-05-25
rdf-ns-prefix-confusion/test0006.rdfrdf-ns-prefix-confusion/test0006.nt RDFCore Telecon 2001-05-25
rdf-ns-prefix-confusion/test0009.rdfrdf-ns-prefix-confusion/test0009.nt RDFCore Telecon 2001-05-25
rdf-ns-prefix-confusion/test0010.rdfrdf-ns-prefix-confusion/test0010.nt RDFCore Telecon 2001-05-25
rdf-ns-prefix-confusion/test0011.rdfrdf-ns-prefix-confusion/test0011.nt RDFCore Telecon 2001-05-25
rdf-ns-prefix-confusion/test0012.rdfrdf-ns-prefix-confusion/test0012.nt RDFCore Telecon 2001-05-25
rdf-ns-prefix-confusion/test0013.rdfrdf-ns-prefix-confusion/test0013.nt RDFCore Telecon 2001-05-25
rdf-ns-prefix-confusion/test0014.rdfrdf-ns-prefix-confusion/test0014.nt RDFCore Telecon 2001-05-25
Problème : rdfms-difference-between-ID-and-about a 4 tests
Tests d'analyseur positifs (jeux d'essais : 3)
Fichiers d'entréeFichier de sortieAvertissement ?Approuvé
rdfms-difference-between-ID-and-about/test1.rdfrdfms-difference-between-ID-and-about/test1.nt RDFCore Telecon 2001-12-14
rdfms-difference-between-ID-and-about/test2.rdfrdfms-difference-between-ID-and-about/test2.nt RDFCore Telecon 2003-01-10
rdfms-difference-between-ID-and-about/test3.rdfrdfms-difference-between-ID-and-about/test3.nt RDFCore Telecon 2003-01-10
Tests d'analyseur négatifs (jeux d'essais : 1)
Fichier d'entréeApprouvé
rdfms-difference-between-ID-and-about/error1.rdfRDFCore Telecon 2001-12-14
Problème : rdfms-duplicate-member-props a 1 test
Tests d'analyseur positifs (jeux d'essais : 1)
Fichiers d'entréeFichier de sortieAvertissement ?Approuvé
rdfms-duplicate-member-props/test001.rdfrdfms-duplicate-member-props/test001.nt RDFCore Telecon 2002-05-03
Problème : rdfms-empty-property-elements a 20 tests
Tests d'analyseur positifs (jeux d'essais : 17)
Fichiers d'entréeFichier de sortieAvertissement ?Approuvé
rdfms-empty-property-elements/test001.rdfrdfms-empty-property-elements/test001.nt RDFCore Telecon 2001-05-25
rdfms-empty-property-elements/test002.rdfrdfms-empty-property-elements/test002.nt RDFCore Telecon 2001-05-25
rdfms-empty-property-elements/test003.rdfrdfms-empty-property-elements/test003.nt RDFCore Telecon 2001-05-25
rdfms-empty-property-elements/test004.rdfrdfms-empty-property-elements/test004.nt RDFCore Telecon 2001-05-25
rdfms-empty-property-elements/test005.rdfrdfms-empty-property-elements/test005.nt RDFCore Telecon 2001-05-25
rdfms-empty-property-elements/test006.rdfrdfms-empty-property-elements/test006.nt RDFCore Telecon 2001-05-25
rdfms-empty-property-elements/test007.rdfrdfms-empty-property-elements/test007.nt RDFCore Telecon 2001-05-25
rdfms-empty-property-elements/test008.rdfrdfms-empty-property-elements/test008.nt RDFCore Telecon 2001-05-25
rdfms-empty-property-elements/test009.rdfrdfms-empty-property-elements/test009.nt RDFCore Telecon 2001-05-25
rdfms-empty-property-elements/test010.rdfrdfms-empty-property-elements/test010.nt RDFCore Telecon 2001-05-25
rdfms-empty-property-elements/test011.rdfrdfms-empty-property-elements/test011.nt RDFCore Telecon 2001-05-25
rdfms-empty-property-elements/test012.rdfrdfms-empty-property-elements/test012.nt RDFCore Telecon 2001-05-25
rdfms-empty-property-elements/test013.rdfrdfms-empty-property-elements/test013.nt RDFCore Telecon 2001-05-25
rdfms-empty-property-elements/test014.rdfrdfms-empty-property-elements/test014.nt RDFCore Telecon 2001-05-25
rdfms-empty-property-elements/test015.rdfrdfms-empty-property-elements/test015.nt RDFCore Telecon 2001-05-25
rdfms-empty-property-elements/test016.rdfrdfms-empty-property-elements/test016.nt RDFCore Telecon 2003-01-10
rdfms-empty-property-elements/test017.rdfrdfms-empty-property-elements/test017.nt RDFCore Telecon 2003-01-10
Tests d'analyseur négatifs (jeux d'essais : 3)
Fichier d'entréeApprouvé
rdfms-empty-property-elements/error001.rdfRDFCore Telecon 2001-05-25
rdfms-empty-property-elements/error002.rdfRDFCore Telecon 2001-05-25
rdfms-empty-property-elements/error003.rdfRDFCore Telecon 2001-05-25
Problème : rdfms-identity-anon-resources a 5 tests
Tests d'analyseur positifs (jeux d'essais : 5)
Fichiers d'entréeFichier de sortieAvertissement ?Approuvé
rdfms-identity-anon-resources/test001.rdfrdfms-identity-anon-resources/test001.nt RDFCore Telecon 2001-10-19
rdfms-identity-anon-resources/test002.rdfrdfms-identity-anon-resources/test002.nt RDFCore Telecon 2001-10-19
rdfms-identity-anon-resources/test003.rdfrdfms-identity-anon-resources/test003.nt RDFCore Telecon 2001-10-19
rdfms-identity-anon-resources/test004.rdfrdfms-identity-anon-resources/test004.nt RDFCore Telecon 2001-10-19
rdfms-identity-anon-resources/test005.rdfrdfms-identity-anon-resources/test005.nt RDFCore Telecon 2001-10-19
Problème : rdfms-not-id-and-resource-attr a 4 tests
Tests d'analyseur positifs (jeux d'essais : 4)
Fichiers d'entréeFichier de sortieAvertissement ?Approuvé
rdfms-not-id-and-resource-attr/test001.rdfrdfms-not-id-and-resource-attr/test001.nt RDFCore Telecon 2002-03-15
rdfms-not-id-and-resource-attr/test002.rdfrdfms-not-id-and-resource-attr/test002.nt RDFCore Telecon 2002-03-15
rdfms-not-id-and-resource-attr/test004.rdfrdfms-not-id-and-resource-attr/test004.nt RDFCore Telecon 2002-03-15
rdfms-not-id-and-resource-attr/test005.rdfrdfms-not-id-and-resource-attr/test005.nt RDFCore Telecon 2002-03-15
Problème : rdfms-para196 a 1 test
Tests d'analyseur positifs (jeux d'essais : 1)
Fichiers d'entréeFichier de sortieAvertissement ?Approuvé
rdfms-para196/test001.rdfrdfms-para196/test001.nt RDFCore Telecon 2002-01-11
Problème : rdfms-rdf-names-use a 60 tests
Tests d'analyseur positifs (jeux d'essais : 40)
Fichiers d'entréeFichier de sortieAvertissement ?Approuvé
rdfms-rdf-names-use/test-001.rdfrdfms-rdf-names-use/test-001.nt RDFCore Telecon 2001-11-30
rdfms-rdf-names-use/test-002.rdfrdfms-rdf-names-use/test-002.nt RDFCore Telecon 2001-11-30
rdfms-rdf-names-use/test-003.rdfrdfms-rdf-names-use/test-003.nt RDFCore Telecon 2001-11-30
rdfms-rdf-names-use/test-004.rdfrdfms-rdf-names-use/test-004.nt RDFCore Telecon 2001-11-30
rdfms-rdf-names-use/test-005.rdfrdfms-rdf-names-use/test-005.nt RDFCore Telecon 2001-11-30
rdfms-rdf-names-use/test-006.rdfrdfms-rdf-names-use/test-006.nt RDFCore Telecon 2001-11-30
rdfms-rdf-names-use/test-007.rdfrdfms-rdf-names-use/test-007.nt RDFCore Telecon 2001-11-30
rdfms-rdf-names-use/test-008.rdfrdfms-rdf-names-use/test-008.nt RDFCore Telecon 2001-11-30
rdfms-rdf-names-use/test-009.rdfrdfms-rdf-names-use/test-009.nt RDFCore Telecon 2001-11-30
rdfms-rdf-names-use/test-010.rdfrdfms-rdf-names-use/test-010.nt RDFCore Telecon 2001-11-30
rdfms-rdf-names-use/test-011.rdfrdfms-rdf-names-use/test-011.nt RDFCore Telecon 2001-11-30
rdfms-rdf-names-use/test-012.rdfrdfms-rdf-names-use/test-012.nt RDFCore Telecon 2001-11-30
rdfms-rdf-names-use/test-013.rdfrdfms-rdf-names-use/test-013.nt RDFCore Telecon 2001-11-30
rdfms-rdf-names-use/test-014.rdfrdfms-rdf-names-use/test-014.nt RDFCore Telecon 2001-11-30
rdfms-rdf-names-use/test-015.rdfrdfms-rdf-names-use/test-015.nt RDFCore Telecon 2001-11-30
rdfms-rdf-names-use/test-016.rdfrdfms-rdf-names-use/test-016.nt RDFCore Telecon 2001-11-30
rdfms-rdf-names-use/test-017.rdfrdfms-rdf-names-use/test-017.nt RDFCore Telecon 2001-11-30
rdfms-rdf-names-use/test-018.rdfrdfms-rdf-names-use/test-018.nt RDFCore Telecon 2001-11-30
rdfms-rdf-names-use/test-019.rdfrdfms-rdf-names-use/test-019.nt RDFCore Telecon 2001-11-30
rdfms-rdf-names-use/test-020.rdfrdfms-rdf-names-use/test-020.nt RDFCore Telecon 2001-11-30
rdfms-rdf-names-use/test-021.rdfrdfms-rdf-names-use/test-021.nt RDFCore Telecon 2001-11-30
rdfms-rdf-names-use/test-022.rdfrdfms-rdf-names-use/test-022.nt RDFCore Telecon 2001-11-30
rdfms-rdf-names-use/test-023.rdfrdfms-rdf-names-use/test-023.nt RDFCore Telecon 2001-11-30
rdfms-rdf-names-use/test-024.rdfrdfms-rdf-names-use/test-024.nt RDFCore Telecon 2001-11-30
rdfms-rdf-names-use/test-025.rdfrdfms-rdf-names-use/test-025.nt RDFCore Telecon 2001-11-30
rdfms-rdf-names-use/test-026.rdfrdfms-rdf-names-use/test-026.nt RDFCore Telecon 2001-11-30
rdfms-rdf-names-use/test-027.rdfrdfms-rdf-names-use/test-027.nt RDFCore Telecon 2001-11-30
rdfms-rdf-names-use/test-028.rdfrdfms-rdf-names-use/test-028.nt RDFCore Telecon 2001-11-30
rdfms-rdf-names-use/test-029.rdfrdfms-rdf-names-use/test-029.nt RDFCore Telecon 2001-11-30
rdfms-rdf-names-use/test-030.rdfrdfms-rdf-names-use/test-030.nt RDFCore Telecon 2001-11-30
rdfms-rdf-names-use/test-031.rdfrdfms-rdf-names-use/test-031.nt RDFCore Telecon 2001-11-30
rdfms-rdf-names-use/test-032.rdfrdfms-rdf-names-use/test-032.nt RDFCore Telecon 2001-11-30
rdfms-rdf-names-use/test-033.rdfrdfms-rdf-names-use/test-033.nt RDFCore Telecon 2001-11-30
rdfms-rdf-names-use/test-034.rdfrdfms-rdf-names-use/test-034.nt RDFCore Telecon 2001-11-30
rdfms-rdf-names-use/test-035.rdfrdfms-rdf-names-use/test-035.nt RDFCore Telecon 2001-11-30
rdfms-rdf-names-use/test-036.rdfrdfms-rdf-names-use/test-036.nt RDFCore Telecon 2001-11-30
rdfms-rdf-names-use/test-037.rdfrdfms-rdf-names-use/test-037.nt RDFCore Telecon 2001-11-30
rdfms-rdf-names-use/warn-001.rdfrdfms-rdf-names-use/warn-001.ntadmet des avertissementsRDFCore Telecon 2001-11-30
rdfms-rdf-names-use/warn-002.rdfrdfms-rdf-names-use/warn-002.ntadmet des avertissementsRDFCore Telecon 2001-11-30
rdfms-rdf-names-use/warn-003.rdfrdfms-rdf-names-use/warn-003.ntadmet des avertissementsRDFCore Telecon 2001-11-30
Tests d'analyseur négatifs (jeux d'essais : 20)
Fichier d'entréeApprouvé
rdfms-rdf-names-use/error-001.rdfRDFCore Telecon 2001-11-30
rdfms-rdf-names-use/error-002.rdfRDFCore Telecon 2001-11-30
rdfms-rdf-names-use/error-003.rdfRDFCore Telecon 2001-11-30
rdfms-rdf-names-use/error-004.rdfRDFCore Telecon 2001-11-30
rdfms-rdf-names-use/error-005.rdfRDFCore Telecon 2001-11-30
rdfms-rdf-names-use/error-006.rdfRDFCore Telecon 2001-11-30
rdfms-rdf-names-use/error-007.rdfRDFCore Telecon 2001-11-30
rdfms-rdf-names-use/error-008.rdfRDFCore Telecon 2001-11-30
rdfms-rdf-names-use/error-009.rdfRDFCore Telecon 2001-11-30
rdfms-rdf-names-use/error-010.rdfRDFCore Telecon 2001-11-30
rdfms-rdf-names-use/error-011.rdfRDFCore Telecon 2001-11-30
rdfms-rdf-names-use/error-012.rdfRDFCore Telecon 2001-11-30
rdfms-rdf-names-use/error-013.rdfRDFCore Telecon 2001-11-30
rdfms-rdf-names-use/error-014.rdfRDFCore Telecon 2001-11-30
rdfms-rdf-names-use/error-015.rdfRDFCore Telecon 2001-11-30
rdfms-rdf-names-use/error-016.rdfRDFCore Telecon 2001-11-30
rdfms-rdf-names-use/error-017.rdfRDFCore Telecon 2001-11-30
rdfms-rdf-names-use/error-018.rdfRDFCore Telecon 2001-11-30
rdfms-rdf-names-use/error-019.rdfRDFCore Telecon 2001-11-30
rdfms-rdf-names-use/error-020.rdfRDFCore Telecon 2001-11-30
Problème : rdfms-seq-representation a 1 test
Tests d'analyseur positifs (jeux d'essais : 1)
Fichiers d'entréeFichier de sortieAvertissement ?Approuvé
rdfms-seq-representation/test001.rdfrdfms-seq-representation/test001.nt RDFCore Telecon 2002-05-31
Problème : rdfms-syntax-incomplete a 10 tests
Tests d'analyseur positifs (jeux d'essais : 4)
Fichiers d'entréeFichier de sortieAvertissement ?Approuvé
rdfms-syntax-incomplete/test001.rdfrdfms-syntax-incomplete/test001.nt RDFCore Telecon 2003-01-10
rdfms-syntax-incomplete/test002.rdfrdfms-syntax-incomplete/test002.nt RDFCore Telecon 2003-01-10
rdfms-syntax-incomplete/test003.rdfrdfms-syntax-incomplete/test003.nt RDFCore Telecon 2003-01-10
rdfms-syntax-incomplete/test004.rdfrdfms-syntax-incomplete/test004.nt RDFCore Telecon 2003-01-10
Tests d'analyseur négatifs (jeux d'essais : 6)
Fichier d'entréeApprouvé
rdfms-syntax-incomplete/error001.rdfRDFCore Telecon 2003-01-10
rdfms-syntax-incomplete/error002.rdfRDFCore Telecon 2003-01-10
rdfms-syntax-incomplete/error003.rdfRDFCore Telecon 2003-01-10
rdfms-syntax-incomplete/error004.rdfRDFCore Telecon 2003-01-10
rdfms-syntax-incomplete/error005.rdfRDFCore Telecon 2003-01-10
rdfms-syntax-incomplete/error006.rdfRDFCore Telecon 2003-01-10
Problème : rdfms-xml-base a 12 tests
Tests d'analyseur positifs (jeux d'essais : 12)
Fichiers d'entréeFichier de sortieAvertissement ?Approuvé
xmlbase/test001.rdfxmlbase/test001.nt RDFCore Telecon 2002-03-15
xmlbase/test002.rdfxmlbase/test002.nt RDFCore Telecon 2002-03-15
xmlbase/test003.rdfxmlbase/test003.nt RDFCore Telecon 2002-03-15
xmlbase/test004.rdfxmlbase/test004.nt RDFCore Telecon 2002-03-15
xmlbase/test006.rdfxmlbase/test006.nt RDFCore Telecon 2002-03-15
xmlbase/test007.rdfxmlbase/test007.nt RDFCore Telecon 2002-03-15
xmlbase/test008.rdfxmlbase/test008.nt RDFCore Telecon 2002-03-15
xmlbase/test009.rdfxmlbase/test009.nt RDFCore Telecon 2002-03-15
xmlbase/test010.rdfxmlbase/test010.nt RDFCore Telecon 2002-03-15
xmlbase/test011.rdfxmlbase/test011.nt RDFCore Telecon 2002-03-15
xmlbase/test013.rdfxmlbase/test013.nt RDFCore Telecon 2002-03-15
xmlbase/test014.rdfxmlbase/test014.nt RDFCore Telecon 2002-03-15
Problème : rdfms-xml-literal-namespaces a 2 tests
Tests d'analyseur positifs (jeux d'essais : 2)
Fichiers d'entréeFichier de sortieAvertissement ?Approuvé
rdfms-xml-literal-namespaces/test001.rdfrdfms-xml-literal-namespaces/test001.nt RDFCore Telecon 2003-01-10
rdfms-xml-literal-namespaces/test002.rdfrdfms-xml-literal-namespaces/test002.nt RDFCore Telecon 2003-01-10
Problème : rdfs-domain-and-range a 4 tests
Tests d'analyseur positifs (jeux d'essais : 2)
Fichiers d'entréeFichier de sortieAvertissement ?Approuvé
rdfs-domain-and-range/test001.rdfrdfs-domain-and-range/test001.nt RDFCore Telecon 2001-10-19
rdfs-domain-and-range/test002.rdfrdfs-domain-and-range/test002.nt RDFCore Telecon 2001-10-19
Tests d'implication négatifs (jeux d'essais : 2)
RèglesFichiers de prémissesFichier de conclusionAvertissement ?Approuvé
RDF + RDFSrdfs-domain-and-range/premises006.rdfrdfs-domain-and-range/nonconclusions006.rdf RDFCore Telecon 2003-01-10
RDF + RDFSrdfs-domain-and-range/premises005.rdfrdfs-domain-and-range/nonconclusions005.rdf RDFCore Telecon 2003-01-10
Problème : rdfs-no-cycles-in-subClassOf a 1 test
Tests d'implication positifs (jeux d'essais : 1)
RèglesFichiers de prémissesFichier de conclusionAvertissement ?Approuvé
RDF + RDFSrdfs-no-cycles-in-subClassOf/test001.rdfrdfs-no-cycles-in-subClassOf/test001.nt RDFCore Telecon 2001-10-12
Problème : rdfs-no-cycles-in-subPropertyOf a 1 test
Tests d'implication positifs (jeux d'essais : 1)
RèglesFichiers de prémissesFichier de conclusionAvertissement ?Approuvé
RDF + RDFSrdfs-no-cycles-in-subPropertyOf/test001.rdfrdfs-no-cycles-in-subPropertyOf/test001.nt RDFCore Telecon 2001-10-12
Problème : rdfs-subClassOf-a-Property a 1 test
Tests d'implication négatifs (jeux d'essais : 1)
RèglesFichiers de prémissesFichier de conclusionAvertissement ?Approuvé
RDF + RDFSrdfs-subClassOf-a-Property/test001.ntFALSE RDFCore Telecon 2003-01-10
Problème : rdfs-subPropertyOf-semantics a 1 test
Tests d'implication positifs (jeux d'essais : 1)
RèglesFichiers de prémissesFichier de conclusionAvertissement ?Approuvé
RDF + RDFSrdfs-subPropertyOf-semantics/test001.ntrdfs-subPropertyOf-semantics/test002.nt RDFCore Telecon 2003-01-10
Problème : entailment-from-inconsistent-graph a 2 tests
Tests d'implication positifs (jeux d'essais : 2)
RèglesFichiers de prémissesFichier de conclusionAvertissement ?Approuvé
RDF + RDFSrdfs-entailment/test001.ntFALSE http://lists.w3.org/Archives/Public/w3c-rdfcore-wg/2003Nov/0063.html
RDF + RDFSFALSErdfs-entailment/test002.nt http://lists.w3.org/Archives/Public/w3c-rdfcore-wg/2003Nov/0063.html
Problème : I5.24-IF-or-IFF-property-properties a 2 tests
Tests d'implication négatifs (jeux d'essais : 2)
RèglesFichiers de prémissesFichier de conclusionAvertissement ?Approuvé
RDF + RDFSrdfs-domain-and-range/premises006.rdfrdfs-domain-and-range/nonconclusions006.rdf RDFCore Telecon 2003-01-10
RDF + RDFSrdfs-domain-and-range/premises005.rdfrdfs-domain-and-range/nonconclusions005.rdf RDFCore Telecon 2003-01-10

2.3. Jeux d'essais non approuvés

Le référentiel de jeux d'essais contient des jeux d'essais non approuvés. Ceux-ci ne sont pas énumérés dans ce document mais une liste en est disponible à http://www.w3.org/2000/10/rdf-tests/rdfcore/allTestCases.html.

2.4. Exécution des jeux d'essais

Le format des manifestes de jeux d'essais a été choisi volontairement pour être une description déclarative simple des jeux d'essais. Les tests d'analyseur peuvent être exécutés conjointement à des outils simples tels que ntc [NTC]. Un analyseur devrait passer tous les tests d'analyseur positifs et rejeter tous les tests d'analyseur négatifs. Des outils tels que Euler [EULER] ont été utilisés pour éxécuter les tests d'implication.

En raison des règles des tests d'implication, on peut utiliser un jeu d'essai d'implication positif ou négatif avec un document de conclusion vide pour illustrer les contraintes sémantiques associées aux ensembles de règles d'implication.

Les jeux d'essais ont été créés pour illustrer la résolution de problèmes particuliers de la liste de suivi des problèmes RDF. Par conséquent, les résultats de jeu d'essais devraient toujours s'interpréter conjointement à la résolution du problème associé et à la description (le cas échéant) jointe au jeu d'essais dans le manifeste.

3. N-Triples

N-Triples est un format en texte ordinaire par ligne (line-based, plain text format) pour coder un graphe RDF. Il a été conçu comme un sous-ensemble fixe de N3 [N3] [N3-Primer], et on peut donc utiliser des outils N3 tels que cwm [CWM], n-triples2kif [N-TRIPLES2KIF] et Euler [EULER] pour le lire et le traiter. cwm peut sortir ce format lorsqu'on l'évoque par "cwm -ntriples".

Il est recommandé, sans obligation, de stocker le contenu N-Triples dans des fichiers avec le suffixe « .nt » pour le distinguer de N3.

Le type de média Internet, ou type MIME, de N-Triples est "text/plain" et le codage des caractères est 7-bit US-ASCII.

NOTE : N-Triples est une syntaxe RDF pour exprimer des jeux d'essais RDF et définir la correspondance entre RDF/XML et la syntaxe abstraite RDF. RDF/XML [RDF-SYNTAX] est la syntaxe recommandée pour l'échange d'information RDF entre applications.

3.1. Grammaire EBNF (Extended Backus-Naur Form)

Un document N-Triples est une séquence de caractères US-ASCII, il est défini par le terme de grammaire ntripleDoc ci-dessous. Son analyse donne une séquence de triplets RDF formés à partir des productions subject, predicate et object.

Cette formulation EBNF est la notation utilisées dans XML 1.0 deuxième édition.

ntripleDoc ::= line*
line ::= ws* ( comment | triple )? eoln
comment ::= '#' ( character - ( cr | lf ) )*
triple ::= subject ws+ predicate ws+ object ws* '.' ws*
subject ::= uriref | nodeID
predicate ::= uriref
object ::= uriref | nodeID | literal
uriref ::= '<' absoluteURI '>'
nodeID ::= '_:' name
literal ::= langString | datatypeString
langString ::= '"' string '"' ( '@' language )?
datatypeString ::= '"' string '"' '^^' uriref
language ::= [a-z]+ ('-' [a-z0-9]+ )*
codage d'une étiquette de langue.
ws ::= space | tab
eoln ::= cr | lf | cr lf
space ::= #x20 /* US-ASCII espace - décimal 32 */
cr ::= #xD /* US-ASCII retour chariot - décimal 13 */
lf ::= #xA /* US-ASCII saut de ligne - décimal 10 */
tab ::= #x9 /* US-ASCII tabulation horizontale - décimal 9 */
string ::= character* avec échappements comme définis à la section Chaînes
name ::= [A-Za-z][A-Za-z0-9]*
absoluteURI ::= character+ avec échappements comme définis à la section Références URI
character ::= [#x20-#x7E] /* de US-ASCII espace jusqu'au décimal 126 */

Ces productions codent les concepts définis dans la version préliminaire de la spécification Concepts et syntaxe abstraite RDF [RDF-CONCEPTS] comme suit :

Production N-Triples Concept RDF codé
triple triplet
subject sujet
predicate prédicat
object objet
absoluteURI référence URI RDF
nodeID identificateur de nœud anonyme
langString littéral ordinaire
datatypeString littéral typé

3.2 Chaînes

Les chaînes N-Triples sont des séquences de caractères US-ASCII (production character) codant des chaînes de caractères [UNICODE]. Les caractères hors de la gamme US-ASCII et quelques autres caractères spécifiques sont représentés par des séquences à échappement par un caractère BARRE OBLIQUE INVERSE « \ » comme suit :

Caractère Unicode
(avec point de code u)
Codage N-Triples
[#x0-#x8] \uHHHH
4 chiffres hexadécimaux HHHH requis codant le caractère Unicode u
#x9 \t
#xA \n
[#xB-#xC] \uHHHH
4 chiffres hexadécimaux HHHH requis codant le caractère Unicode u
#xD \r
[#xE-#x1F] \uHHHH
4 chiffres hexadécimaux HHHH requis codant le caractère Unicode u
[#x20-#x21] le caractère u
#x22 \"
[#x23-#x5B] le caractère u
#x5C \\
[#x5D-#x7E] le caractère u
[#x7F-#xFFFF] \uHHHH
4 chiffres hexadécimaux HHHH requis codant le caractère Unicode u
[#10000-#x10FFFF] \UHHHHHHHH
8 chiffres hexadécimaux HHHHHHHH requis codant le caractère Unicode u

H est un chiffre hexadécimal : [#x30-#x39],[#x41-#x46] (0-9, majuscules A-F).

Ce mécanisme d'échappement (escaping) satisfait la spécification [CHARMOD], section Modèle de traitement de référence, à propos de la mise à la disposition des applications de la gamme complète des caractères Unicode U+0 à U+10FFFF et de la fourniture d'un seul mécanisme pour échapper un caractère.

3.3 Références URI

La production absoluteURI code une chaîne Unicode représentant une référence URI RDF comme définie dans [RDF-CONCEPTS]. On la code en N-Triples en utilisant les échappements décrits à la section Chaînes.

3.4. Exemple

Le fichier N-Triples suivant :

<http://www.w3.org/2001/08/rdf-test/>  <http://purl.org/dc/elements/1.1/creator>    "Dave Beckett" .
<http://www.w3.org/2001/08/rdf-test/>  <http://purl.org/dc/elements/1.1/creator>    "Jan Grant" .
<http://www.w3.org/2001/08/rdf-test/>  <http://purl.org/dc/elements/1.1/publisher>  _:a .
_:a                                    <http://purl.org/dc/elements/1.1/title>      "World Wide Web Consortium" .
_:a                                    <http://purl.org/dc/elements/1.1/source>     <http://www.w3.org/> .

représente le même graphe RDF que le RDF/XML suivant :

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
         xmlns:dc="http://purl.org/dc/elements/1.1/">
  <rdf:Description rdf:about="http://www.w3.org/2001/08/rdf-test/">
    <dc:creator>Jan Grant</dc:creator>
    <dc:creator>Dave Beckett</dc:creator>
    <dc:publisher>
      <rdf:Description>
        <dc:title>World Wide Web Consortium</dc:title>
        <dc:source rdf:resource="http://www.w3.org/"/>
      </rdf:Description>
    </dc:publisher>
  </rdf:Description>
</rdf:RDF>

3.5. Tests N-Triples

Le fichier de tests N-Triples à http://www.w3.org/2000/10/rdf-tests/rdfcore/ntriples/test.nt contient plusieurs tests de légalité N-Triples.

4 Références

Références normatives

[APPROVED]
approved_20031114.zip, jeux d'essais approuvés lors de la publication. Dernière version disponible à http://www.w3.org/2000/10/rdf-tests/rdfcore/latest_Approved.zip.
[FULLTESTS]
all_20031114.zip, archive des jeux d'essais (y compris les tests non approuvés). Dernière version disponible à http://www.w3.org/2000/10/rdf-tests/rdfcore/latest_All.zip.
[MANIFEST]
Manifest.rdf, ce fichier (disponible à http://www.w3.org/2000/10/rdf-tests/rdfcore/Manifest.rdf) décrit tous les jeux d'essais dans le référentiel.
[MANIFEST-HEAD]
En-tête de manifeste, un exemple de préfixe utilisable pour introduire un fichier de manifeste.
[MANIFEST-TAIL]
Bas de page de manifeste, un exemple de suffixe utilisable pour clore un fichier de manifeste.
[CWM]
cwm, T. Berners-Lee et al., un outil de traitement RDF/N3.
[N-TRIPLES2KIF]
n-triples2kif.pl, un outil de traitement RDF.
[EULER]
Euler, Jos deRoo, un moteur d'inférence RDF.
[ISSUES]
Suivi des problèmes RDF, McBride et al.
[REPOSITORY]
Référentiel des jeux d'essais RDF Core, hébergé par le W3C.
[RDFMS]
Spécification du modèle et de la syntaxe du cadre de description de ressource (RDF), O. Lassila et R. Swick, rédacteurs, recommandation du W3C, 22 février 1999. Cette version est à http://www.w3.org/TR/1999/REC-rdf-syntax-19990222/. Dernière version disponible à http://www.w3.org/TR/REC-rdf-syntax/.
[RDF-SCHEMA]
Langage de description de vocabulaire RDF 1.0 : RDF Schema, Dan Brickley, R.V. Guha, rédacteurs, recommandation candidate du W3C, 27 mars 2000. Cette version est à http://www.w3.org/TR/2000/CR-rdf-schema-20000327/. Dernière version disponible à http://www.w3.org/TR/rdf-schema/.
[UNICODE]
The Unicode Standard, Version 3.0, Addison Wesley, Reading MA, 2000, ISBN: 0-201-61633-5. Ce document est à http://www.unicode.org/unicode/standard/standard.html.
[CHARMOD]
Modèle de caractères pour le Web 1.0, M. Dürst, F. Yergeau, R. Ishida, M. Wolf, T. Texin, rédacteurs, version préliminaire du W3C, travail en cours, 22 août 2003. Cette version est à http://www.w3.org/TR/2003/WD-charmod-20030822/. Dernière version disponible à http://www.w3.org/TR/charmod/.
[RDF-CONCEPTS]
Concepts et syntaxe abstraite RDF, Klyne G., Carroll J., rédacteurs, recommandation du W3C, 10 février 2004. Cette version est à http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/. Dernière version disponible à http://www.w3.org/TR/rdf-concepts/.
[RDF-SEMANTICS]
Sémantique RDF, Hayes P., rédacteur, recommandation du W3C, 10 février 2004. Cette version est à http://www.w3.org/TR/2004/REC-rdf-mt-20040210/. Dernière version disponible à http://www.w3.org/TR/rdf-mt/.
[RDF-SYNTAX]
Spécification de la syntaxe RDF/XML (révisée), Beckett D., rédacteur, recommandation du W3C, 10 février 2004. Cette version est à http://www.w3.org/TR/2004/REC-rdf-syntax-grammar-20040210/. Dernière version disponible à http://www.w3.org/TR/rdf-syntax-grammar/.

Références informatives

[RDF-PRIMER]
Initiation à RDF, Manola F., Miller E., rédacteurs, recommandation du W3C, 10 février 2004. Cette version est à http://www.w3.org/TR/2004/REC-rdf-primer-20040210/. Dernière version disponible à http://www.w3.org/TR/rdf-primer/.
[RDF-VOCABULARY]
Langage de description de vocabulaire RDF 1.0 : RDF Schema, Brickley D., Guha R.V., rédacteurs, recommandation du W3C, 10 février 2004. Cette version est à http://www.w3.org/TR/2004/REC-rdf-schema-20040210/. Dernière version disponible à http://www.w3.org/TR/rdf-schema/.
[N3]
Notation 3, Tim Berners-Lee.
[N3-Primer]
Primer: Getting into RDF & Semantic Web using N3, Tim Berners-Lee.
[NTC]
NTC: A simple N-Triples isomorphism test utility, Jan Grant

5 Remerciements (informatif)

Remerciements à Art Barstow (ex-W3C), précédent rédacteur principal de ce document, pour son excellent travail d'édition et de gestion des jeux d'essais RDF qui avait bien fait bien avant que le groupe de travail RDF Core n'existât.

Les rédacteurs voudraient également remercier Jos DeRoo, chez AGFA, pour son excellent travail de mise en œuvre d'un raisonneur RDF capable d'exécuter les jeux d'essais d'implication.

Merci aussi aux développeurs d'analyseurs RDF qui prirent le temps d'exécuter et d'apporter des corrections à nos tests d'analyseur.

Les membres suivants du groupe de travail ont contribué directement à ce document ou fournis des jeux d'essais.

Ce document est le produit de débats approfondis au sein du groupe de travail RDF Core, qui comptait dans ses rangs : Art Barstow (W3C), Dave Beckett (ILRT), Dan Brickley (W3C/ILRT), Dan Connolly (W3C), Jeremy Carroll (Hewlett Packard), Ron Daniel (Interwoven Inc), Bill dehOra (InterX), Jos De Roo (AGFA), Jan Grant (ILRT), Graham Klyne (Clearswift et Nine by Nine), Frank Manola (MITRE Corporation), Brian McBride (Hewlett Packard), Eric Miller (W3C), Stephen Petschulat (IBM), Patrick Stickler (Nokia), Aaron Swartz (HWG), Mike Dean (BBN Technologies / Verizon), R. V. Guha (Alpiri Inc), Pat Hayes (IHMC), Sergey Melnik (Stanford University), Martyn Horner (Profium Ltd).

Cette spécification repose également sur un document de modèle et syntaxe RDF antérieur, rédigé par Ora Lassilla et Ralph Swick, et sur RDF Schema, rédigé par Dan Brickley et R. V. Guha. Les membres des groupes de travail RDF et RDF Schema ayant participé à ces travaux antérieurs sont : Nick Arnett (Verity), Tim Berners-Lee (W3C), Tim Bray (Textuality), Dan Brickley (ILRT / University of Bristol), Walter Chang (Adobe), Sailesh Chutani (Oracle), Dan Connolly (W3C), Ron Daniel (DATAFUSION), Charles Frankston (Microsoft), Patrick Gannon (CommerceNet), RV Guha (Epinions, anciennement chez Netscape Communications), Tom Hill (Apple Computer), Arthur van Hoff (Marimba), Renato Iannella (DSTC), Sandeep Jain (Oracle), Kevin Jones (InterMind), Emiko Kezuka (Digital Vision Laboratories), Joe Lapp (webMethods Inc.), Ora Lassila (Nokia Research Center), Andrew Layman (Microsoft), Ralph LeVan (OCLC), John McCarthy (Lawrence Berkeley National Laboratory), Chris McConnell (Microsoft), Murray Maloney (Grif), Michael Mealling (Network Solutions), Norbert Mikula (DataChannel), Eric Miller (OCLC), Jim Miller (W3C, emeritus), Frank Olken (Lawrence Berkeley National Laboratory), Jean Paoli (Microsoft), Sri Raghavan (Digital/Compaq), Lisa Rein (webMethods Inc.), Paul Resnick (University of Michigan), Bill Roberts (KnowledgeCite), Tsuyoshi Sakata (Digital Vision Laboratories), Bob Schloss (IBM), Leon Shklar (Pencom Web Works), David Singer (IBM), Wei (William) Song (SISU), Neel Rundaresan (IBM), Ralph Swick (W3C), Naohiko Uramoto (IBM), Charles Wicksteed (Reuters Ltd.), Misha Wolf (Reuters Ltd.), Lauren Wood (SoftQuad).

Annexe A — Journal des changements (informatif)

Changements depuis http://www.w3.org/TR/2003/WD-rdf-testcases-20030905/

Ajouté un marqueur d'implication simple explicite aux tests d'implication.

Reformulé les critères de réussite et d'échec des tests d'implication négatifs conformément à la formulation suggérée par Pat Hayes.

Ajouté un jeu d'essais pour du RDF/XML sans élément rdf:RDF englobant (rdf-element-not-mandatory/test001).

Supprimé la référence N-Triples aux étiquettes de langue et au document RFC 3066 ; utilisez la définition des concepts RDF. Une étiquette de langue ne peut pas commencer par un chiffre.

Changements depuis http://www.w3.org/TR/2003/WD-rdf-testcases-20030123/

Ajouté des jeux d'essais pour l'interprétation intensionnelle des types de données.

Ajouté des jeux d'essais : chevauchement des littéraux ordinaires et des dénotations xsd:string.

Changement éditorial. La légende du tableau des jeux d'essais indique maintenant clairement qu'elle ne se rapporte qu'à la résolution des adresses URL dans le tableau.

Changement éditorial. Mis à jour la note de la section 3. N-Triples à propos du but de N-Triples afin de dire qu'il sert à relier la syntaxe abstraite RDF à RDF/XML.

Changement terminologique. Mis à jour la section 2.1. Organisation pour utiliser le terme plus acceptable d'« équivalence des graphes ».

Changement important. Mis à jour la section 2.1. Organisation afin d'y inclure une quatrième condition pour la gestion des types de données pour la description des tests d'implication avec type de données.

Changement éditorial. Mis à jour les références afin de supprimer les adresses URL du texte ; changements supplémentaires comme suggéré par Susan Lesch.

Changement éditorial. Mis à jour la section 3.1. Grammaire EBNF (Extended Backus-Naur Form) afin d'y ajouter un nouveau tableau montrant le codage par les productions N-Triples des concepts RDF respectifs dans [RDF-CONCEPTS].

Changement éditorial. Mis à jour la section 3.3 Références URI pour élaguer les explications à propos des adresses URI et s'en remettre à la spécification [RDF-CONCEPTS]. Supprimé une référence au RFC 2396 (adresses URI), effectué suite à un commentaire de Düerst, 2003-05-08 comme exposé. Traité également un commentaire de Patel-Schneider, 2003-05-30.

Changement éditorial. Mis à jour la section 3.2 Chaînes et le tableau des séquences d'échappement N-Triples afin d'y lister les codages des caractères Unicode vers N-Triples, effectué suite à un commentaire de Patel-Schneider, 2003-05-27, comme exposé.

Changement important. Mis à jour la production datatypeString pour utiliser la production string au lieu de langString après suppression de l'étiquette de langue de tous les littéraux typés comme approuvé lors de la téléconférence du RDF Core du 2003-05-09.

Changements depuis http://www.w3.org/TR/2002/WD-rdf-testcases-20021112/

Définitions des tests d'implication changées pour réellement traiter les implications propres, non les pseudo-implications.

Gestion des tests d'implication avec type de données dans le manifeste.

Pointeur vers RDF-CONCEPTS pour la définition de l'isomorphisme/égalité des graphes.

Ajout du pseudo-document toujours faux pour les tests d'implication.

Mis à jour la liste des jeux d'essais dans ce document.

Changé les noms des jeux d'essais pour fragmenter les références en des documents de manifeste individuels.

Changements depuis http://www.w3.org/TR/2002/WD-rdf-testcases-20020429/

Production language. Changé pour correspondre au RFC 3066. Ajouté [RFC 2396] aux références normatives.

Reformulé la note de la section 3 N-Triples. Pointé vers RDF/XML comme syntaxe d'échange.

Production character : devrait être « jusqu'au décimal 126 ».

Supprimé la suggestion d'utiliser UTF-8 pour les applications à la section 3.2 Chaînes.

Ajouté la section 3.5. Tests N-Triples pointant vers le fichier de tests http://www.w3.org/2000/10/rdf-tests/rdfcore/ntriples/test.nt.

Employé des chiffres hexadécimaux en majuscules. Défini et utilisé H pour \uHHHH, \uHHHHHHHH.

Supprimé la production xmlString.

Changé l'atome séparateur de langue N-Triples pour @ dans la production langString

Ajouté la gestion du typage RDF en utilisant datatypeString avec la forme ^^<datatypeURI>

Changements depuis http://www.w3.org/TR/2001/WD-rdf-testcases-20011115/

Mis à jour la section 3.3 Références URI afin d'autoriser les caractères Unicode dans les adresses URI.

Fusionné Travaux futurs en Problèmes en suspens

Étendu et réorganisé la liste des jeux d'essais pour y refléter les jeux d'essais approuvés supplémentaires.

Nouvelle section 2 décrivant l'organisation des tests d'analyseur, les types des tests et des exemples du format de manifeste qui les décrit.

Mis à jour les rédacteurs, ajouté le remerciement à Art Barstow.

Changé la production literal pour devenir langString ou xmlString (maintenant disparue).

N-Triples reste un format ASCII pour l'instant ; clos la question à propos du codage UTF-8.

Mis à jour les références aux versions préliminaires de la théorie des modèles RDF, de la syntaxe.

Changements depuis http://www.w3.org/TR/2001/WD-rdf-testcases-20010912/

Changé le tableau des Jeux d'essais approuvés afin d'y inclure des liens aux fichiers et à la décision du groupe de travail en rapport.

Supprimé le tableau Jeux d'essais non approuvés et ajouté un lien vers la liste du référentiel des jeux d'essais non approuvés.

Ajouté des liens vers les fichiers ZIP des jeux d'essais du référentiel.

Indiqué les sections Travaux futurs et Contributeurs comme étant informatives.

Renommé l'atome bNode en nodeID.

Ajouté une référence à la théorie des modèles RDF.

Ajouté une section Codage des adresses URI, pointant vers les règles Charmod, et mis à jour la règle de grammaire absoluteURI pour l'utiliser.

Supprimé les références aux littéraux Python, la raison de l'échappement par un caractère « \ ».

Ajouté les 4 et 8 chiffres requis pour les échappements de chaîne \u et \U.

Renommé la section Adresses URI en Références URI.

Annexe B — Problèmes en suspens (informatif)


RDF/XML Metadata