Sunteți pe pagina 1din 12

OWL Graphical syntax

Introduction
An ontology defines a common set of concepts and terms that are used to describe and represent a domain of knowledge. Recently, several standardization committees have taken up research results form the AI community and defined standard ontology languages. For example, the Word Wide Web Consortium (W3C) has recently finished its work on the Web Ontology Language (OWL). The utility of a visual syntax for modelling languages has been shown in practice and visual modelling paradigms such as the Unified Modelling Language (UML) are used frequently for the purpose of conceptual modelling. The standardization of the Web Ontology Language (OWL) by the World Wide Web Consortium (W3C) contributed heavily to the widespread use of ontologies. In 2003, the Object Management Group (OMG), a standardization consortium for various aspects of software engineering including the well-established Unified Modeling Language (UML), replied to this by issuing a Request for Proposal for an Ontology Definition Metamodel (ODM).

Model Driven Architecture and the Meta-Object Facility


In the history of software engineering, there has been a notable increase in the use of models and the level of abstraction in the models. The basic idea of MDA is that the system functionality is defined as a platform-independent model using an appropriate specification language and then translated to one or more platform-specific models for the actual implementation. To accomplish this goal, MDA defines an architecture that provides a set of guidelines for structuring specifications expressed as models. The translation between a platform-independent model and a platform-specific model is often performed using automated tools. MDA comprises a four-layer metamodel architecture: meta-metamodel (M3) layer, metamodel (M2) layer, model (M1) layer, and instance (M0) layer. At the top of the MDA architecture is the meta-metamodel. It defines an abstract language and framework for specifying, constructing, and managing technology-neutral metamodels. It is the foundation for defining any modelling language such as UML. MOF also defines a

framework for implementing repositories that hold metadata (models) described by metamodels. The main objectives of having the four layers with a common metametamodel are to support multiple metamodels and models and to enable their extensibility, integration, and generic model and metamodel management. Note that the meta-metamodel layer is hard wired in the sense that it is fixed, while the layer of the metamodel is flexible and allows expression of various metamodels. All metamodels, standard or custom, defined by MOF are positioned at the M2 layer. One of them is UML, a modelling language for specifying, visualizing, and documenting systems of various kinds. The models of the real world are at the M1 layer, defined using elements at the M2 layer. Finally, at the M0 layer, there are the objects from the real world or information objects representing them in an information system. For example, Figure 1 contains information about a person called Pete and a car with the license plate ABC-1234. The model layer contains the definition of the required structures. Our domain might use records for grouping information. Consequently, the records car and person are defined. If these are combined, they describe the model for the given domain. The metamodel defines the terms in which the model is expressed. In our example, we would state that models are expressed with records and fields by instantiating the respective meta-classes. Finally, the MOF lies at the top. This layer is called the meta-metamodel layer. Note that MOF is hard wired, while the other layers are flexible and allow expressing various metamodels such as the UML metamodel.

ODM Design Considerations


A metamodel for a language that allows the definition of ontologies naturally follows from the modeling primitives offered by the ontology language. OWL ontologies themselves are RDF documents. They instantiate the RDF data model, and use URIs to name entities. The formal semantics of OWL is derived from Description Logics (DL). Hence, most primitives offered by OWL can also be found in a Description Logic. Three species of OWL have been defined. One variant called OWL Full can represent arbitrary RDF components inside of OWL documents. This allows, for example, to combine the OWL language with arbitrary other representation languages. From a conceptual perspective a metamodel for OWL Full necessarily has to include elements for the representation of RDF. Another variant called OWL DL states syntactic conditions on OWL documents, which ensure that only the primitives defined within the OWL language itself can be used. Naturally, a metamodel for OWL DL is smaller and less complex than a metamodel for OWL Full. Similarly, a OWL DL metamodel can be built in a way such that all elements can be easily understood by people familiar with description logics. Some of the constraints in the OWLDL package are: - The set of classes, datatypes, datatype properties, object properties, annotation properties, ontology properties, individuals, data values, and other built-in vocabulary are pair wise disjoint. - All classes and properties must be explicitly typed as an appropriate OWL class or property. - Axioms about individual equality and difference must be about named individuals only (a consequence of category separation). A third variant called OWL Lite disallows some constructors of OWL DL, specifically number restrictions are limited to cardinalities 0 and 1. Furthermore, the oneOf class constructor is missing. Other constructors such as class complement, which are syntactically disallowed in OWL Lite, can nevertheless be represented via the combination of syntactically allowed constructors. Hence, a metamodel for OWL DL necessarily includes OWL Lite.

An ODM for OWL DL


Ontologies. URIs are used to identify all objects in OWL. In order to provide an efficient notation, we replicate the namespace concept of XML and introduce a separate Namespace metaclass which manages the abbreviation (name) that is assigned to a certain URI (Figure 2). Every element of an ontology is a NamedElement and hence a member of a Namespace. All elements of an Ontology are specializations of OntologyElement which is itself derived from NamedElement. Anonymous elements of the ontology belong to a dedicated anonymous namespace. The qualifiedName attribute is the global name of an element and can be derived from the local name attribute and the Namespace name.

Properties. Properties represent named binary associations in the modeled knowledge domain. OWL distinguishes two kinds of properties, so called object properties and datatype properties. Both are generalized by the abstract metaclass Property. Properties can be functional, i.e. their range may contain at most one element. Their domain is always a class. Object properties may additionally be inverse functional, transitive, symmetric or inverse to another property. Their range is a class, while the range of datatype properties is a datatype. Users can relate properties by using two axioms. Property subsumption (subPropertyOf) specifies that the extension of a property is a subset of the related property. Similarly, property equivalence (equivalentProperty) defines extensional equivalence. OWL DL disallows that object and datatype properties are related via axioms.

