Changes between Version 3 and Version 4 of SadiDayOne
- Timestamp:
- 2010/02/09 18:42:59 (15 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
SadiDayOne
v3 v4 1 1 = Day 1: SADI Web Services = 2 2 3 Today we achieved several goals. First, we drew some conclusions about how the OWL ontologies should look for our Output classes in order to maximize our ability to discover and chain-services together through reasoning.3 We are beginning to publish a set of best practices for service providers by codifying the lessons we've learned in the last year of service-building. 4 4 5 5 For example, say we have a service 'getKEGGParalogsByGene', which will provide the KEGG ID of the paralogs of any input KEGG gene id. The output class would be defined as in the ontology below: … … 20 20 <owl:imports> 21 21 <owl:Ontology rdf:about="http://sadiframework.org/ontologies/service_objects.owl#"/> 22 </owl:imports>23 <owl:imports>24 <owl:Ontology rdf:about="http://protege.stanford.edu/plugins/owl/dc/protege-dc.owl"/>25 22 </owl:imports> 26 23 <owl:imports> … … 46 43 The important things to note are: 47 44 48 1. We are explicitly importing any ontology we refer to45 1. we are explicitly importing any ontology we refer to 49 46 50 2. our output class is a subclass of the input data-type (in this case, a KEGG_Record id)47 2. our output class is a subclass of the input class (in this case, a KEGG_Record) 51 48 52 3. ou t output class also includes a restriction that it promises to give you 'isParalogOf' predicates attached to additional KEGG_Record entities. '''explicitly restricting the values that you will outputis important, since it allows us to do reasoning about how to chain services together.''' It is important that we put this restriction here, since it allows us to constrain OUR use of that predicate, without constraining the range of that predicate for anyone else!49 3. our output class includes a restriction indicating that the service returns KEGG_Records related to the input by the 'isParalogOf' predicate (i.e.: KEGG_Records that are paralogs of the input KEGG_Record). The owl:valuesFrom property on the restriction allows us to do reasoning about how to chain services together. It is important that we put this restriction here instead of in the owl definition of the predicate itself, since it allows us to constrain OUR use of the predicate, without constraining its range for anyone else! 53 50 51