| 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 | |