Re: [owl-s] Re: My version of my proposal

I wonder whether a simpler solution may be the following. The value of 
input/output parameters should not be a class anyway, but an instance of 
a give type. So we can say that the range of parameter value is owl:Thing.

<owl:Class rdf:ID="Parameter">
</owl:Class>

<owl:DatatypeProperty rdf:ID="parameterName">
<rdfs:domain rdf:resource="#Parameter"/>
<rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
</owl:DatatypeProperty>

<owl:ObjectProperty rdf:ID="parameterValue">
<rdfs:domain rdf:resource="#ParameterValueSpec"/>
<rdfs:range rdf:resource="&owl;#Thing"/>
</owl:ObjectProperty>

<!-- definition of Input -->

<owl:Class rdf:ID="Input">
<rdfs:subClassOf rdf:resource="#Parameter"/>

<!-- here I would like to say that I have an input that takes only 
Airports as value -->
<!-- to do that I define a new class of inputs that take airports as 
value -->

<owl:Class rdf:ID="AirportInput">
<rdfs:label>AirportInput</rdfs:label>
<rdfs:subClassOf rdf:resource="#Input"/>
<owl:Restriction>
<owl:onProperty rdf:resource="parameterType"/>
<owl:allValuesFrom rdf:resource="#Airport"/>
</owl:Restriction>
</owl:Class>

<AirportInput rdf:ID="DepartureAirport_right">
<parameterValue rdf:resource="#Logan"/>
</AirportInput>

<AirportInput rdf:ID="DepartureAirport_wrong">
<parameterValue rdf:resource="#BostonArbor"/>
</AirportInput>

<!-- Where of course Logan and BostonArbor are defined as follows -->
<Airport rdf:ID="Logan"/>
<Arbor rdf:ID="BostonArbor"/>

<!-- while Airport and Arobor are defined as follows -->
<owl:Class rdf:ID="Airport">
<rdfs:label>Airport</rdfs:label>
</owl:Class>

<owl:Class rdf:ID="Arbor">
<rdfs:label>Arbor</rdfs:label>
</owl:Class>

Received on Thursday, 9 October 2003 15:31:57 UTC