Jump to content

Notation3

From Wikipedia, the free encyclopedia
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
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

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

References

  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.