OWL Syntax - complex restrictions

I attached three tests related to the mapping rule:

restriction(ID component1 … componentn) 
(With at least two components)

=>

 _:x owl:intersectionOf 
  T(SEQ(restriction(ID component1) …
    restriction(ID componentn))) .

The first test (101) shows a simple application of this rule.
According to both the AS&S WD and the S&AS editors draft this is OWL Lite.

This rule is the only way on OWL Lite of introducing a bNode that looks 
somewhat like a description.
Other use of intersectionOf in OWL Lite is on named classes.
Other class like bNodes are all of type owl:Restriction.

This rule is very fragile, when used backwards.

The second test 102 shows has changed an rdf:Description in test 101 to an 
owl:Class. Since this node is the subject of owl:intersectionOf and the 
object of rdf:type, this should be relatively innocuous - instead it means 
that the construct now can only correspond to an abstract syntax description 
and is hence in OWL DL.

The third test 103 again exhinits the fragility of this rule, since the only 
change is one #p is replaced by a #q. Again this is enough to make the 
construct a description rather than a multipart restriction - and hence this 
file too is in OWL DL according to the published docs.

This is fixed in my work on syntax by simply not allowing multipart 
restrictions in the abstract syntax.
http://sealpc09.cnuce.cnr.it/jeremy/owl-syntax/2003-12-Feb/intro.html

Another possible fix is to:
- simply delete the mapping rule.
  Then not all abstract syntaxes can be mapped, which would need editorial 
comment, but is non-fatal to the overall design.


This fix can also be applied to the EquivalentZZZ's rules and the 
DisjointClasses rules - only have them defined for two elements.
Some abstract syntaxes then cannot be mapped, but are semantically equivalent 
to ones that can.

Jeremy

Received on Wednesday, 19 February 2003 05:38:06 UTC