- From: Jeremy Carroll <jjc@hpl.hp.com>
- Date: Thu, 13 Feb 2003 09:16:00 +0100
- To: www-webont-wg@w3.org
Another message trying to convey some of the motivations behind the new syntax work. This time I will concentrate on what is so wrong with the AS&S mapping rules. The treatment is theoretical, in terms of co-occurency patterns of syntactic categories. First: The principal reason we are not at last call is because AS&S did not satisfy either Herman or myself, acting as WG reviewers. On section 4.2, Herman [1] said: [[ Main points (see URL): - reorder/rewrite material so that it becomes intelligible - include OWL Lite ]] I said [2]: [[ a rewrite of this section 4.2 would be in order ]] Having proposed a rewrite I felt some obligation to show how a rewrite could improve things, which is what motivates the revised syntax. Now onto a theoretical analysis of why my mapping rules are infinitely better than the published ones. (also justify use of the word infinitely). Syntax is about describing co-occurence patterns between categories of symbols. Some patterns are complicated, requiring things like rewrite grammars; other patterns are simpler (requiring lists of patterns). In general a syntax with fewer categories and fewer patterns is clearer and better than one with more categories and patterns. One typically hope that the syntactic categories have some natural correspondence to something in the domain of discourse, since this makes a syntax easier to learn. To describe OWL Lite/DL syntax in terms of triples we start by thinking up categories for the nodes and/or properties in the graph. Many of these arise directly from the abstract syntax and semantic distinctions, such as those between properties and classes. A further syntactic restriction that is implicit in AS&S but only made explicit in my treatment is that between the object-properties that may be transitive or have transitive sub-properties and those object-properties that may be in cardinality constraints. It will be seen that all the URIref categories I propose are natural in the sense of corresponding to abstract syntax concerns. Moreover all the blank node categories either correspond directly to some complex abstract syntax construct like description or restriction or are list categories - the number of such list categories is not excessive. In the published mapping rules all such categories are included (except for ones where Peter is behind the WG decisions, and annotation properties treated as one implicit category as opposed to my two explicit categories). However there are an infinite number of other categories that show their own distinct syntax in the triple form. These arise from a handful of problematic mapping rules. DisjointClasses(description1 … descriptionn) => T(descriptioni) owl:disjointWith T(descriptionj) . For n=2, 3, 4 ... when used with descriptions which map to blank nodes this rule constructs a complex structure of n blank nodes with each participating in precisely n-1 owl:disjointWith triples (the node corresponding to the ith description is object in i-1 of these and subject in n-i of these). Thus for each n>=2 this rule introduces at least n distinct syntactic categories that can be distinguished on the basis of the triples produced. (It gets worse when we rember that some descriptions can be named classes). EquivalentClasses(description1 … descriptionn) => T(descriptioni) owl:sameClassAs T(descriptionj) . ditto. restriction(ID component1 … componentn) => _:x owl:intersectionOf T(SEQ(restriction(ID component1)… restriction(ID componentn))) . This rule is specifically problematic in OWL Lite. In OWL DL it is sufficiently close to a description that it could be patched up. In OWL Lite, except for this rule, owl:intersectionOf appears only to define a named class as a list of restrictions or named classes. This rule allows a restricition itself to be represented as an untyped blank node as long as that blank node is subject of exactly one triple whose object is a list of restrictions - these restrictions in that list can either be from one of the other productions, or can come about from a recursive application of this rule to itself. Thus syntactic categories needed to support explaining this mapping rule include: - restriction - a blank node of type restriction (and some other constraints) - a category x that is a singleton list with a member of category x or a resriction (subject to the side condition of non-circularity and finiteness) - a list of restrictions and category x - a blank node which is subject of one triple whose object is the above such list or rdf:nil. It is easier to fix the abstract syntax than try explaining it. A key part of my revision was the deletion of the above mapping rules, and then making the corresponding changes in the abstract syntax. DifferentIndividuals(iID1 … iIDn) => _:x rdf:type owl:AllDifferent . _:x owl:distinctMembers T(SEQ iIDi … iIDj) Since the DifferentIndividuals rule in the abstract syntax requires n>=1 this rule creates a syntactic category of lists of individualIDs of length at least one. Better to change the abstract syntax to permit n=0, and not introduce a new category in the concrete syntax. In conclusion, we see that the published mapping rules introduce essentially spurious syntactic categories i.e. nodes in a graph that have distinctive patterns of behaviour. This problem is infinite in extent, and is best fixed by the central changes I am proposing in the abstract syntax. Jeremy [1] http://lists.w3.org/Archives/Public/www-webont-wg/2003Jan/0426.html [2[ http://lists.w3.org/Archives/Public/www-webont-wg/2003Jan/0332.html
Received on Thursday, 13 February 2003 03:15:39 UTC