Re: owl:Ontology in abstract syntax

I should take back my original comment about owl:Ontology.
(it's too late isn't it?).

I had misunderstood the # in the rules.

# in N-triples is the comment character, so I had read those productions has
having no real effect!!

(Dan's suggestion of <> would be better).

The
<> rdf:type owl:Ontology .

triples could be generated by any of the following:

1: using Peter's new rules.
2: using the original annotation rule
Annotation( <URI reference> <URI reference> )
=>
# <URI reference> <URI reference> .

with appropriate URIrefs (which would have to be permitted explicitly;
presumably the permitted annotations in the owl namespace will need to be
explicitly listed in the abstract syntax).

3: using a modified annotation rule:
Annotation( <URI reference> <URI reference> )
=>
# <URI reference> <URI reference> .
# rdf:type owl:Ontology .

i.e. that owl:Ontology is required iff there is at least one other
Annotation.



Impact of [1] is that <owl:Ontology rdf:about=""/> is obligatory - this is a
change from D+O.

Impact of [2] is that <owl:Ontology rdf:about=""/> is optional.

Impact of [3] is that the document info section as a whole is optional, but
must use owl:Ontology and must not be empty.


The modified rules look much better.

I note there are still a few bugs:
e.g. no rule for empty sequences (main node is rdf:nil).

I think the Class rule should be split into three cases:
- partial with no descriptions
- with one description
- with two or more descriptions

This could avoid the ugly spurious rdf:Description owl:intersectionOf
elements in say:
http:../../www-archive/2002Dec/att-0071/00-t#proposedRDFXMLFunction-cardinal
ity
D.1.6 owl:cardinality
(quoted at end of message)

I think the use of both annotation and Annotation as two distinct syntactic
constructs is poor naming - how about "OntologyAnotation" and "annotation"?

The abstract syntax should require at least one description in complete
Class constructs.

The cardinality rules currently require the use of xsd:decimal in owl Lite
and OWL DL. It might be better to:
  a) use xsd:nonNegativeInteger
  b) explicitly permit any type derived by restriction from xsd:decimal as
long as the value is in the value space of xsd:nonNegativeInteger

While this *is* non-deterministic, I note that the key use of the abstract
syntax in the spec is to define OWL Lite and OWL DL which are syntactic
subsets of OWL Full.


Jeremy

<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xml:base="http://www.w3.org/2002/03owlt/cardinality/premises001" >
    <owl:Class rdf:ID="c">
     <rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing" />
      <rdfs:subClassOf>
          <rdf:Description>
             <owl:intersectionOf rdf:parseType="Collection">
                <owl:Restriction>
                   <owl:onProperty rdf:resource="#p"/>
                   <owl:cardinality
 rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"
                   >1</owl:cardinality>
                </owl:Restriction>
              </owl:intersectionOf>
           </rdf:Description>
       </rdfs:subClassOf>
     </owl:Class>
     <owl:ObjectProperty rdf:ID="p">
       <rdfs:range rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
       <rdfs:domain rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
     </owl:ObjectProperty>
</rdf:RDF>

Received on Thursday, 19 December 2002 08:50:12 UTC