- 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