Notation3 | |
---|---|
Filename extension | .n3 |
Internet media type | text/n3;charset=utf-8 |
Developed by | Tim Berners-Lee |
Type of format | semantic web |
Container for | RDF data |
Standard | n3 |
Website | www |
Notation3, or N3 as it is more commonly known, is a shorthand non-XML serialization of Resource Description Framework models, designed with human-readability in mind: N3 is much more compact and readable than XML RDF notation. The format is being developed by Tim Berners-Lee and others from the Semantic Web community. A formalization of the logic underlying N3 was published by Berners-Lee and others in 2008. [1]
N3 has several features that go beyond a serialization for RDF models, such as support for RDF-based rules. Turtle is a simplified, RDF-only subset of N3.
The following is an RDF model in standard XML notation:
<rdf:RDFxmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"xmlns:dc="http://purl.org/dc/elements/1.1/"><rdf:Descriptionrdf:about="https://en.wikipedia.org/wiki/Tony_Benn"><dc:title>TonyBenn</dc:title><dc:publisher>Wikipedia</dc:publisher></rdf:Description></rdf:RDF>
may be written in Notation3 like this:
@prefixdc:<http://purl.org/dc/elements/1.1/>.<https://en.wikipedia.org/wiki/Tony_Benn>dc:title"Tony Benn";dc:publisher"Wikipedia".
This N3 code above would also be in valid Turtle syntax.
![]() |
Feature | Notation3 | Turtle | N-Triples | |
---|---|---|---|---|
Character encoding | UTF-8 | ASCII | ||
Directives | @base | Yes | Yes | No |
@forAll | Yes | No | No | |
@forSome | Yes | No | No | |
@keywords | Yes | No | No | |
@prefix | Yes | Yes | No | |
Lists | ||||
() (DAML lists) | Yes | Yes | No | |
{ … } (statement lists) | Yes | No | No | |
Literals | true / false (Boolean) | Yes | Yes | No |
xsd:decimal (decimal arbitrary length) | Yes | Yes | No | |
xsd:double (decimal double) | Yes | Yes | No | |
xsd:integer (decimal integer) | Yes | Yes | No | |
Syntactic sugar | RDF paths | Yes | No | No |
QNames | Yes | Yes | No | |
a /@a (equiv. to rdf:type ) | Yes | Yes | No | |
[] (shorthand for blank node) | Yes | Yes | No | |
=> (x implies y) | Yes | No | No | |
<= (y implies x) | Yes | No | No | |
= (x is equivalent to y) | Yes | No | No | |
, (repeat object in list) | Yes | Yes | No | |
; (repeat subject/verb in list) | Yes | Yes | No |