strawman concise syntax (was Re: [OWL-S] new IOPE example #1)

*Not* another new serialization of RDF, but apologies, it is a little 
off-topic.
 
I couldn't help being struck by the verbosity and syntax complexity of 
David's example. Ok, I'm sure this has been raised before, and in this 
spec definition phase with RDF/XML as the interchange language I suppose 
that's to some extent understandable. But might it still not make sense 
to express things like this in a more concise language that was 
originally designed for specifying processes, i.e. a programming 
language. e.g.

<process:AtomicProcess rdf:id="Add">

        <xxx:interpreter rdf:resource="http://java.sun.com"/>

        <xxx:source rdf:parseType="Literal"><![CDATA[
            float process(float x, float y);
        ]]></xxx:source>

       <xxx:terminals>
             <xxx:input rdf:id="Add_In2">
             <xxx:input rdf:id="Add_In2">
             <xxx:output rdf:id="Output">
       </xxx:terminals>

</process:AtomicProcess>

A microparser could derive the same triples from this as the more 
verbose version.

Cheers,
Danny.


David Martin wrote:

>
> Here's a simple example with an effect expression, which is consistent
> with our recent discussions.  But there are several issues listed
> below.  I'd appreciate comments on those.  (Drew, Mark, Bijan, your
> attention is particularly solicited.)
>
> Note: the effect assumes the existence of an "arithmetic" ontology
> defining "Pair" (a class) and "sum" (a property), 2 basic concepts of
> arithmetic.  The idea here is to define the effect of AtomicProcess
> "Add", in terms of these basic concepts.  (That is, the effect simply
> says that the output is the sum of the 2 input values.)
>
> Note: As mentioned in Bijan's recent message, each input and output is
> a SWRL variable (because Input and Output are subclasses of 
> swrl:Variable).
>
> <process:AtomicProcess rdf:id="Add">
>   <process:hasInput>
>     <Input rdf:id="Add_In1">
>       <parameterType rdf:datatype=
>         "&xsd;anyURI">xsd:float</parameterType>
>     </Input>
>   <process:hasInput rdf:id="Add_In2">
>     <Input>
>       <parameterType rdf:datatype=
>         "&xsd;anyURI">xsd:float</parameterType>
>     </Input>
>   </process:hasInput>
>   <process:hasOutput>
>     <Output rdf:id="Add_Out">
>       <parameterType rdf:datatype=
>         "&xsd;anyURI">xsd:float</parameterType>
>     </Output>
>   </process:hasOutput>
>   <process:hasEffect>
>     <???:Formula>
>       <???:inLanguage rdf:datatype=
>         "&xsd;anyURI">...swrl...</???:inLanguage>
>       <???:conjuncts rdf:parseType="Collection">
>         <swrl:datavaluedPropertyAtom>
>           <swrl:propertyPredicate rdf:resource="&arithmetic;sum"/>
>           <swrl:argument1>
>             <arithmetic:Pair>
>               <first rdf:resource="#Add_In1">
>               <second rdf:resource="#Add_In2">
>             </arithmetic:Pair>
>           </swrl:argument1>
>           <swrl:argument2 rdf:resource="#Add_Out"/>
>         </swrl:datavaluedPropertyAtom>
>       </???:conjuncts>
>     </???:Formula>
>   </process:hasEffect>
> </process:AtomicProcess>
>
> (1) Are we happy with having a Formula class, with properties
> "inLanguage" and "conjuncts"?  If so, is it defined in DRS' namespace,
> or where?  Should a value of inLanguage be a URI?
>
> (2) Does the formula content need to be a literal, as we have
> discussed?  If so, how is that done?  With parsetype=Literal?  But
> then I'm not clear about where (on what property) to put that.
>
> (3) hasEffect is a simplification, with respect to OWL-S 1.0.  That 
> is, in 1.0, the value of hasEffect should be an instance of
> ConditionalEffect, whereas here it's value is an instance of
> ???:Formula.  Do we want to allow for a simplification like this?
>
> Thanks,
> David
>
>


-- 
----
Raw
http://dannyayers.com

Received on Wednesday, 31 March 2004 07:42:28 UTC