- From: Daniel Elenius <daele@ida.liu.se>
- Date: Wed, 07 Apr 2004 14:03:37 +0200
- To: public-sws-ig@w3.org
- Cc: Bijan Parsia <bparsia@isr.umd.edu>
>> 2) OWL DL doesn't allow renaming built-in rdf, rdfs or owl classes or
>> properties[1], so they have to be called something other than
>> List/first/rest.
>
>
> They need to be called something other than *rdf*:List/first/rest.
> Which they are. That was the whole point :)
>
> Replace the content of the &shadow-list; with the rdf namespace and
> watch the WonderWeb validator moan.
>
Oh, sorry.
>> Is this list construct going to be used in OWL-S or is the issue not
>> settled?
>
>
> It's a stop gap that makes the current OWL-S DL compatible. It's
> really intended only for the syntactic uses you see in the current
> ontologies. I am working on other list vocabulary that could be used
> to model, say, parameterTypes, but it gets ugly, quick.
>
Tell me about it. I tried replacing rdf:List with my own owl:List
similar to yours. Populating the lists while not being able to use
rdf:Collection to group elements quickly becomes ugly, overly verbose,
and error-prone:
On the other hand, most services will probably be modeled using tools
anyway, so this may not matter much.
A different representation in OWL DL could be:
<owl:Class rdf:ID="List>
</owl:Class>
<owl:ObjectProperty rdf:ID="listElement">
<rdfs:domain rdf:resource="#List"/>
<rdfs:range rdf:resource="ListElement"/>
</owl:ObjectProperty>
<owl:Class rdf:ID="ListElement">
</owl:Class>
<owl:DatatypeProperty rdf:ID="elementIndex">
<rdfs:domain rdf:resource="#ListElement"/>
<rdfs:range rdf:resource="&xsd;#NonNegativeInteger"/>
</owl:DatatypeProperty>
<owl:ObjectProperty rdf:ID="elementValue">
<rdfs:domain rdf:resource="#ListElement"/>
<rdfs:range rdf:resource="&owl;#Thing"/>
</owl:ObjectProperty>
Instances would look like:
<List>
<listElement>
<ListElement>
<elementIndex rdf:datatype="&xsd;#NonNegativeInteger">0</elementIndex>
<elementValue> some value </elementValue>
</ListElement>
<listElement>
<ListElement>
<elementIndex rdf:datatype="&xsd;#NonNegativeInteger">1</elementIndex>
<elementValue> some other value </elementValue>
</ListElement>
</List>
Which is arguably a lot nicer than what you get with a home-made linked
list at least...
I have another question: How will parameter instances look in OWL-S 1.1?
In 1.0, we have things like this:
<process:Input rdf:ID="CongoBuySignInInfo">
<process:parameterType rdf:resource="#SignInData"/>
</process:Input>
So, Inputs are instantiated, and the parameterType property points to a
*class*, which is of course OWL Full (classes-as-instances* are not
allowed by OWL DL). How will this look in OWL-S 1.1?
* the classes-as-instances discussion recently came up on the Protege
list, and someone pointed to this somewhat interesting thread:
http://lists.w3.org/Archives/Public/public-swbp-wg/2004JanMar/0105.html
Regards,
Daniel
Received on Wednesday, 7 April 2004 08:03:50 UTC