- From: Evren Sirin <evren@cs.umd.edu>
- Date: Tue, 04 Jan 2005 22:53:33 -0500
- To: Tatiana Vieira <tascvieira@yahoo.com.br>
- CC: public-sws-ig@w3.org
Tatiana Vieira wrote: > Hi Evren, > > Sorry for the inconvenience...but as far as we discuss it, I get more > doubts.... > > I'm really very confused with this terminology...Indeed, OutputA is > not of type books:Book as I wrote before, but it represents a data of > type books:Book. So, in my understanding, OutputA just serves as a > indication of the type of the output the service will generate, and > not as the output data itself. Roughly speaking, OutputA doesn't have > any purpose (sorry for this very "restrictive" word) during execution, > because what we have to query is the produced data, I mean the > books:Book info produced by the process. Ok? Yes, that is pretty much it. > > As you exemplified, I could write a piece of code to represent the > data generated by the process execution. This code would contain the > data itself, the Book data for instance. > > ><PerformResult> > > <performedProcess rdf:resource="#FindBook"> > > <hasInputValue> > > <InputValue> > > <input rdf:resource="BookName"/> > > <hasDataValue rdf:datatype="&xsd;#string">Name of > >the book</hasDataValue> > > </InputValue> > > </hasInputValue> > > <hasOutputValue> > > <OutputValue> > > <output rdf:resource="BookInfo"/> > > <hasValue> > > <books:Book> > > <books:hasTitle>...</books:hasTitle> > > <books:hasAuthor rdf:resource="..."/> > > </books:Book> > > </hasValue> > > </OutputValue> > > </hasOutputValue> > ></PerformResult> > > At this piece of code, is "BookInfo" the Output of the process? > (process:Output rdf:ID="BookInfo"...process:parameterType > books:Book) ? I'm trying to understand it... Yes, exactly. What I had in mind was a process description like this: <process:AtomicProcess rdf:ID="FindBook"> <process:hasInput> <process:Input rdf:ID="BookName"> <process:parameterType rdf:datatype="&xsd;anyURI">&xsd;#string</process:parameterType> </process:Input> </process:hasInput> <process:hasOutput> <process:Output rdf:ID="BookInfo"> <process:parameterType rdf:datatype="&xsd;anyURI">&books;#Book</process:parameterType> </process:Output> </process:hasOutput> </process:AtomicProcess> > > I think the parameterType makes confusion in my mind!!!! In the same > way, did now the sintax of Parameter. As described at Process.owl > file, a Parameter can have at minimum one parameterType. What does it > mean? If it has more than one type, doesn't it have to have also the > same number of parameterValue? (I thought it as an structured > parameter) How can one Parameter have more than one type? Hmm, that I don't know. I think that it should be a cardinality (not minCardinality) restriction. Regards, Evren > > Thank you for the help and sorry for the confusion with > FullCongoBuyBookName...sure it is an Input! I picked up the wrong example! > > Tatiana. > > > */Evren Sirin <evren@cs.umd.edu>/* wrote: > > Tatiana Vieira wrote: > > > Evren, > > > > > OutputA is an instance itself so you wouldn't generate an > instance of > > > that individual. Note that OutputA is the description of the > output > > > parameter and different from the values that are retrieved > from the Web > > > Service. > > Ok, I understood OutputA is the instance, but what do you mean with > > "different from the values that are retrieved from the Web > Service"? > > If it is the instance of the process output, how can I get the > output > > data? If OutputA is of type books:Book, so the output data is > > something like: > > > > > > ... > > > &g! t; > > > > Isn't it correct? > > No, it is not. This description defines an anonymous individual > that is > an instance of OutputA. It means that OutputA is a class which is not > true. OutputA is an individual of type process:Output. > > > It's because OutputA is defined as an output of my process (in its > > namespace), and OutputA is of type books:Book, ok? > > Maybe there is a confusion with the terminology here. OutputA is > NOT of > type books:Book. It would be of type books:Book if there was a > statement > (OutputA rdf:type books:Book) or it could be inferred from other > statements.On the other hand, the statement (OutputA > process:parameterType books:Book), describes that the value Web > Service > will return is going to be of type books:Book (as the example in my > previous e-mail). > > > > > > you need to use the instance > > > returned by the service. This is how the precondition! s and > effects are > > > evaluated anyway. If the expression in the effect refers to an > output > > > parameter then after execution the value returned from the > service is > > > replaced in the expression and applied to the current state. > > Yes, it's what I want...to have the value generated by the > service!!! > > > > In the Congo process example, for instance, we have a similar case. > > FullCongoBuyBookName is an output of FullCongoBuy process > > Actually it as an input. > > > , but FullCongoBuyBookName is of type xsd;#string. In this case, > how > > does the generated string value is queried? > > There is no direct representation of Web Service execution results in > OWL-S. But you could easily define your own class to represent that > information. I guess you would want to represent at least three > different things, process that was executed, the input values > sent, the > output values received. In the case of data! values you can use > datatype > properties. For example, suppose FindBook process accepts an > xsd:string > input and returns the book information as a books:Book instance. Then > you could have something like this to describe the result: > > > > > > > Name of > the book > > > > > > > > ... > > > > > > > > If you generate descriptions like this (maybe with additional > information like a timestamp, etc.), put them in your KB then you can > query them any way you like. > > Regards, > Evren > > > > > Sorry for many doubts, > > Tatiana. > > > > > > */Evren Sirin /* wrote: > > > > Tatiana Vieira wrote: > > > > > Hi Evren, > > > > > > I understood that it's expected that everybody explicitly says > > that a > > > Parameter is an Input or an Output, for instance, instead of > simply > > > saying that it's a Parameter. However, I continue with my doubt... > > > > > > Thinking about the execution of the process I specified, if I > > put that > > > a process A has as output the parameter named "OutputA" > > > (process:Output rdf:ID="OutputA"), which is of type MyClass, > > > > So we have: OutputA parameterType MyClass > > > > > is it expected that during execution an instance of OutputA is > > generated? > > > > OutputA is an instance itself so you wouldn't generate an > instance of> that individual. Note that OutputA is the description > of the output > > parameter and fifferent from the values that are retrieved from > > the Web > > Sservice. > > > > ! > I mean, will the execution generate, for example, an instance > > > OutputA_a that is of type MyClass? > > > > This is not the same as the above but it is more accurate. For > > example, > > if the parameterType of the output is books:Book (assuming Book is a > > class defined in the books ontology) then when you execute the > > service > > you may recevie a result like this from the service: > > > > > > ... > > > > ... > > > > > > There may or may not be an ID associated with this Book instance > > depending on how the service works. > > > > > > > > I'm asking it because I'm constructing a system that have some > > rules > > > associated with some variables, specially with the proc! esses > output > > > variables and I (the system) must test if the value of one > > output was > > > "X", for example. So, how do I have to test it? If an inst! ance > > is the > > > generated, I would have to test the value of this instance...if > > not, I > > > would have to test the value of OutputA, don't I? > > > > I'm not sure what you mean by "the value of OutputA" but as far as I > > understand your problem it seems that you need to use the instance > > returned by the service. This is how the preconditions and effects > > are > > evaluated anyway. If the expression in the effect refers to an > output > > parameter then after execution the value returned from the > service is > > replaced in the expression and applied to the current state. > > > > Hope this helps, > > Evren > > > > > > > > Thank you again, > > > Tatiana. > > > > > > > > > */Evren Sir! in /* wrote: > > > > > > > > > Hi Tatiana, > > > The "instantiation" of Parameter class is not related to the > > > execution > > > of processes. It is related to the OWL individuals found in the > > OWL-S > > > descriptions. It simply says that we don't expe! ct anybody to > > create a > > > "direct" instance of Parameter class, i.e. having only one type > > > assertion for a parameter like this: > > > > > > > > > > > > In your OWL-S description, it is expected (though not mandatory) > > that > > > you will explicitly say that a parameter is an input or output, > > > i.e. by > > > saying > > > > > > OR > > > > > > There are also different subclasses of Parameter class defined in > > > OWL-S > > > 1.1, such as Local and ResultVar, which you might use. Of course > > > you can > > > also extend the OWL-S ontologies to define your own subclasses > > of the > > > Parameter class. > > > > > > Regards, > > > Evren > > > > > > > > > > > > Tatiana Vieira wrote: > > > > > > > Hi people, > > > > In the "OWL-S: Semantic Markup for Web Services" document, > > > > Section 4.2.3, when there is a description about > > "hasParameter", we > > > > found the following sentence: "...we do not expe! ct this > > class to be > > > > instantiated. It's role is solely making domain knowledge > > > explicit". > > > > What does it mean? What happens when a process is executed: > > does it > > > > create an instance of each output parameter class? > > > > Thank you in advance, > > > > Tatiana. > > > > > > > > __________________________________________________ > > > > Converse com seus amigos em te! mpo real com o Yahoo! Messenger > > > > http://br.download.yahoo.com/messenger/ > > > > > > > > > > > > > > > > ------------------------------------------------------------------------ > > > Yahoo! Acesso Grátis > > > - > > > Internet rápida e grátis. Instale o discador do Yahoo! agora. > > > > > > > ------------------------------------------------------------------------ > > Yahoo! Acesso Grátis > > - > > Internet rápida e grátis. Instale o discador do Yahoo! agora. > > > ------------------------------------------------------------------------ > Yahoo! Acesso Grátis > <http://br.rd.yahoo.com/mail/taglines/*http://br.acesso.yahoo.com/> - > Internet rápida e grátis. Instale o discador do Yahoo! agora.
Received on Wednesday, 5 January 2005 03:54:09 UTC