Re: OWL, how do I...

> Any Measurement('s value) MUST be an integer:
> There may be an owl full solution to directly apply a local value
> constraint to rdf:value (allValuesFrom xsd:integer?) but I'd suggest
> defining a separate value prop for Measurements:

Thanks, excellent idea. I agree that having a separate property for the
value may be simpler, but it may happen that a DatatypeProperty needs to
be promoted to an ObjectProperty, without breaking anything. As far as I
can see the following is in fact valid, at least within OWL Full:

  <owl:Class rdf:ID="Measurement">
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="&rdf;value"/>
        </owl:onProperty>
        <owl:allValuesFrom rdf:resource="&xsd;integer"/>
      </owl:Restriction>
    </rdfs:subClassOf>
  </owl:Class>


> >2) How do I state that any statement with a 'length' property is
> >expected to have an author property?

> (you could maybe define some sort of complete
> AuthoredLengthStatement class with cardinality constraints
> on length and author and then make your app consider only
> "valid" AuthoredLengthStatements...)

Introducing my own Statement class improves things, but there really
doesn't seem to be a way to describe that instances of
AuthoredLengthStatements are used for statements involving the 'length'
property!

<rdf:Description about="urn:test:1">
  <rdf:type rdf:resource="#Measurement"/>
  <length rdf:ID="#_1">42</length>
</rdf:Description>

<rdf:Description about="#_1">
  <rdf:type rdf:resource="#AuthoredLengthStatement"/>
  <author>Me</author>
</rdf:Description>


> >3) What's the benefit of using owl:Thing instead of plain simple
> >rdf:Description for describing data?

> owl:Thing is actually typing the resource as being in OWL space.

So the question is, what's the benefit of being in the OWL space.
Perhaps being an owl:Thing is a prerequisite for being referenced from
another OWL construct such as enumerations. However I wonder if this
also applies in the reverse direction, i.e. would an instance of an
owl:Class be required to be an owl:Thing, or would this be implied even
if not explicitely stated?


Questions over questions...

Received on Saturday, 7 February 2004 15:29:59 UTC