OWL-S contains also features for describing workflows.
Here an example by Hans-Werner:
...<owl:Class rdf:ID="Language" >
<owl:oneOf rdf:parseType="Collection">
<owl:Thing rdf:about="#German" />
<owl:Thing rdf:about="#Saxonian" />
<owl:Thing rdf:about="#Elbian" />
<owl:Thing rdf:about="#Klingonian" />
</owl:oneOf>
</owl:Class><owl:Class rdf:ID="Text" /><owl:ObjectProperty rdf:ID="writtenIn">
<rdfs:domain rdf:resource="#Text" />
<rdfs:range rdf:resource="#Language" />
</owl:ObjectProperty><owl:Class rdf:ID="KlingonianText" />
<rdfs:subClassOf rdf:resource="#Text" />
<owl:Restriction>
<owl:onProperty rdf:resource="#writtenIn" />
<owl:hasValue rdf:resource="#Klingonian" />
</owl:Restriction>
</owl:Class><KlingonianText rdf:ID="KlingonianLoveLetter">
</KlingonianText>...<process:AtomicProcess rdf:ID="KlingonianSaxonian">
<process:hasInput>
<process:Input rdf:ID="#KlingonianLoveLetter">
<process:parameterType rdf:resource="#KlingonianText"/>
</process:Input>
</process:hasInput>
<process:hasOutput>
<process:Output rdf:ID="#SaxonianLoveLetter">
<process:parameterType rdf:resource="#SaxonianText"/>
</process:Output>
</process:hasOutput>
</process:AtomicProcess>...<process:CompositeProcess rdf:ID="KlingonianGerman">
<process:composedOf>
<process:Sequence>
<process:components rdf:parseType="Collection">
<process:AtomicProcess rdf:about="KlingonianSaxonian"/>
<process:AtomicProcess rdf:about="SaxonianGerman"/>
</process:components>
</process:Sequence>
</process:composeOf>
<process:hasInput>
<process:Input rdf:ID="#KlingonianLoveLetter">
<process:parameterType rdf:resource="#KlingonianText"/>
</process:Input>
</process:hasInput>
<process:hasOutput>
<process:Output rdf:ID="#GermanLoveLetter">
<process:parameterType rdf:resource="#GermanText"/>
</process:Output>
</process:hasOutput>
</process:CompositeProcess>