=Paper=
{{Paper
|id=Vol-66/paper-11
|storemode=property
|title=Ontology definition languages for Multi-Agent Systems: the Geographical Information Ontology case-study
|pdfUrl=https://ceur-ws.org/Vol-66/oas02-10.pdf
|volume=Vol-66
|authors=Luís Mota,João Bento and Luís Botelho
}}
==Ontology definition languages for Multi-Agent Systems: the Geographical Information Ontology case-study==
Ontology definition languages for Multi-Agent Systems:
the Geographical Information Ontology case study
Luís Mota João Bento Luís Botelho
ISCTE DECivil - IST ISCTE
Av. das Forças Armadas Av. Rovisco Pais Av. das Forças Armadas
1649 – 026 Lisboa, Portugal 1049 - 001 Lisboa, Portugal 1649 – 026 Lisboa, Portugal
+351 21 790 39 13
luis.mota@iscte.pt joao@civil.ist.utl.pt luis.botelho@iscte.pt
ABSTRACT on artificial intelligence planning and communicative acts
In the scope of the AgentCities project, we worked on the semantics.
definition of a Geographical Information Ontology, intended for a Finally, section 5 presents conclusions and suggests directions for
wide use, in particular in agent systems. future developments, in particular the need to define a XML
syntax for Ontolingua and the definition of decidable subsets of
Since the choice of the best modeling approach was not clear, we
Ontolingua.
decided to express the ontology in four different languages: UML,
RDF, DAML+OIL and Ontolingua. This paper describes the A full version of this paper can be found in [2].
results of this modeling and highlights the most interesting
characteristics of each approach from our point of view. 2. REQUIREMENTS OF THE ONTOLOGY
In the AgentCities project, some of the planned agents will deal
We recognized that each approach has its own advantages and
with Geographical Information. We will generally refer to these
specific use scenarios, but we conclude that, due to its history,
agents as the GI Agent. There is an agent that deals with
expressive power and tools, Ontolingua is the most powerful
geographic information (GIAgent) and two types of agents that
solution for our modeling needs. Furthermore, we present
interact with the GIAgent: general agents (General Agent) and
proposals to solve some open questions and shortcomings: the
service suppliers.
introduction of actions in the analyzed frameworks, the creation of
a XML[3] syntax for Ontolingua and the definition of decidable The geographic information maintained by each GI Agent pertains
subsets for Ontolingua. to a single city.
We have modeled several entities in the domain of geographical
1. INTRODUCTION information, the most relevant of which, are location, path,
While participating in the AgentCities.RTD [1] project, we are distance and spatial reference system. Locations can be created
developing an ontology for Geographical Information (GI). and modified, upon request from any service supplier, and can be
The goal of the AgentCities project is to create an on-line, queried by any agent.
distributed testbed to explore and validate the potential of agent Postal address (in the ontology: AddressLocation), geodesic
technology for future dynamic service environments. One of its coordinates (longitude-latitude-height triples - GeodesicLocation)
goals is the validation and refinement of agent communication and cartographic coordinates (map points –
technologies, such as ontology models. CartographicLocation) are foreseen as possible forms to express
In order to analyze the advantages and disadvantages of the location.
available solutions, we decided to express the GI Ontology in
different languages. The development of the ontology was Any agent can query path entities. A path is a way to go from a
accomplished through the following tasks: point to another. It is possible to constrain a path to include a
specified set of stopovers. It is also possible to choose the means
Informal gathering of the requirements and use-cases (Section 2). of transportation. Similarly to Locations, there are three kinds of
Research on the available languages and tools for modeling Paths: GeodesicPath, CartographicPath and RoadPath, which is
ontologies. After a short overview of the existing models, we made of road and street segments.
chose four different approaches: UML [5], DAML+OIL [7], RDF In our type of application, there is no need to use entities of the
[4] and Ontolingua [8]. type polygon. Therefore, these will not be included in the
Formal expression of the GI ontology in the four languages. The ontology.
code and results can be found in [2].
There is the need to convert between different location
Analysis and evaluation of the results of each modeling approach coordinates. As an example, this functionality allows the
(Section 3). conversion of a location in geodesic coordinates into cartographic
Section 4 proposes the extension of current ontology frameworks coordinates.
with the capability to represent actions, using an approach based
In order to accurately specify a location, geodesic locations
always refer to an ellipsoid and datum (DatumDescription), and
cartographic locations refer to a cartographic projection The use of XML data types was very convenient, allowing the
(ProjectionDescription). A datum and a projection are generally rigorous representation of natural concepts such as longitude,
called Space Reference Systems. There is therefore the need to which was defined as a real number between -180 and 180.
query the details of a Space Reference System. The distinction between DatatypeProperty and ObjectProperty, in
To be able to determine the geographic distance between conjunction with the XML data types, adds semantic power to
locations, we need a function called Distance, which takes two DAML+OIL since it makes it possible to distinguish relations
Locations as arguments and outputs a value in a pre-defined unit. between entities from simple object features.
As it has been pointed out, GI Agents need to perform some The use of lists and sets was difficult and inadequate.
operations: register, i.e., accept one entity and register its DAML+OIL provides the primitive concept ‘Container’ with
existence in the agent’s Data Base; modify, i.e., change the details subclasses ‘Bag’ (unordered and allowing duplicates), ‘Seq’
of an object already in the DB; and delete, i.e., remove an object (ordered list) and ‘Alt‘ (alternative elements). Although Seq could
from the DB. The URL to access a map in the Web can also be be used to define the subclasses of Path, this was not done
asked. If such map exists (or can be created), there must be a way because it is impossible to restrict the elements of the list to a
to relate it to the respective URI. single class, which is essential to this modeling. For this reason,
we created the class PathNode, representing the elements of a
path. PathNode (CartographicPathNode, GeodesicPathNode and
3. ANALYSIS OF THE RESULTING RoadPathSegment) has the attribute ‘nodeOrder’ that represents
ONTOLOGIES the position of the node in the list. Since, in DAML+OIL the
3.1 UML expression of arbitrary axioms is not allowed, the ‘nodeOrder’
Due to its graphical notation, UML is a good tool for the creation property can only be restricted to positive integers, which is not
of a first sketch of the ontology and can be used as a sharing tool. enough since the node ordering must be a sequential number, not
just any positive integer.
The possibility to use methods to represent actions allows
defining at least part of the service ontology and also actions DAML+OIL does not support the representation of actions or
performed by domain entities. The existence of n-ary associations functions, thus the concept of registering a new location could not
also enables the intuitive creation of concepts that relate n entities. be modeled, and the distance between two locations had to be
modeled as a class. The unavailability of actions hinders the direct
UML lacks some formal modeling primitives such as lists and use of this language in multi-agent systems in which the
sets. The list concept is well suited for the definition of Paths communication language requires these, as in FIPA ACL[11].
between points, since these are ordered lists of geographical There are already proposals to overcome this shortcoming, but
positions. However, these lists could only be rigorously modeled they still lack general acceptance.
through the use of OCL [5], a constraint language which is part of
UML, but whose integration in UML’s meta-model is questioned Since properties are first-class entities, their scopes are not
[6]. To keep the graphical simplicity of the diagrams, an essential restricted to a particular class. Therefore, properties that could
characteristic for its easy understanding, we decided to model have similar names if defined within their classes, must actually
Paths (CartographicPath, GeodesicPath and RoadPath.) as classes have different names, e.g. name of ProjectionDescription, and
with an association with the n path nodes, each with an ordering name of Datum’, had to be modified to projectionName and
number. datumName to prevent ambiguities.
Part of the modeling in UML, e.g. the creation of comments and 3.3 RDF
restrictions, is usually made in natural language, possibly resulting The relation between RDF and DAML+OIL is very strong but
in some formal accuracy. UML’s graphical nature facilitates its RDF’s expressiveness, without any extensions to its current
use by people but impairs its direct treatment by agents. To cope version, is more limited than that of DAML+OIL. Therefore, all
with this limitation, OMG created a specification for the sharing the limitations previously identified for DAML also apply in this
of diagrams, based on XML [10]. This solution is based on DTD case, but RDF additionally lacks support for other features.
definitions, which are being abandoned in favor of the widest
The expression of ontologies is not the purpose of RDF, thus,
development of XML Schema.
contrarily to DAML+OIL, there is no ability of expressing meta-
3.2 DAML information about an ontology. RDF does not allow the
Given the relative youth of DAML+OIL, the creation of specification of the cardinality of attributes, which hinders the
ontologies in this format still faces some problems: rarity of good characterization of a property as being single-valued, among other
quality dedicated editors and poor quantity and quality of other things. It is also impossible to specify that one property identifies
tools. The editing of the ontology had thus to be made with a text an object.
editor, which does not provide any kind of assistance. Since a In the present version of RDF Schema there is no way to deal with
DAML+OIL document is not easily readable, the editing ends up data types, thus the range of a property is limited to classes and
being difficult if it lacks automated assistance. strings. Consequently, some attributes such as latitude, could not
DAML+OIL aims explicitly at the definition of ontologies, thus it be treated conveniently. The inexistence of data types also implies
supplies some ways to write meta-information about the ontology, that there is no distinction between value type properties and
such as the version, the author and an informal description, and object properties.
the imported ontologies.
3.4 Ontolingua possible to define a general inference procedure for the whole
The ontology in Ontolingua was entirely defined through the web power of the language. Second, its lisp-like notation is not usual
interface available in [8]. This interface is user friendly and in the Web.
performs satisfactorily. Besides the ontology editor, other services In the remaining of the paper we consider some of the mentioned
are available: Chimaera, an ontology analyzer and an ontology problems, namely the representation of actions and the definition
graphical presentation tool. The editor also allows to export any of decidable subsets of Ontolingua.
available ontology to several other formats, for external use
through knowledge representation or reasoning systems, such as, 4. EXTENTION OF THE FRAMEWORKS
CLIPS, CML, EpiKit, Loom or Prolog.
TO SUPPORT ACTIONS
Ontolingua also allows ontologies to specify the inclusion of other The basic modeling of actions could be obtained through the
ontologies, which enables the reuse of previous work. We chose introduction of new primitives in the different languages. Such
to include, among others, the ‘Kif-Lists’ ontology, which enabled primitives should minimally allow stating the name of the action
us to correctly model the subclasses of Path as lists. With a vast and its arguments, and additionally its pre-conditions and its
community of users, a considerable number of ontologies are consequences. However, this support cannot be easily introduced.
already defined and available for use in ontology servers. In UML, which is an object oriented approach directed towards
Ontolingua accepts the definition of generic axioms in KIF. We software developers, to go beyond the modeling of actions
used this feature to write some simple axioms that may be used to through methods, profiles and stereotypes could be used. In
create arbitrary relations between the entities of the ontology. For DAML and RDF, concepts as variable, function or action
example, in order to constrain the elements of a CartographicPath parameter do not exist. Ontolingua, the most mature approach, is
(a list) to be nodes defined by cartographic coordinates not as easy to extend as DAML and RDF. Therefore, this support
(CartographicPathNode), we wrote the following axiom: can only be obtained through a revision of the KIF specification.
At the present time, the creation of a ‘Common Logic’ [12], from
(=> (And (Cartographicpath ?Path) (Item ?Node ?Path))
(Cartographicpathnode ?Node))))
which KIF is one of the foreseen concretizations, is under debate.
This is an appropriate forum to discuss the modeling of actions.
This axiom states that any member of a CartographicPath is a
CartographicPathNode. The previously analyzed approaches did
not allow writing arbitrary axioms.
5. LIMITATION OF ONTOLINGUA
An extensive collection of data types is available. These can be
EXPRESSIVENESS
Ontolingua’ s potential undecidability hinders its use in reasoning
constrained through the use of facets, such as ‘numeric-
systems without the introduction of additional assumptions, such
maximum’ . With these facets we were able to conveniently define
as the closed world assumption, and/or the reduction of the
the range of some slots, e.g. longitude, without the use of an
underlying expressiveness. To deal with this, we propose the
external language, as it was the case with XML and DAML+OIL.
creation of subsets for Ontolingua. Since KIF foresees the
To code this data type, we defined the following restriction on a
existence of ‘conformance profiles’ to limit its’ expressiveness
real number:
[14], the creation of the desired subsets of Ontolingua is
:Template-Facets expectably simple.
((Longitude (Numeric-Minimum -180) (Numeric-Maximum 180)).
6. ACKNOWLEDGMENTS
It is possible to declare functions. In this ontology the distance The research described in this paper is partly supported by
between two locations was modeled as a function, and not as a UNIDE/ISCTE and partly by the EC project Agentcities.RTD,
class, as in DAML+OIL. The definition of this function is: reference IST-2000-28385. The opinions expressed in this paper
(Define-Function Distance (?Location-0 ?Location-1):->?Value are those of the authors and are not necessarily those of the
"Distance, in meters, between two locations" Agentcities.RTD partners.
:Def (And (Location ?Location-0) (Location ?Location-1)
(Number ?Value))) 7. REFERENCES
The declaration and definition of actions is not supported. This [1] Willmott, S.; Dale, J.; Burg, B.; Charlton, P; and O'
Brien, P.
implied that part of the service ontology could not be represented. 2001. “Agentcities: a worldwide open agent network”.
Agentlink News, 8:13-15
3.5 Summary
All the ontology representation frameworks analyzed in this paper [2] ADETTI, Associação para o Desenvolvimento das
lack a natural and complete way of declaring actions. Functions Telecomunicações e Técnicas da Informática,
and general predicates can be declared and defined only in http://www.adetti-linha4.org
Ontolingua. Ontolingua and, in a less straightforward way, UML [3] eXtensible Markup Language, http://www.w3.org/XML
can appropriately represent the concept of a sequential collection
of points such as the path between two locations. Ontolingua is [4] O. Lassila, R.R. Swick (Editors), ‘RDF Model and Syntax
also the only framework enabling the expression of arbitrary Specification’ , W3C, 1999,
axioms that capture general relations between entities of the http://www.w3.org/TR/1999/REC-rdf-syntax-19990222/
ontology. [5] ‘Unified Modeling Language, v1.4’ , OMG,
Although Ontolingua is substantially more expressive than the http://www.omg.org/technology/documents/formal/uml.htm
other analyzed approaches, it has two drawbacks. First, it is not
[6] ‘UML 2.0 OCL RFP’ , p. 24, Object Management Group, [11] ‘FIPA ACL Message Structure Specification’ ,
http://cgi.omg.org/cgi-bin/doc?ad/00-09-03 http://www.fipa.org/specs/fipa00061/
[7] DAML+OIL, Darpa Agent Markup Language, [12] ‘Common Logic’ , cl.tamu.edu/minutes/stanford-minutes.html
http://www.daml.org/2001/03/
[13] ‘FIPA SL Content Language Specification’ ,
[8] Ontolingua server, http://ontolingua.stanford.edu/ http://www.fipa.org/specs/fipa00008/
[9] ‘FIPA Ontology Service Specification’ , Foundation for [14] ‘Knowledge Interchange Format - draft proposed American
Intelligent Physical Agents, 2000, National Standard (dpANS)’ ,
http://www.fipa.org/specs/fipa00086/ http://logic.stanford.edu/kif/dpans.html
[10] ‘OMG XML Metadata Interchange (XMI) Specification’ , [15] ‘Epilog Inference Package’ ,
Object Management Group, http://www.omg.org/cgi- http://logic.stanford.edu/sharing/programs/epilog/
bin/doc?formal/2002-01-01
Table 1: Summary of the languages’ features
RDF/RDFS UML Ontolingua DAML+OIL
Classes Supports the concept of Supports the concept of Supports the concept of Supports the concept of class.
class. Basic modeling class. Basic modeling class. Rich modeling Medium modeling capacity:
capacity: inheritance in capacity: inheritance in capacity: inheritance in inheritance in classes and
classes and properties. classes and restrictions classes, definition of properties, disjunction and
through OCL. functions, general axioms, identity between classes,
and pre-defined facets. identity and cardinality of
properties.
Entities As instances of classes. As instances of classes. As instances of classes. Capacities from RDF.
Attributes Support for only one data Supported through Supported through Supported through
type (literal/string). No ‘attributes’ . Their scope ‘template-slots’ , whose ‘DatatypeProperties’ , with
distinction between object and existence is internal scope and existence are XML-Schema data types.
features and relations to the class. external to the class.
Relations between objects. Both cases Supported through Supported through relations Supported through
are dealt with properties, of n-ary ‘associations’ . and functions ‘ObjectProperties’ . In both
binary type and with cases, properties are binary.
autonomous existence
Functions Not natively supported. Can be declared, Allows the definition of Not natively supported.
internally to classes, functions, through KIF
through ‘methods’ . expressions.
Actions Not natively supported. Only as methods, Not supported. Not natively supported.
internally to classes.
Sharing and Written in text, sharable Expressible in text Written in text, sharable Written in text, sharable
access by through the Web. (XMI), sharable through the Web, accessible through the Web.
agents through the Web. through OKBC.
Parsing tools Several dedicated parsers Several XML parsers Several KIF parsers Tools available for RDF only.
available, for different available, for different available, for different Limited specific support for
programming languages. languages. programming languages. DAML.
Reasoning Only a few, in development. No. Epilog[15], a reasoning Tools for RDF and OIL only.
tools package with KIF’ s full Limited specific support for
expressiveness. DAML.
Editors One known application. Several commercial and Through a Web interface, One dedicated application,
free source editors. with free access. some adaptable tools.
Integration in JADE accepts RDF as a No. Integration mentioned in No.
platforms content language. [9].