Notation3 (original) (raw)

From Wikipedia, the free encyclopedia

Compact non-XML format for RDF models

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.w3.org/TeamSubmission/n3/

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:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="" title="undefined" rel="noopener noreferrer">http://purl.org/dc/elements/1.1/"> <rdf:Description rdf:about="" title="undefined" rel="noopener noreferrer">https://en.wikipedia.org/wiki/Tony_Benn"> dc:titleTony Benn dc:publisherWikipedia

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

[edit]

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
  1. ^ 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.