UMBEL - Annex E 20120521
UMBEL Annex Document - 21 May 2012
- Latest version
- Last update
- $Date: 2012/5/21 16:28:36 $
- Version No.: 1.05
- TR 12-5-21-E
- Michael Bergman - Structured Dynamics
- Frédérick Giasson - Structured Dynamics
|UMBEL: Upper Mapping and Binding Exchange Layer by Structured Dynamics LLC and Ontotext AD is provided under the Creative Commons Attribution 3.0 license. See the attribution section for how to cite the effort.|
- 1 Terminology Note
- 2 USING UMBEL
- 3 USING UMBEL WEB SERVICES
- 4 USING THE UMBEL TAGGER
- 5 ENDNOTES
As of version 0.80, 'Reference Concept' (
RefConcept) has replaced the notion of 'Subject Concept' (
SubjectConcept). Historical documentation may still use the older term and some use is kept in current documentation for continuity reasons. Please treat the two terms as synonomous.
UMBEL can be use in a myriad of ways; here we describe some of them, but its utility is not limited to them.
Using UMBEL to Describe Things
UMBEL can be used to describe things. Considering the current sparse nature of the ontology space, UMBEL can be used to fill some gaps. The goal is to use UMBEL reference concepts to describe certain individuals belonging to their governing reference concept classes.
By using UMBEL, you can find a reference concept related to any thing you may wish to describe. Once the proper reference concept is found (if it exists), you can then check the structure to try to re-use classes and properties defined in external ontologies to describe that thing you want to describe in RDF.
In such a scenario, it is the upper ontology facet of UMBEL that is exploited. There is an example:
We want to describe the person of Muhammad Ali. However, we don't want to describe him only as a simple person; since he is the best boxer of the 20th century, we want to describe him as a boxer! But we can't find any "boxing ontology". Normally, this would mean that we would have to describe Ali as a person (
foaf:Person), or we would have to define a new "boxing ontology". But, with the capabilities of UMBEL, we can now search for a reference concept "boxer" in UMBEL and use it as well to describe Muhammad Ali.
If we use the Find Subject UMBEL Web service, we will find that the reference concept "boxer" exists in UMBEL . We know that a
rc:Boxer is a
foaf:Person. We have a list of properties, defined in external ontologies, that we can use to describe Ali. This means that we can describe Muhammad Ali this way:
<http://www.ali.com/me/> a rc:Boxer ; foaf:name “Muhammad Ali” ; foaf:gender “male” ; foaf:birthday “1942-01-17” ; ...
This is a good example of how UMBEL can be used as an upper ontology to fill the gaps when specialized ontologies do not exist for a given domain.
Using UMBEL to Help Develop New Ontologies
The notion of consistency testing provided by the use of OWL 2 can be applied to the UMBEL reference concept structure when the need arises to develop new ontologies. UMBEL helps to learn more about a domain of knowledge, and that then leads to develop better ontologies.
Since most of the time an ontology interacts with external ontologies by referring to them, or by re-using some of their classes and properties, having a consistent framework that puts all the ontologies in context helps a lot to define new coherent ontologies and to fix existing ones.
The SKOS specification document  says:
The OWL 2 schema language helps us to link external ontology classes to UMBEL reference concepts. The consistency/inconsistency concepts are useful to find if a linkage fits, or not, with the defined UMBEL reference concept structure. The UMBEL Web services and the linkage method helps to develop new ontologies and to fix existing ones.
Using UMBEL to Put Individuals in Context
An individual belongs to a class. Since UMBEL is a reference concept structure of well-defined classes with links to classes defined in external ontologies, we can learn a lot about an individual simply by looking-up its type(s) in UMBEL.
This is what we sometimes call the "context" of an individual.
Let's again take the example of Muhammad Ali. Think about someone that gets the RDF description of Muhammad Ali shown in Table 1 above. This person may not know what a "boxer" really is. Then he chooses to look for the type
rc:Boxer in UMBEL . Only with this search within UMBEL, he knows that: a
rc:Boxer is a
foaf:Agent and a
cyc:Boxer. He also finds that Antonio Ayala Jr., Galveston Giant and John Ruiz were boxers too. He now knows that Ali is an athlete and a social being and so on. With a single lookup in UMBEL, the context around Muhammad Ali starts to emerge and its domain explodes.
The Ali example took a reference concept as the lookup basis. However, we could also take an external ontology class to get the same result.
Try the same experiment with a
po:Radio . We find that it is a
rc:RadioStation-Organization , a
foaf:Organization; we find that there exist different types of radio stations such as local radios, regional radios and national radios; we find that WNSC, WRHS, WKHX, WALR-FM are radios organizations, etc. In a single lookup, we get the context of a class described in an external ontology and we explode its domain.
USING UMBEL WEB SERVICES
UMBEL Web services are supported by the structWSF Web services framework. The latest version of the UMBEL ontology has been indexed by the structWSF instance, and gets exposed to the generic public through these services.
This structWSF-UMBEL instance is made public for testing purposes only. If you want to develop commercial applications around it, you will have to install structWSF and import UMBEL into your own instance since the performances and the up-time of this demo instance is not guaranteed.
All of the tools on this Web site are using one, or multiple, of these structWSF endpoints:
Here is the summary information you need to know in order to be able to query the latest version of the UMBEL ontology using the structWSF Web services endpoints. Use this information as your parameter values when accessing the endpoints.
The permissions of the guest users are:
These settings mean that only the Web service endpoints that require Read permissions will be accessible to you.
Here is the URI of the dataset where the latest version of the UMBEL reference concepts structure is indexed:
- Dataset URI:
All of the endpoints that you may query offer their resultsets in four different formats:
When reading the documentation for each of the endpoints, as listed next, do pay special heed to the HTTP method used to query each specific endpoint:
Web Service Endpoints
Here is the list of the UMBEL Web service endpoints you may access. The documentation pages for each service tells you how you to use and query each of these different structWSF endpoints:
Note: the documentation for these resides on the Open Semantic Framework (OSF) TechWiki. Also note that not all structWSF services and endpoints are supported on this UMBEL site.
Here are some example of queries you can send to these different endpoints. These examples are using the cURL command line application to send the queries to the web service endpoints.
Ontology Read: Get the first 10 classes URI of the ontology
curl -H "Accept: application/rdf+xml" http://umbel.org/ws/ontology/read/ -d "ontology=file://localhost/data/ontologies/files/umbel.org/umbel_reference_concepts_v100.n3&function=getClasses¶meters=mode%3Duris;limit%3D10;offset%3D0"
Ontology Read: Get the direct sub-classes-of descriptions of umbel:ReligiousPerson
curl -H "Accept: application/rdf+xml" http://umbel.org/ws/ontology/read/ -d "ontology=filest/data/ontologies/files/umbel.org/umbel_reference_concepts_v100.n3&function=getSubClasses¶meters=uri%3Dhttp%3A%2F%2Fumbel.org%2Fumbel%2Frc%2FReligiousPerson;mode%3Ddescriptions;direct%3Dtrue"
Search: search for the word "person"
curl -H "Accept: application/rdf+xml" http://umbel.org/ws/search/ -d "datasets=file://loca/ontologies/files/umbel.org/umbel_reference_concepts_v100.n3&query=person"
USING THE UMBEL TAGGER
To be provided in a future version.