Base Ontology for Charleston Core
by Xiaoshu Wang
Rationale for Charleston Core's Base Ontology
This ontology includes concepts that are essential for other ontologies defined in Charleston Core but have a much general usage. For instance, the concept of "shape" is needed for the description of a protein spot on a 2D gel. However, the concept "shape" is very general and it has nothing "gelic" or even "proteomic". Because the general concept are very likely to be reused in other places, if it were included in, for instance, a "gel" ontology, whoever want to use the concept "shape" that is defined, must also to import the concept of other things that he absolutely don't. It will not only be error prone but also computationally inexpensive. Don't just yet think that I am too cost-concious of a few extra words. We have to keep in mind that a lexical framework is the only the first level of application of ontology. The more advanced application of an ontology is to serve as an inference framework. From my experience, the Java RDF parser Jena will have memory problem on reasoning the example wine ontology provided by W3C's document. That wine ontology certainly is not that "huge" to human's understanding, but it indeed is for machine. This is the first reason that I separate the general concepts into a Charleston Core Base Ontology.
The second reason is that I am by no means an expert on Geometry. Even if I am, I do not intend to build a full fledged Geometry ontology because we are in the field of proteomics - not mathematics. Hence, we have to adopt a relative pragmatic approach. To separate these concepts in a separate ontology allow us or others to change to a more authoritive (or popular) definition in the future. The same is also true for the unit definitions. Most concepts defined here or in other Charleston Core ontology didn't associate some form of unit in there. The reason is the same, define an unit ontology is perhaps more difficult that we thought. So, instead of waiting for one to come out, I just totally omit it and defer it to good documentation.
Overview
The basic concepts are defined in the following figure.
Figure 1: The Basic vocabulary of Charleston Core defined in DLG2
It is not difficult to see that most concepts are simple geometric concepts. It is worth to note, all these concepts are assummed to be on a two-dimensional plane. It is not guaranteed that the assumed 2D-planes are the same from two different discriptions are the same. Neither is the coordinate system and unit of all data type values. All these contextual information should be made clear from the RDF document who uses these concepts.
Vocabulary
Classes
Point
I will not make a strict definition for the point. But in here, a point refers to a location on a user-defined (or assumed) Cartesian plane that has an implicit (again, user defined) coordinate systems. Hence, a point shall carry two attribute x and y.
Shape
Shape is an abstract concepts. It refers to the surface configuration of a thing.
Rectangle
Rectangle is a rdfs:subClass of "Shape". It is defined as a polygon with four sides and four vertices. The edges of the rectangle are in parallel with the axis of the implicit coordinate systems. (See Figure 2)
Figure 2. The definition of a ccbase:Rectangle.
Ellipse
Ellipse is a rdfs:subClass of "Shape" that is a circle but stretched at one direction. The major and minor axises of a ccbase:Ellipse shall be parallel to the coordinates of the implicit user defined coordinate system (See Figure 3).
Figure 3. The definition of a ccbase:Ellipse
Properties
x
A ccbase:x is a owl:Datatype property that has a domain of ccbase:Point.
y
A ccbase:y is a owl:Datatype property that has a domain of ccbase:Point.
width
A ccbase:width is a owl:Datatype property that has a domain of ccbase:Rectange. It refer to the length of a ccbase:Rectangle's edge that is parallel to the x-coordinate of the underlying coordinate system (See figure 2).
height
A ccbase:height is a owl:Datatype property that has a domain of ccbase:Rectange. It refer to the length of a ccbase:Rectangle's edge that is parallel to the y-coordinate of the underlying coordinate system (See figure 2).
rx
A ccbase:rx is a owl:Datatype property that has a rdfs:domain of ccbase:Ellipse. It refers to the radius that is parallel to the x-axis of the assumed coordinate system. (see figure 3)
ry
A ccbase:ry is a owl:Datatype property that has a rdfs:domain of ccbase:Ellipse. It refers to the radius that is parallel to the y-axis of the assumed coordinate system. (see Figure 3)
Schema
The definition of this ontology is "http://www.charlestoncore.org/ontology/base"
