Navigation

Introduction Differences source
Lite Syntax Lite Mapping Lite Triples
DL Syntax DL Mapping DL Triples

lite Abstract Syntax

The grammar for the abstract syntax is defined in terms of the non-constant terminals uriref, lexicalForm, language, 0, 1 and naturalNumber (DL only). There are also the following constant terminal tokens: Functional, InverseFunctional, Transitive,Symmetric, Partial, Complete, Deprecated and Declaration (DL only).

A uriref is an RDF URI reference as defined in RDF Concepts.

A language is a language identifier as defined in RDF Concepts.

A lexicalForm is a lexical form as defined in RDF Concepts.

A naturalNumber is a lexical form that is in the lexical space of xsd:nonNegativeInteger.

0 and 1 are the first two naturalNumbers.

Each uriref used in the abstract syntax appears within one of the following constructs.

If a specific uriref is used within one of these, then all other occurrences of that uriref in a specific abstract syntax tree must be within the same construct.

Moreover, certain urirefs from the RDF, RDFS, XSD and OWL namespaces are builtin, and must only be used in the constructs permitted below:

UrirefPermitted Constructs
rdf:type None
rdf:Property None
rdf:first None
rdf:rest None
rdf:List None
rdf:XMLLiteral datatypeID
rdf:_NNN simpleObjectPropID
rdfs:Literal dataRangeID
rdfs:Resource none
rdfs:Datatype none
rdfs:ContainerMembershipProperty none
rdfs:subClassOf none
rdfs:subPropertyOf none
rdfs:domain none
rdfs:range none
rdfs:label metaPropertyID
rdfs:comment simpleObjectPropID
rdfs:isDefinedBy simpleObjectPropID, metaPropertyID
xsd:built-in datatypeID
owl:imports metaPropertyID
owl:backwardCompatibleWith metaPropertyID
owl:incompatibleWith metaPropertyID
owl:priorVersion metaPropertyID
owl:Thing classID
owl:Nothing classID
owl:anything-else none

Only the builtin urirefs above may be used as metaPropertyIDs. In OWL Lite, only the builtin uriref above may be used as a dataRangeID.

ontologyID  [A1] ::= OntologyID(  uriref  ) 
metaPropertyID[A2] ::= MetaPropertyID(  uriref  ) 
datatypeID  [A3] ::= DatatypeID(  uriref  ) 
classID     [A4] ::= ClassID(  uriref  ) 
individualID[A5] ::= IndividualID(  uriref  ) 
dataRangeID [A6] ::= DataRangeID(  uriref  ) 
simpleDataPropID[A7] ::= SimpleDataPropID(  uriref  ) 
complexDataPropID[A8] ::= ComplexDataPropID(  uriref  ) 
simpleObjectPropID[A9] ::= SimpleObjectPropID(  uriref  ) 
complexObjectPropID[A10] ::= ComplexObjectPropID(  uriref  ) 
transitivePropID[A11] ::= TransitivePropID(  uriref  ) 
ontology    [B1] ::= Ontology(  { directive  }  ) 
directive   [C1] ::= header 
            [C2] | axiom 
            [C3] | fact 
header      [D1] ::= Header(  ontologyID { metaPropValue  } { annotation  }  ) 
metaPropValue[E1] ::= MetaPropValue(  metaPropertyID ontologyID  ) 
annotation  [F1] ::= Annotation(  simpleDataPropID dataLiteral  ) 
            [F2] | Annotation(  simpleObjectPropID individual  ) 
fact        [G1] ::= individual 
            [G2] | AllDifferentIndividuals(  { individualID  }  ) 
individual  [H1] ::= Individual(  [ individualID  ] { Type(  description  )  } 
                         { propertyValue  } { individualComparison  }  ) 
propertyValue[I1] ::= PropertyValue(  simpleObjectPropID individual  ) 
            [I2] | PropertyValue(  complexObjectPropID individual  ) 
            [I3] | PropertyValue(  transitivePropID individual  ) 
            [I4] | PropertyValue(  simpleDataPropID dataLiteral  ) 
            [I5] | PropertyValue(  complexDataPropID dataLiteral  ) 
description [J1] ::= classID 
            [J2] | restriction 
dataLiteral [K1] ::= DataLiteral(  lexicalForm [ language  ] [ datatypeID  ]  ) 
individualComparison[L1] ::= SameIndividual(  individual  ) 
            [L2] | DifferentIndividuals(  individual  ) 
