Part I OWL Basics

Ed Shaya Edward.J.Shaya.1 at gsfc.nasa.gov
Mon Dec 19 10:06:40 PST 2005


OWL Ontology of Astronomy: Part I OWL Basics

This is the start of a long description of an ontology being developed 
at UMD (mostly by myself, but with significant inputs from Brian Thomas, 
Zhenping  Huang, and Peter Teuben), but broken up into small (couple of 
pages at  a time) parts.  It will require many parts (e-mails) to 
describe everything, and I don't know how many parts there will be yet.  
It is being developed with a specific application in mind primarily, but 
some consideration is given for future applications as well.  The 
specific application that we are working on would provide users with a 
GUI with the entire ontology in a menu and let them drag and drop 
Classes onto a drawing board and build the object that they are querying 
for.  There would be forms within the object to enter ranges on property 
range values and other detailed choices.  The application would then use 
the ontology to hunt down optional paths to derive the desired goal 
using Operations or Relationships within the  ontology and present  the  
paths for the user to  include or exclude.   After all of the paths are 
worked out the user submits the query to the Data Hunter which sends 
queries (ADQL or higher level query) to data centers.
That is all I will say about the motivation for this ontology for now, 
the rest is the ontology itself.

The ontology is composed of a number of sub-ontologies and this number 
grows with time.
Science.owl - generally useful stuff that scientists need but don't fit 
into any of the existing namespaces.  As new namespaces are created some 
of these will be moved to a more appropriate subontologies.  This 
ontology holds most of the broadest classes and therefore the highest 
levels of the hierarchy.
Astronomy.owl - Anything pertinent to astronomy and either not used by 
other sciences or used quite differently by astronomers.
Physics.owl - some basic physics of use to astronomers.  Most everything 
in physics is useful to astronomers, but details about exotic particles, 
for instance, has not yet found a use among astronomers.
Geometry.owl - basic geometry and coordinates
units_ontology.owl and units_instances.owl - for physical units
Quantity.owl - here,  quantity refers to amounts and measurements that 
might require accuracy and unit properties
Statistics.owl - useful, but I haven't done much with this yet.
Process.owl - originating from a group at JPL, I am adapting it to our 
needs.  This is way harder to do than it looks, but it is important to 
try incorporating ontologies created elsewhere.  Surprisingly, I could 
find no other usable ontology.
All of these are found at http://archive.astro.umd.edu/ont , but the 
root is the Science.owl which imports all of the others.

 OWL  basics:
OWL, based on RDF, relies on triplet statements.  This is expressed as 
(Domain, property, Range) where
Domain and Range are Classes of instances.  Domain corresponds to the 
subject of a statement and Range would be the object of the property as 
a predicate.  Thus, any two instances are related through the property 
relationship and there is a definite direction to this relationship , as 
in A has B.
There are two basic types of properties in OWL, DataProperties which 
take xs:datatypes in its range (xs:int, xs:string, xs:date, etc) and 
ObjectProperties which take classes in its range.   In defining  the 
ontology one first specifies the set of classes in the Domain and in the 
Range of each property.  Then, statements on instances must satisfy 
these constraints of which instances can be in the domain and which in 
the range of the statement's property.

A special Objectproperty is the owl:SubClassOf  which makes the range a 
subclass of  the domain.  The domain of a property automatically extends 
to the subclasses of the domain classes.

All classes are subclasses of  owl:Thing and there are a few properties 
such as comment and label that have Thing as their domain and thus are 
in all Things.  I think of properties as totally separate from Thing 
although OWL:Full allows properties to be Things.  There is a 
subPropertyOf which implies  a property has a Domain that is a subset of 
the Domain of the super's and a Range that is a subset of the super's.

That is sufficient to begin discussion of  an actual ontology and other 
OWL concepts can be introduces as they are used.  I have adopted a 
camelback nomenclature where  classnames have initial letter capitalized 
and properties have initial letter not capitalized.  I have also manage 
thus far to avoid explicitly stating disjointedness betwee classes.  All 
classes are implicitly disjoint unless they are explicitly subclasses.  
It will be interesting to see how far we can go with this before some 
inconsistency arises.  But doing this has immensely simplified the RDF 
output files.

Part II, will look at some parts of Geometry.owl because I am hoping to 
describe coordinate systems soon.  But that will require first at least 
a brief look at Quantity.owl.  After geometry we can look at the 
astroObjects and their properties.  Then Operations, Relationships and Code.



More information about the semantics mailing list