Dear Ken, (01)
many thanks! (02)
Am 13.03.2013 15:11, schrieb kenb:
> The API is currently a REST API and is the same as BioPortal, see:
>
> http://www.bioontology.org/wiki/index.php/NCBO_REST_services (03)
OK. I have taken a quick look.
Note that Ontohub needs a much richer and sometimes also different API.
This is because Ontohub not only supports OWL ontologies, but also
ontologies written in other languages, e.g. Common Logic. (If I recall
right, OOR shares this goal.) (04)
Let me be more specific, commenting on Bioportal's API methods: (05)
* List all the latest version of ontologies
* Get a specific ontology based on a version id
* Download an ontology file
* Download the latest ontology file
* Get all versions of an ontology from a virtual ontology id
* Get latest version of an ontology id
* Get Metrics for an ontology version
* Get all the namespace prefixes for an ontology version (06)
These should be fine for Ontohub. However, since Ontohub will support
multiple ontology languages (and these are first class citizens), we
need more services, for listing ontology languages, their translations etc. (07)
* List all ontology categories
* List all ontology groups (08)
These are missing in Ontohub - we should add them! (09)
* Download a specific ontology view based on the ontology view version id
* Get all view versions of a virtual view
* List the latest version of all Views
* Get all versions of views from a virtual ontology id (010)
It seems that views assume that the ontology contains a class hierarchy.
This is not (per se) the case for e.g. Common Logic ontologies. Hence,
these services will apply only to specific ontologies. Moreover, for
Common Logic, there will be other services, specific to Common Logic.
This raises the issue of ontology language-specific services and their
handling. (011)
* Search BioPortal (012)
This also partly is specific to OWL and needs to be generalized. (013)
* Get term, including its properties, subclasses, and superclasses
* Get all root terms for an ontology version id
* Get a path between a term and the root
* Get all terms using the specific ontology version id
* Get all terms using the virtual ontology id (014)
Again, this is OWL-specific. We have generalized the term "term" to
"symbol". A symbol can be a class of a property in OWL, a name or a
sequence marker in Common Logic, and a function or predicate symbol in
first-order logic. (015)
* Get all available ontology properties using the specific ontology
version id (016)
Again, this is OWL-specific. Properties are certain symbols, in Ontohub
parlance. (017)
We need the following services: get all kinds of symbols (for a given
ontology language), give all symbols of a given kind, etc. (018)
* Get all direct instances for a given term
* Get an instance and its property/value pairs
* Get paths to root/leaves from a concept in the latest version of a
given ontology
* Hierarchy Services (019)
Again, these are OWL-specific. (020)
* Bio2RDF Dump Service
* RDF Term Service
* RDF Download Service (021)
In Ontohub, you will have several serializations per ontology language.
So will will have services: list all serializations of a given ontology
language, dump a given ontology using a given serialization. (022)
* Annotator Service (023)
This service it specific to bio ontologies. How to generalise it to
other domains? It seems that some (more static) list of service types
and (more dynamically growing) list of actual services (conforming to
these service types) would be useful. This of course also includes
services like OOPS! (024)
* Ontology Recommender (025)
Interesting challenge to generalise this to ontologies written in
arbitrary languages... (026)
* Resource Index Service (027)
could be adapted for Ontohub, if "concept" is replaced by "symbol" (028)
* Notes Service (Term Proposals and Comments) (029)
fine for Ontohub (030)
* Mapping Services
* Get a single mapping
* Get a list of mappings filtered by parameters
* Get a list of mappings for a term
* Get a list of mappings between two terms
* Get a list of mappings for an ontology
* Get a list of mappings between two ontologies
* Create a new mapping
* Update a Mapping
* Delete a Mapping
* Mapping Statistics
* Get Recent Mappings
* Get Number of Mappings To/From Given Ontology
* Get Number of Mappings to Terms in Given Ontology
* Get Number of Mappings by Users for a Given Ontology (031)
fine as well, if "concept" and "term" are replaced by "symbol". (032)
> As you noted, the plan is to specify the repository content using an
> ontology. To this end, BioPortal has been developing a SPARQL endpoint
> that is still being tested. It is documented at:
>
> http://www.bioontology.org/wiki/index.php/SPARQL_BioPortal
>
> When that is completed, it could form the basis for an OOR SPARQL
> endpoint. This should take care of expressing the query method of the
> API in terms of an ontology. However, the rest of the API is in REST
> (no pun intended) which is far from being ontology-based.
>
> To base the rest of the API on an ontology, I analyzed the API and
> expressed it in terms of SOAP. Here is the proposed WSDL for OOR:
>
> http://www.ccs.neu.edu/home/kenb/oor/OORService.wsdl
>
> I also expressed it in terms of Java:
>
> http://www.ccs.neu.edu/home/kenb/oor/OORI.java
>
> One can support both SOAP and REST simultaneously with the same server
> using my soaprest package, but this has not yet been done for OOR.
>
> Moreover, the WSDL is based on an earlier version of BioPortal, so it is
> no longer fully compatible with the OOR instances. However, the WSDL is
> reasonably close. (033)
Our plan for Ontohub is to start with RESTful services, like Bioportal
does, also because this is simpler in Ruby on Rails. But I agree that a
WSDL version is ontologically cleaner... (034)
> I hope this helps clarify the situation. Let me know if you have any
> other questions. (035)
All the best,
Till (036)
--
Prof. Dr. Till Mossakowski Cartesium, room 2.51 Phone +49-421-218-64226
DFKI GmbH Bremen Fax +49-421-218-9864226
Cyber-Physical Systems Till.Mossakowski@xxxxxxx
Enrique-Schmidt-Str. 5, D-28359 Bremen
http://www.informatik.uni-bremen.de/~till/ (037)
Deutsches Forschungszentrum fuer Kuenstliche Intelligenz GmbH
principal office, *not* the address for mail etc.!!!:
Trippstadter Str. 122, D-67663 Kaiserslautern
management board: Prof. Wolfgang Wahlster (chair), Dr. Walter Olthoff
supervisory board: Prof. Hans A. Aukes (chair)
Amtsgericht Kaiserslautern, HRB 2313 (038)
_________________________________________________________________
Msg Archives: http://ontolog.cim3.net/forum/ontology-summit/
Subscribe/Config: http://ontolog.cim3.net/mailman/listinfo/ontology-summit/
Unsubscribe: mailto:ontology-summit-leave@xxxxxxxxxxxxxxxx
Community Files: http://ontolog.cim3.net/file/work/OntologySummit2013/
Community Wiki: http://ontolog.cim3.net/cgi-bin/wiki.pl?OntologySummit2013
Community Portal: http://ontolog.cim3.net/wiki/ (039)
|