N-Triples

From HandWiki
Revision as of 18:05, 6 February 2024 by MedAI (talk | contribs) (link)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Short description: Plain text format for expressing RDF graphs
N-Triples
Filename extension.nt
Internet media typeapplication/n-triples
Developed byW3C
Latest release
RDF 1.1 N-Triples (REC)
(February 25, 2014; 10 years ago (2014-02-25))
Type of formatsemantic web
Container forRDF data
Extended toTurtle
Websitewww.w3.org/TR/n-triples/

N-Triples is a format for storing and transmitting data. It is a line-based, plain text serialisation format for RDF (Resource Description Framework) graphs, and a subset of the Turtle (Terse RDF Triple Language) format.[1][2][3] N-Triples should not be confused with Notation3 which is a superset of Turtle. N-Triples was primarily developed by Dave Beckett at the University of Bristol and Art Barstow at the World Wide Web Consortium (W3C).[4]

N-Triples was designed to be a simpler format than Notation3 and Turtle, and therefore easier for software to parse and generate. However, because it lacks some of the shortcuts provided by other RDF serialisations (such as CURIEs and nested resources, which are provided by both RDF/XML and Turtle) it can be onerous to type out large amounts of data by hand, and difficult to read.

Usage

There is very little variation in how an RDF graph can be represented in N-Triples. This makes it a very convenient format to provide "model answers" for RDF test suites.[3]

Implementations

As N-Triples is a subset of Turtle and Notation3, by definition all tools which support input in either of those formats will support N-Triples. In addition, some tools like Cwm have specific support for N-Triples.

File format

Each line of the file has either the form of a comment or of a statement: A statement consists of four parts, separated by whitespace:

  • the subject,
  • the predicate,
  • the object,
  • a full stop which means the termination of a statement

Subjects may take the form of a URI or a blank node; predicates must be a URI; objects may be a URI, blank node or a literal. URIs are delimited with less-than and greater-than signs used as angle brackets. Blank nodes are represented by an alphanumeric string, prefixed with an underscore and colon (_:). Literals are represented as printable ASCII strings (with backslash escapes),[5] delimited with double-quote characters, and optionally suffixed with a language or datatype indicator. Language indicators are an at sign followed by an RFC 3066 language tag; datatype indicators are a double-caret followed by a URI. Comments consist of a line beginning with a hash sign.

Example

The N-Triples statements below are equivalent to this RDF/XML:

  • RDF/XML
<rdf:RDF xmlns="http://xmlns.com/foaf/0.1/"
          xmlns:dc="http://purl.org/dc/terms/"
          xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" >
   <Document rdf:about="http://www.w3.org/2001/sw/RDFCore/ntriples/">
     <dc:title xml:lang="en-US">N-Triples</dc:title>
     <maker>
       <Person rdf:nodeID="art">
         <name>Art Barstow</name>
       </Person>
     </maker>
     <maker>
       <Person rdf:nodeID="dave">
         <name>Dave Beckett</name>
       </Person>
     </maker>
   </Document>
 </rdf:RDF>
  • N-Triples
<http://www.w3.org/2001/sw/RDFCore/ntriples/> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> ↵
    <http://xmlns.com/foaf/0.1/Document> .
 <http://www.w3.org/2001/sw/RDFCore/ntriples/> <http://purl.org/dc/terms/title> "N-Triples"@en-US .
 <http://www.w3.org/2001/sw/RDFCore/ntriples/> <http://xmlns.com/foaf/0.1/maker> _:art .
 <http://www.w3.org/2001/sw/RDFCore/ntriples/> <http://xmlns.com/foaf/0.1/maker> _:dave .
 _:art <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://xmlns.com/foaf/0.1/Person> .
 _:art <http://xmlns.com/foaf/0.1/name> "Art Barstow".
 _:dave <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://xmlns.com/foaf/0.1/Person> .
 _:dave <http://xmlns.com/foaf/0.1/name> "Dave Beckett".

(The symbol ↵ is used to indicate a place where a line has been wrapped for legibility. N-Triples do not allow lines to be wrapped arbitrarily: the line endings indicate the end of a statement.)

N-Quads

N-Quads
Filename extension.nq
Internet media typeapplication/n-quads
Developed byW3C
Latest release
RDF 1.1 N-Quads (REC)
(February 25, 2014; 10 years ago (2014-02-25))
Type of formatsemantic web
Container forRDF data
Websitewww.w3.org/TR/n-quads/

The related N-Quads superset extends N-Triples with an optional context value at the fourth position.[6][7][8]

<http://one.example/subject1> <http://one.example/predicate1> <http://one.example/object1> <http://example.org/graph3> . # comments here
 # or on a line by themselves
 _:subject1 <http://an.example/predicate1> "object1" <http://example.org/graph1> .
 _:subject2 <http://an.example/predicate2> "object2" <http://example.org/graph5> .

See also

References

  1. "RDF 1.1 N-Triples". W3C Recommendation 25 February 2014. www.w3.org. http://www.w3.org/TR/n-triples/. 
  2. "N-Triples". W3C RDF Core WG Internal Working Draft. www.w3.org. http://www.w3.org/2001/sw/RDFCore/ntriples/. 
  3. 3.0 3.1 "RDF Test Cases - N-Triples". W3C Recommendation 10 Feb 2004. www.w3.org. http://www.w3.org/TR/rdf-testcases/#ntriples. 
  4. "XML and Semantic Web W3C Standards Timeline". http://www.dblab.ntua.gr/~bikakis/XML%20and%20Semantic%20Web%20W3C%20Standards%20Timeline-History.pdf. 
  5. Jan Grant, Dave Beckett (2004-02-10). "RDF Test Cases / N-Triples / Strings". W3C Recommendation. W3C. http://www.w3.org/TR/rdf-testcases/#ntrip_strings. "N-Triples strings are sequences of US-ASCII character productions encoding [UNICODE] character strings. The characters outside the US-ASCII range and some other specific characters are made available by \-escape sequences as follows ..." 
  6. "RDF 1.1 N-Quads". http://www.w3.org/TR/2014/REC-n-quads-20140225/. 
  7. "RDF 1.1 N-Quads". http://www.w3.org/TR/n-quads/. 
  8. "Archived copy". http://sw.deri.org/2008/07/n-quads/. 

External links