- 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