转载自: http://www.mindswap.org/2004/owl-s/api/ OWL-S API OWL-S API provides a Java API for programmatic access to read, execute and write OWL-S (formerly known as DAML-S) service descriptions. The API supports to read different versions of OWL-S (OWL-S 1.0, OWL-S 0.9, DAML-S 0.7) descriptions. The API provides an ExecutionEngine that can invoke AtomicProcesses that has WSDL or UPnP groundings, and CompositeProcecesses that uses control constructs Sequence, Unordered, and Split. Executing processes that relies on conditionals such as If-Then-else and RepeatUntil is not supported in the default implementation. But this implementation can be extended to handle these constructs if the application that uses the OWL-S descriptions has a custom syntax and evaluation procedure for the conditions. Data structures in the API has been designed closely to match the definition in the OWL-S ontology, specifically OWL-S version 1.0. The data structures in the later versions of the API may change as the OWL-S ontologies change and some key issues (distinction between process definition and process occurrence, data flow specification in composite processes) are resolved. The API is incomplete in the areas where the OWL-S specification is incomplete, such as the definition of preconditions and effects. The names for packages, interfaces and methods in Java are chosen to match the names of ontologies, classes and properties in OWL-S ontologies. There are some exceptions to this rule where simpler or more descriptive names are chosen to make programming easier. For example, the method in Service class to get the associated Profile is named as getProfile not getPresents as the property name service:presents in OWL-S ontology suggests. Hopefully, these changes are all intuitive and easy to figure out from the documentation. The API provides some limited support for generic OWL manipulation. All the objects are derived from OWLResource class which has accessor functions to get the value of any OWL property. It is also possible to access the underlying data model (which is based on jena right now) for more advanced queries. But the underlying data model is not part of this API and may be changed to another library (OWL API being the most probable candidate) so it is recommended not to rely on this feature. API does not have the following features: OWL-S ontology allows a Service to have multiple Profiles but API only supports one Profile for each Service API does not have support for ConditionalOutput and ConditionalEffect Executing processes that relies on conditionals such as If-Then-else and RepeatUntil is not supported in the default implementation. OWL-S API is developed and maintained by Evren Sirin. Send your questions and comments to OWL-S mailing list on mindswap. You can subsribe to the mailing list and see the archives here.
阅读全文(5740) | 回复(0) | 编辑 | 精华