UMBEL - Annex E 20120521

From UMBEL Wiki
Revision as of 15:59, 4 February 2015 by Mike (talk | contribs) (Created page with "__NOEDITSECTION__ <div class="spec"> <div class="spec-head"> <div class="spec-header">UMBEL Annex E: Using UMBEL</div> <span class="spec-sub-header">UMBEL Annex Document - 21...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
UMBEL Annex E: Using UMBEL

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

Structured Dynamics Logo

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.

Creative Commons License

Ontotext Logo

Copyright © 2009-2012 by Structured Dynamics LLC and Ontotext AD.

Terminology Note

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:

  <> a rc:Boxer ;
      foaf:name Muhammad Ali ;
      foaf:gender male ;
      foaf:birthday 1942-01-17 ;
Table 1. Muhammad Ali the Boxer

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 [1] says:

"When OWL Full is used as a data modeling (i.e., schema) language, the notion of inconsistency is again useful, but in a different way. Here we are not concerned with the logical consistency of human knowledge itself. We are simply interested in formally defining a data model, so that we can establish with certainty whether or not some given data conforms to or "fits" with the given data model. If the data is inconsistent with respect to the data model, then it does not 'fit'."

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 [2]. Only with this search within UMBEL, he knows that: a rc:Boxer is a foaf:Person, 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 [3]. We find that it is a rc:RadioStation-Organization [4], 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.


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:

Access Information

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:

  • Create: False
  • Read: True
  • Update: False
  • Delete: False

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: file://localhost/data/ontologies/files/

All of the endpoints that you may query offer their resultsets in four different formats:

  • text/xml
  • application/json
  • application/rdf+xml
  • application/rdf+n3

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:

  • POST, or
  • GET

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.

Query Examples

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" -d "ontology=file://localhost/data/ontologies/files/;limit%3D10;offset%3D0"

Ontology Read: Get the direct sub-classes-of descriptions of umbel:ReligiousPerson

curl -H "Accept: application/rdf+xml" -d "ontology=filest/data/ontologies/files/;mode%3Ddescriptions;direct%3Dtrue"

Search: search for the word "person"

curl -H "Accept: application/rdf+xml" -d "datasets=file://loca/ontologies/files/"


To be provided in a future version.


Copyright © 2009-2012 by Structured Dynamics LLC and Ontotext AD.