axiom       [M1] ::= Class(  classID modality { annotation  } 
                         [ Deprecated  ] { Super(  description  )  } 
                         { classComparison  }  ) 
            [M2] | restriction 
            [M3] | DatatypeProperty(  simpleDataPropID { annotation  } 
                         [ Deprecated  ] { Super(  simpleDataPropID  )  }  ) 
            [M4] | DatatypeProperty(  complexDataPropID { annotation  } 
                         [ Deprecated  ] { Super(  simpleDataPropID  )  } 
                         { Super(  complexDataPropID  )  } { Domain(  classInRestriction  )  } 
                         { Range(  dataRange  )  } [ Functional  ]  ) 
            [M5] | IndividualProperty(  simpleObjectPropID { annotation  } 
                         [ Deprecated  ] { Super(  simpleObjectPropID  )  }  ) 
            [M6] | IndividualProperty(  complexObjectPropID 
                         { annotation  } [ Deprecated  ] { Super(  simpleObjectPropID  )  } 
                         { Super(  complexObjectPropID  )  } 
                         { Super(  transitivePropID  )  } { Domain(  classInRestriction  )  } 
                         { Range(  classInRestriction  )  } { Inverse(  complexObjectPropID  )  } 
                         [ Functional  ] [ InverseFunctional  ] 
                         [ Symmetric  ]  ) 
            [M7] | IndividualProperty(  transitivePropID { annotation  } 
                         [ Deprecated  ] { Super(  simpleObjectPropID  )  } 
                         { Super(  transitivePropID  )  } { Domain(  classInRestriction  )  } 
                         { Range(  classInRestriction  )  } { Inverse(  transitivePropID  )  } 
                         [ Transitive  ]  ) 
            [M8] | EquivalentProperties(  simpleObjectPropID 
                         simpleObjectPropID { simpleObjectPropID  }  ) 
            [M9] | EquivalentProperties(  transitivePropID transitivePropID 
                         { transitivePropID  }  ) 
            [M10] | EquivalentProperties(  complexObjectPropID 
                         complexObjectPropID { complexObjectPropID  }  ) 
            [M11] | EquivalentProperties(  simpleDataPropID simpleDataPropID 
                         { simpleDataPropID  }  ) 
            [M12] | EquivalentProperties(  complexDataPropID 
                         complexDataPropID { complexDataPropID  }  ) 
            [M13] | DatatypeDeclaration(  datatypeID  ) 
            [M14] | description 
modality    [N1] ::= Partial 
            [N2] | Complete 
classComparison[O1] ::= SameClassAs(  classID  ) 
restriction [P1] ::= Restriction(  complexDataPropID AllValuesFrom(  
                         dataRange  ) { restrictionComparison  }  ) 
            [P2] | Restriction(  complexDataPropID SomeValuesFrom(  
                         dataRange  ) { restrictionComparison  }  ) 
            [P3] | Restriction(  complexDataPropID Cardinality(  
                         smallInt  ) { restrictionComparison  }  ) 
            [P4] | Restriction(  complexDataPropID MinCardinality(  
                         smallInt  ) { restrictionComparison  }  ) 
            [P5] | Restriction(  complexDataPropID MaxCardinality(  
                         smallInt  ) { restrictionComparison  }  ) 
            [P6] | Restriction(  complexObjectPropID AllValuesFrom(  
                         classInRestriction  ) { restrictionComparison  }  ) 
            [P7] | Restriction(  complexObjectPropID SomeValuesFrom(  
                         classInRestriction  ) { restrictionComparison  }  ) 
            [P8] | Restriction(  complexObjectPropID Cardinality(  
                         smallInt  ) { restrictionComparison  }  ) 
            [P9] | Restriction(  complexObjectPropID MinCardinality(  
                         smallInt  ) { restrictionComparison  }  ) 
            [P10] | Restriction(  complexObjectPropID MaxCardinality(  
                         smallInt  ) { restrictionComparison  }  ) 
            [P11] | Restriction(  transitivePropID AllValuesFrom(  
                         classInRestriction  ) { restrictionComparison  }  ) 
            [P12] | Restriction(  transitivePropID SomeValuesFrom(  
                         classInRestriction  ) { restrictionComparison  }  ) 
classInRestriction[Q1] ::= classID 
restrictionComparison[R1] ::= None 
smallInt    [S1] ::= 0 
            [S2] | 1 
dataRange   [T1] ::= datatypeID 
            [T2] | dataRangeID