N4 (Notation)

N4 is another notation for RDF like languages. It is named N4 because it is "after" N3

The Syntax

The N4 syntax is intentionally very simple:
 N4 = '(' *(uri (uri | String | N4)) ')' 

A short example:

 ( 
     n4ns:n4 http://n4.org/n4/      n4ns:p http://x.org/personal/     n4ns: http://x.org/docs/1/ 
     p:Person (a n4:Class         n4:dof (li x:address li x:name)     )     p:Address (a n4:Class        n4:dof (li p:city li p:street)     )         (li p:city li p:street)(a n4:Property n4:range n4:String)          :me (a p:Person p:id "me"        p:address (a p:Address id :me/address             p:city "Paris"        )     )     :me/address (p:street "tur") 
)

Comments about the example

  • it is a parenthesized expression
  • namespaces are used as shorthands for uris
  • the empty namespace is the current n4 document
  • each n4 expression is a sequence of attribute-value pairs
  • An attribute name can be a n4 expression
  • a n4 expression denotes an "object", i.e. an uri with assertions on it.
  • keywords 'a', 'li' and 'id' are "specials" uris
    • 'a' types an expression
    • 'li' introduces an element of a list
    • 'id' names an expression in a namespace
  • a blind list in subject position is a list a of subjects

Metaclasses

RDF based notations use a metaclass based design which can be used to represent things in a very concise way. Lets recall that a Metaclass is a class whose instances are also classes. Metaclasses allow to define class variables, i.e. slot values hold by classes. Class variables are naturally shared by all instances of the class.
 
mc (a n4:Class n4:subClassOf n4:Class)
(li :fcolor li :bcolor) (a n4:Property n4:domain :mc)
c (a :mc :fcolor "red")
o1 (a :c)
o2 (a :c)
  • :o1 and :o2 are instances of c and share the value of the slot :fcolor.
  • :c is a class whose class is a metaclass
  • :c is also a regular object.
Shared slots allow to use an interesting idiom : only define objects which are classes, and derive them following the two relations is-instance-of AND is-subclass-of. Lets note this double relation by the keyword "as".
 
c1 (as :c :bcolor "white")
c2 (as :c1 :fcolor "red")
c3 (as :c1 :fcolor "blue")
c4 (as :c3 :bcolor "red")

WebResourceDescriptionLanguage

Here is presented the WRSDL format, which allows to type web resources on a given site, and to map various url schemes to these resources. An example:
 (n4ns: http://n4.org/wrsdl/s1 n4ns:r http://n4.org/wrsdl/1.0/schema  
site (a r:Site r:name "example site"
    li (a r:Resource r:name "home" id :home       li (a r:Get r:description "the home page "          li (a r:Accept r:mime "text/html")          li (a r:Accept r:mime "application/n4" r:class :Home)       )    )    li (a r:Resource r:name "welcome" id :welcome r:description "splash"       li (a r:Get           li (a r:Accept r:mime "image/gif" id :welcome/gif)          li (a r:Accept r:mime "image/png" id :welcome/png)       )    ) 
)
xmap (a r:Mappings r:host "n4.org:4445" r:context "/example/s1")
map/home (as :xmap
    li (a r:Mapping r:of :home       li (a r:Path r:value "/Home")    ) 
)
map/welcome (as x:map
    li (a r:Mapping r:of :welcome       li (a r:Path r:value "/Welcome")       li (a r:Parameter r:name "size" r:type :sizes)    )  
)
sizes (a r:Enumeration li "small" li "big" li "huge")
Home (a r:LinkSequence)
Detailed comments.

 

<< PreviousWord BrowserNext >>
albert barnes
genetic recombination
dixiecrat
transmembrane potential
barnabe barnes
lipid bilayer
letter of credence
north east lincolnshire
edward barnes
cosmetics
tim pat coogan
normanton
kingdom of great britain
sacculina
sanctacaris
first dil
pool
liquid tension experiment
derwent river, tasmania
derwent
river derwent, derbyshire
river derwent, north east england
river derwent, cumbria
derwent water
river derwent, yorkshire
edinburgh cowgate fire, 2002
n3
victor galindez
staffa
wrawby postmill
howl
aguirre: the wrath of god
skidby working windmill
no contest (boxing)
dee brown
mount pleasant mill
burl ives
ferrite
nyquist plot
list of buffy the vampire slayer episodes
surrey (disambiguation)
joss whedon
lavender blue
sussex (disambiguation)