Jump to content

Notation3

From Wikipedia, the free encyclopedia
(Redirected from Notation 3)
Notation3
Filename extension
.n3
Internet media type
text/n3;charset=utf-8
Developed byTim Berners-Lee
Type of formatsemantic web
Container forRDF data
Standardn3
Websitewww.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.

Examples

[edit]

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

[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

See also

[edit]
[edit]

References

[edit]
  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). arXiv:0711.1533. doi:10.1017/S1471068407003213.