Notation3 (N3) is a compact, human-readable, non-XML serialization of Resource Description Framework models, developed by Tim Berners-Lee and the Semantic Web community. Unlike XML RDF notation, N3 offers improved readability and additional capabilities such as support for RDF-based rules. The formal logic behind N3 was published by Berners-Lee and colleagues in 2008. Additionally, Turtle is a simplified subset of N3, focusing solely on RDF serialization while maintaining ease of use.
Examples
The following is an RDF model in standard XML notation:
<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="https://en.wikipedia.org/wiki/Tony_Benn"> <dc:title>Tony Benn</dc:title> <dc:publisher>Wikipedia</dc:publisher> </rdf:Description> </rdf:RDF>may be written in Notation3 like this:
@prefix dc: <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.
Comparison of Notation3, Turtle, and N-Triples
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 |
See also
External links
- Notation 3 W3C Submission
- Notation 3 Outline on W3C Design Issues by Tim Berners-Lee
- Notation 3 Primer: Getting into RDF & Semantic Web using N3
- A Rough Guide to Notation3
- RDF for "Little Languages"
- An editing mode of N3 for Emacs
- An editing mode of N3 for vim
- An editing mode of N3 for textmate
- An editing mode of N3 for gedit
- EulerGUI, an IDE centered on N3 editor with translation from RDF, with validation, prefix management, uploading of resources, graph view, table view, etc.
References
Berners-Lee, T. I. M.; Connolly, D. A. N.; Kagal, L.; Scharf, Y.; Hendler, J. I. M. (2008). "N3Logic: A logical framework for the World Wide Web". Theory and Practice of Logic Programming. 8 (3): 249–269. arXiv:0711.1533. doi:10.1017/S1471068407003213. /wiki/ArXiv_(identifier) ↩