Re: [OWL-S] DLization of 1.1

>> 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