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