W3C home > Mailing lists > Public > public-sws-ig@w3.org > December 2004

Re: [Owlseditor-developer] Re: OWL-S editor paper

From: Daniel Elenius <elenius@csl.sri.com>
Date: Sat, 11 Dec 2004 08:53:27 -0800
Message-ID: <41BB2607.3010902@csl.sri.com>
To: Nicolas F Rouquette <Nicolas.F.Rouquette@jpl.nasa.gov>
CC: public-sws-ig@w3.org, Owlseditor-developer@projects.semwebcentral.org

Nicolas,

Many interesting points, many of which I, too, have to digest for a 
while. Some answers and some further questions though:

>I read the OWL-S overview document and
>tried to find a list of the top-level concept
>for each of the four subontologies. In the end,
>I found it easier to "see" what is going on
>reading the actual *.owl files where it is
>somewhat easier to see that Input is-a Parameter,
>Output is-a Parameter, ... But then, what is confusing is how are these 4 subontologies related to one another. There are some concepts defined in one that are used in another. Maybe I haven't spent enough time reading the OWL-S stuff. 
>
>  
>
Yes, especially (only) the Inputs, Outputs, Conditions and Results, 
which can be referenced in both Profiles and Processes, and the first 
two also in Groundings. In a way, these classes are part of the 
top-level ontology. That is why we have the IOPR Manager in our OWL-S 
Editor to view all these Inputs/Outputs/Preconditons/Results in the same 
place :)

Technically, Input, Output and Result are in the Process ontology, and 
Condition is in the Expression ontology. This doesn't make much sense 
now that I think about it... Perhaps all four of them, should be in a 
Parameter ontology.


>In comparison, I found Mike Grunninger's description of the PSL ontology something that is really nicely organized since, for each "subontology", he seems to use a fairly consistent pattern:
>
>- the intuition about the semantic interpretation of each top-level concept in the subontology
>
>- the informal semantics of the subontology as explained in terms of a set of boolean predicates
>
>- the axiomatic definition of the subontology
> - primitive lexicon of relations and functions
> - defined lexicon of relations and functions
> - axioms that formalize the properties of the ontology
>
>When I read PSL, I can easily imagine writing PSL in Maude and I have a hunch that the Maude spec would look fairly close to the way Mike wrote PSL in KIF.
>Perhaps the axioms might be more complicated eq formulas in Maude but I think it is doable, especially after seeing what kinds of things Mark-Oliver does with OCC.
>
>In contrast, I found that the OWL-S overview is clearly written to have an intuitive clarity but it is not clear (to me at least) that there has been a diligent one-to-one correspondence between the lexicon of terms used in the OWL-S spec and a corresponding axiomatic specification.
>Maybe I've missed something...
>
>  
>
Yes, there are many things in OWL-S that are not expressible in OWL, but 
are left to intuitions or comments in the .owl files. Not good.

>Yes, the top-level structure of each sub-ontology
>and how the sub-ontologies depend/relate on one another. Additionally, it is understandable that the people who have developped OWL-S have been "influenced" by UDDI & WSDL for business reasons;
>on the other hand, it is not clear what kind of bias UDDI & WSDL is making to someone who might want to use OWL-S without UDDI & WSDL.
>
>  
>
As I understand it, OWL-S is about semantic web services, not process 
modelling in general. This doesn't mean that it can't be used for 
non-service-related process modelling, of course. It also doesn't mean 
that some very generic process modelling approach cannot be used for 
modelling web services. But in case there is a conflict, the main focus 
of OWL-S remains SWSs.

>Well, OWL-S talks about process; so does PSL,
>so does OWL-P, so does FSM (another ontology about finite state machines), so do the folk that map UML into an upper ontology. 
>
Can you give a pointer to the latter?

>There's many, many ways to talk about process and it is far from obvious with of these ontologies is the right "fit" for someone who may know little about what each does or is intended for. Again, this goes back to the question of describing the scope/context/intent of modeling a process w/ OWL-S. Yes I understand that it models inputs, outputs, control & data flows but at the same time, it does not talk about some of the other concepts that one might find in other process ontologies. Whether this is a 
>
As I don't have much experience with these other process languages -- 
what are some of these process-related concepts that OWL-S does not have?

>>See above. It could. One would possibly have to define a new 
>>grounding 
>>model and make it a subclass of
>>the existing grounding class.
>>    
>>
>
>I understand your point of view; however, 
>I am not certain that your statement is practical:
>if I have existing concepts in my ontology that I want to use as a grounding class for OWL-S, then that may create logical inconsistencies in my ontology or create something that reasoners can't easily deal with (e.g, make the ontology DL-Full instead of DL-Lite).
>
>  
>
That's not how one does it in OWL-S. You don't use an existing concept 
in your ontology as a grounding class. You create a grounding to map 
between , one the one hand, the concepts in your ontology that are used 
as inputs/outputs to the atomic processes in the OWL-S Process, to, on 
the other hand, the concrete serialization in terms of WSDL, or other 
formats.

>>one does not have to subclass OWL-S in order to use it. There is 
>>much 
>>use of the OWL-S ontology by
>>creating instances of the existing ontologies. 
>>    
>>
>
>What happens when you want to talk about the process that all instances of a concept share? For example, you could say that all fuel-powered engines consume gasoline and produce pollution. Someone may have that concept as a class (in OWL), not as an instance (in OWL). Now what do I do? How can I talk about "fuel-powered engines" as an instance of an OWL-S process without breaking my engine ontology?
>
>  
>
You can use a hasValue restriction on the class.

<owl:class FulePoweredEngine>
  <owl:subClassOf>
    <owl:Restriction>
       <owl:onProperty rdf:resource="hasProcess"/>
       <owl:hasValue rdf:resource="GasolineConsumingProcess"/>
    </owl:Restriction>
  </owl:subClassOf>
</owl:class FulePoweredEngine>



Regards,
Daniel
Received on Saturday, 11 December 2004 16:53:36 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Sunday, 16 March 2008 00:10:59 GMT