Ontology properties. Ontologies themselves can have properties, which are represented via the OntologyProperty metaclass. For example, the ontology property owl:imports allows to logically include the elements of one ontology in another ontology. OWL DL predefines several ontology properties and allows users to define further

ontology properties. A concrete instance of an ontology property is represented through OntologyPropertyValue, which instantiates a certain type of OntologyProperty and is a reference between two ontologies. Annotation properties. Given elements of an OWL ontology can be annotated with metadata. Several annotation properties, e.g. owl:versionInfo, are predefined and users can define further annotation properties. We treat annotation properties similarly to ontology properties. However, the subject of an AnnotationPropertyValue is an AnnotateableElement and the object is a Annotation, which can be either a DataValue, a URI or an Individual (Figure 4).

Class Constructors. In comparison to UML, OWL DL does not only allow to define simple named classes. Instead, classes can be formed with several class constructors (Figure 5). One can conceptually distinguish the Boolean combination of classes, restrictions and enumerated classes. EnumeratedClass is only available in OWL DL and is defined through a direct enumeration of named individuals. Boolean combinations of classes are provided through Complement, Intersection and Union. Restrictions are class constructors that restrict the range of a property for the context of the class (Figure 6). Restrictions can be stated on datatype and object properties, as indicated by toClass and toDatatype. Accordingly they limit the value to a certain datatype or class extension. UniversalRestriction provides a form of universal quantification that restricts the range of a class to the extension of a certain class or datatype. We introduce an abstract metaclass QualifiedNumberRestriction to relate

unqualified cardinality restrictions (which are available in OWL) and existential restrictions. Obviously the minimum cardinality is by default 0 and may not be negative while the maximum cardinality should not be smaller than the minimum cardinality. Unqualified number restrictions (NumberRestriction) are available in OWL and define how many elements the range of the given property has to have while not restricting the type of the range. (ExistentialRestriction) can logically and semantically be seen as a special type of qualified number restrictions where the cardinality is fixed. OWL also provides HasValue, which is a special type of existential restriction where the qualifying class is an enumeration containing a single individual. Figure 5 shows that classes can be related with each other using class axioms, such as class subsumption (subClassOf), class equivalence (equivalentClass) and class disjointness (disjointWith). These relations between classes are naturally modelled as associations. Datatypes. The datatype system of OWL is provided by XML Schema, which provides a predefined set of named datatypes (PrimitiveType), e.g. strings xsd:string. Additionally, users may specify enumerated datatypes (EnumeratedDatatype) which consist of several data value of items (DataValue).

A UML Profile for OWL Ontologies


In UML, a UML property can be defined as part of an association or on the class that defines the domain of the property. The UML type of the property is the class that defines its range. In RDF and OWL, properties are defined globally unless a domain or range is specified, that is, they are available to all classes in all ontologies. For RDF properties that are defined without specifying a domain or range, the profile uses a global Thing class (Thing for RDF-S, owl:Thing in OWL ontologies) as default for the missing end class. Properties that are defined with such a default domain or range may not have multiplicities (other than [0..*]) or other constraints that correspond to OWL restrictions. Figure 7 shows an example of a property without a specified domain. From a UML perspective, RDF or OWL properties are semantically equivalent to binary associations with unidirectional navigation (one-way associations). Figure 8 shows the alternate representation for RDF or OWL properties that includes an association. Just like a UML property, there is efficient navigation from an instance of Thing to an instance of Color through the hasColor end. Moreover, associations can be classes, as shown in Figure 9. An association class can have properties, associations, and participate in generalization as any other class. Notice that the association has a (slightly) different name than the property, by capitalizing the first letter, to distinguish the association class from the property itself. A stereotype <<rdfProperty>> is introduced to highlight such binary, unidirectional association classes, as shown in Figure 9.

Mapping between UML and OWL


Table 1 provides a very high-level summary comparison of some features of UML and the equivalent OWL feature. UML features are grouped in clusters that translate to a single OWL feature or a cluster of related OWL features. The representation given in the specification includes both explanatory text and a formal mapping expressed in the recently adopted MOF Query/Views/Transformations (QVT) language which provides a standardized MOF-based platform for mapping instances of MOF metamodels from one metamodel to another. The mapping provided is explicitly between UML 2 and the DL dialect of OWL.

Implementations and applications


The Visual Ontology Modeler is a visual application for building component-based ontologies. It is a UML-based modeling tool that enables ontology development and management for use in collaborative applications and interoperability solutions. Key features include:

A multi-user, network-based environment for ontology development in a rich, graphical notation. Automated import/export facilities in XML schema, RDF, OWL, DAML, and MOF formats. A feature-rich set of ontology authoring wizards that create and maintain the required UML model elements for the user, saving time and substantially reducing construction errors and inconsistencies. Ability to utilize and leverage existing UML and MOF accessible business information.

For more information see [4]

References
[1] Saartje Brockmans, Robert M. Colomb, Peter Haase, Elisa F. Kendall, Evan K. Wallace, Chris Welty, Guo Tong Xie, A Model-Driven Approach for Building OWL DL and OWL Full Ontologies [2] Sara Brockmans, Raphael Volz, Andreas Eberhart, and Peter Loffler, Visual Modeling of OWL DL Ontologies Using UML, Institute AIFB, University of Karlsruhe, D-76128 Karlsruhe [3] IBM and Sandpiper Software. Ontology Definition Metamodel. Sixth Revised Submission, Object Management Group, June 2006. http://www.omg.org/cgi-bin/doc?ad/ 2006-05-01. [4] http://www.sandsoft.com/products.html

S-ar putea să vă placă și