MALog project – Guidance on the use of the mathematical logic

MALog project – Guidance on the use of the mathematical logic ontology
The MALog project has developed an ontology of mathematical logic which is now publicly
available. The project intends for this ontology to be further developed and enhanced. To support
these activities, this short document is designed to act a short guide for the use and further
development of the ontology.
The ontology is available from the MALog project website – http://www.malog.org. Current
contact information is also be available on this website.
Format
The ontology is delivered in OWL 2.0 format – the Web Ontology Language (OWL). The Web
Ontology Language is a widely-used and developed language for the knowledge representation.
Many other ontologies exist in this format most notably medical and other academic fields. The
Semantic Web, as supported by the World Wide Web Consortium (W3C), makes extensive use of
the OWL standard.
The OWL format uses RDF/XML as a storage format and consequently is editable by simple text
editors and more specialised ontology editing tools. However, due to the complexity of most
ontologies it is not practical to edit this file directly.
A fragment of the mathematical logic ontology in OWL format is shown below.
<owl:Class rdf:about="&mathlogic2;SecondOrderLogic">
<rdfs:label>SecondOrderLogic</rdfs:label>
<rdfs:subClassOf
rdf:resource="http://www.semanticweb.org/ontologies/2010/4/Ontology1273580106181
.owl#OWLClass_00002848442859253395"/>
</owl:Class>
Further information on the Web Ontology Language (OWL) can be found on the W3C website. See
the OWL 2 language overview – http://www.w3.org/TR/owl2-overview/.
Software
The ontology was developed using the Protégé Ontology Editor, an open-source editor developed
by Stanford University. There are a number of different variants of the Protégé editor but the
mathematical logic ontology was developed using the Protégé-OWL variant.
Protégé is available for download from http://protege.stanford.edu/. The tool is written in Java and
is therefore able to run on a variety of platforms including Microsoft Windows, Linux and Mac
OSX. Instructions for installation and configuration on specific platforms are available on the
Protégé website.
A screenshot of the Protégé tool examining the mathematical logic ontology is shown in Figure 1.
Figure 1: Entity
Illustration
2: Entity
viewview
of theofontology
the ontology
showing
showing
mathematical
mathematical
logiclogic
topic
topic categories
categories
and subfields.
and subfields.
Examining the structure of the ontology.
The ontology consists of a basic structure which helps to organise the concepts and
information contained within it. The 'entities' tab in the Protégé editor allow users to
examine the class hierarchy. A number of classes are defined and they are used to
group concepts together. A class is a category or collection of concepts. In the
mathematical logic ontology, all mathematical concepts are members of the 'Topic'
class. The 'Topic' class however contains a number of sub-classes, which in turn also
contain a number of sub-classes. The hierarchical structure defined helps to organise
the mathematical concepts into a number of broad categories. These categories include
'propositional logic', 'predicate logic' and 'proof'. Within the 'predicate logic' class are
two sub-classes for first-order and second-order logic. A concept can be placed
anywhere in this hierarchy (or infact, multiple locations if appropriate).
To examine information about a specific class, select the name in the 'class hierarchy'
window. Information about the class including superclasses and members of the class
will be displayed in the right-hand window.
Both figure 1 and 2 show the entity view of the ontology.
Figure 2: Entity view of the ontology showing mathematical logic topic
categories and subfields.
Viewing specific concepts
The ontology contains a large list of mathematical logic concepts. These concepts are
represented in the ontology using the concept of an ontology individual. Each
individual includes a number of properties which include information about that
mathematical concepts. These are considered the most basic element of the ontology
and are contained within classes. An ontology individual can be used to represent an
physical object or an abstract concept. These individual are classified into one (or
more) of the ontology classes.
To examine the list of these concepts using the Protégé editor, first start the editor and
load the mathematical logic OWL file (using File, Open). Select the 'Individual' tab to
display a full list of the individuals present in the ontology. By selecting an individual
on the left hand side, information about the specific individual will appear on the righthand side.
As an example, select the 'Absorption' individual. The right-hand side of the Protégé
window will now display a description of the concept (in the 'comment' box). Other
properties are displayed below including information about how this concept is
classified.
Examining specific properties
Many of the ontology individual have additional information contained in the object
properties. A list of the object properties can be found in the 'Object Properties' tab.
This view displays a list of the properties and clicking on each one will display
information about the purpose of the property. Each property can have a number of
characteristics (such as transitive or symmetric). An object property relates individual
of classes together expressing relations such as 'representedby'. Here a 'Topic'
individual is related to a 'Symbol' individual for a mathematical concept that is
represented by a specific mathematical symbol.
As an example, examine the 'Biconditional elimination' individual (in the 'Individuals'
tab). This individual is related to the DoubleHeadedarrowSymbol individual because
biconditionals are represented by that mathematical symbol. Many other mathematical
concepts are related to their mathematical symbols.
It should be noted that object properties are different from data properties. Data
properties link individuals to specific values (rather than other individuals). The data
property can be a string holding, for example, the title or the description of an
individual.