Permalink
Switch branches/tags
Nothing to show
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
232 lines (161 sloc) 15.5 KB

Functions

Overview of MR3 functions

:numref:`mrcube_function_overview` shows a functional outline of MR3 . The goal of MR3 is to represent complicated models in a form that is as easy as possible for users to understand. MR3 provides three main functions: (1) graphical editing of RDF descriptions, (2) graphical editing of RDFS descriptions, and (3) meta-model management facilities, allowing several types of relationships in an RDF and RDFS description to be manipulated and managed. Here, the RDF elements considered are the RDF resource, RDF property and RDF literal, and the RDFS elements are the RDFS class and RDFS property. In the definition of these functions, a data graph refers to any visual expression of the data model.

The details of each function are described below.

Overview of MR\ :sup:`3` \ functions

Overview of MR3 functions

Graphical Editing of RDF Descriptions

Function (1) in :numref:`mrcube_function_overview`, which represents the graphical editing of RDF descriptions, supports the manipulation of the resource-property-value relation as defined by the semantics of the RDF data model. This function consists of the following sub-functions:

  • Transformation of RDF resources into an RDF data graph
  • Transformation of an RDF data graph into RDF resources

Graphical Editing of RDFS Descriptions

Function (2) in :numref:`mrcube_function_overview`, which represents the graphical editing of RDFS descriptions, supports the manipulation of the attributes of classes such as the class-subclass relation and the attributes of properties such as rdfs:domain, rdfs:range, and the property-subproperty relation, as defined by the semantics of the RDF Schema model. This function consists of the following sub-functions:

  • Transformation of RDFS resources into an RDFS data graph
  • Transformation of an RDFS data graph into RDFS resources

Meta-Model Management Facilities

Function (3) in :numref:`mrcube_function_overview`, which represents meta-model management facilities, is defined in this context as the checking of the consistency of classes and properties. The consistency checking mechanism consists of several facilities, as detailed below.

Meta-model management facilities are categorized as O→M or M→O. O→M is the facility to reflect the change in an ontology (RDFS class and property) in a model (the type of an RDF resource and RDF property). M→O is the facility to reflect the change in a model in an ontology. Manipulation of RDFS Class and Manipulation of RDFS Property are O→M facilities. Replace the Type of an RDF Resource and Replace RDF Property are M→O facilities.

O→M: Manipulation of an RDFS Class

The manipulation function of an RDFS class is operated by the meta-model management facility, and consists of replacing and removing an RDFS class.

Replace RDFS Class
When a URI of an RDFS class is replaced, the type of the RDF resource (URI), which refers to the replaced RDFS class, is also replaced at the same time.
Removal of RDFS Class
When an RDFS class is removed, MR3 shows the list of RDF resources, which includes the removed RDFS class as a type. The user can choose (or empty) other RDFS classes as a type of RDF resource.

Replace URI of RDFS Class

when a URI of an RDFS class is replaced, the type of the RDF resource (URI), which refers to the replaced RDFS class, is also replaced at the same time. :numref:`rename-class` shows an example of replacing a URI of an RDFS class. The left part of :numref:`rename-class` shows the state before replacing ex:Book class and the right part of :numref:`rename-class` shows the state after replacing ex:Book to dc:BibliographicResource class.

In the RDFS part in the following figures, rectangles represent RDFS classes, ellipses represent RDFS properties, arrows represent rdfs:subClassOf or rdfs:subPropertyOf properties. In the RDF part in the following figures, ellipses represent RDF resources, arrows represent RDF properties, and labels at the upper right of ellipses represent types of RDF resources.

ex:The-Emotion-Machine and ex:The-Society-of-Mind are RDF resources that have ex:Book as their type. If the users replace the URI of ex:Book to dc:BibliographicResource, the type of RDF resource, which refers to ex:Book class, is also replaced at the same time. In this case, the types of ex:The-Emotion-Machine and ex:The-Society-of-Mind (ex:Book class) are replaced with dc:BibliographicResource class.

An example of replacing a URI of an RDFS class

An example of replacing a URI of an RDFS class

Removal of RDFS Class

When an RDFS class is removed, MR3 shows the list of RDF resources, which includes the removed RDFS class as a type. The user can choose (or empty) other RDFS classes as a type of RDF resource.

:numref:`remove-class` shows an example of removal of an RDFS class. When the users remove ex:Book class, it can not be maintained consistency beween RDF contents and RDFS contents. Because exBook class is types of ex:The-Emotion-Machine and ex:The-Society-of-Mind resources. In :numref:`remove-class`, the users select empty as their type to maintain the consistency.

Note

If a type of an RDF resource is empty, the type of the RDF resource become implicitly rdfs:Resource.

An example of removal of an RDFS class

An example of removal of an RDFS class

O→M: Manipulation of an RDFS Property

The manipulation function of an RDFS property is operated by the meta-model management facility, and consists of replacing and removing an RDFS property.

Replace URI of RDFS Property
When a URI of an RDFS property is replaced, the RDF property, which refers to the replaced RDFS property, is also replaced at the same time.
Removal of RDFS Property
When an RDFS property is removed, MR3 shows the list of the RDF properties which refer to the removed RDFS property. A user can choose other RDFS properties (or the default property – mr3:nil) as a property of the RDF resources.

Replace URI of RDFS Property

When a URI of an RDFS property is replaced, the RDF property, which refers to the replaced RDFS property, is also replaced at the same time. :numref:`rename-rdfs-property` shows an example of replacing a URI of an RDFS property. The left part of :numref:`rename-rdfs-property` shows the state before replacing ex:author property and the right part of :numref:`rename-rdfs-property` shows the state after replacing ex:author to dc:creator property. The-Emotion-Machine and The-Society-of-Mind resources have the ex:author property. If the users replace the ex:author property with the dc:creator property, the corresponding RDF properties are also replaced. In this case, The ex:author property that ex:The-Emotion-Machine and ex:The-Society-of-Mind resources have are automatically replaced with the dc:creator property|

An example of replacing a URI of an RDFS property

An example of replacing a URI of an RDFS property

Removal of RDFS Property

When an RDFS property is removed, MR3 shows the list of the RDF properties which refer to the removed RDFS property. A user can choose other RDFS properties (or the default property – mr3:nil) as a property of the RDF resources.

:numref:`remove-property` shows an example of removal of an RDFS property. When the users remove ex:author property in the Property editor, it can not be maintained consistency between the RDF contents and the RDFS contents. Because ex:The-Emotion-Machine and ex:The-Society-of-Mind resources have the ex:author property. Here, in order to maintain the consistency, the users replace ex:author property with the default property (mr3:nil).

Note

In MR3 , mr3:nil is the default property. If any RDFS properties are not defined and the users create a statement, the property between resources in the statement become mr3:nil.

An example of removal of an RDFS property

An example of removal of an RDFS property

M→O: Replacing the Type of an RDF Resource

When it is not clear which RDFS class corresponds to the type of an RDF resource replaced by the user, the meta-model management facility is applied. When the type of an RDF resource replaced by the user is defined by the RDFS class, MR3 matches the type of the RDF resource and the RDFS class corresponding to the type of RDF resource. In addition, if the class is not defined, the user can choose one of the following:

  • Replacing a URI of an RDFS class with that referred to before the user replaced the type of the RDF resource.
  • Creating an RDFS class that has yet to be defined.

:numref:`rename-resource-type` and :numref:`make-class` show examples of replacing a type of an RDF resource.

Replacing a URI of an RDFS class

In :numref:`rename-resource-type`, although dc:BibliographicResource class is not defined in the Class editor, the users replace the type of ex:The-Society-of-Mind (ex:Book class) with dc:BibliographicResource class. Here, in order to maintain the consistency, the users select replacing a URI of an RDFS class. In this case, the users replace ex:Book class with dc:BibliographicResource class. Therefore, the type of ex:The-Emotion-Machine (ex:Book) is automatically replaced with dc:BibliographicResource class.

Replacing a URI of an RDFS class

Replacing a URI of an RDFS class

Creating an RDFS class

In :numref:`make-class`, ex:ScienceBook class is not defined and the users replace the type of ex:The-Society-of-Mind (ex:Book) with ex:ScienceBook class. Here, the users select to create ex:ScienceBook to maitain consistency.

An example of creating an RDFS class

An example of creating an RDFS class

M→O: Replacing the RDF Property

When it is not clear which RDF property corresponds to the RDFS property replaced by a user, the meta-model management facility is applied. When the RDF property which the user replaced is defined by the RDFS property, MR3 matches the RDF property and the RDFS property corresponding to the RDF property. If the property is not defined, the user can choose one of the following:

  • Replace the RDFS property name with that referred to before the user replaced the RDF property.
  • Create an RDFS property that has yet to be defined.

:numref:`rename-rdf-property` and :numref:`make-property` shows examples of replacing an RDF property.

Replacing a URI of an RDFS property

In :numref:`rename-rdf-property`, although ex:author property is not defined in the Property editor, the users replace ex:author property that ex:The-Society-of-Mind resource has with dc:creator property. In order to maintain the consistency, the users select replacing a URI of an RDFS property. In this case, the users replace ex:author property with dc:creator property. Therefore, ex:author property that ex:The-Emotion-Machine has is automatically replaced with dc:creator property.

An example of replacing a URI of an RDFS property

An example of replacing a URI of an RDFS property

Creating an RDFS property

In :numref:`make-property`, dc:creator property is not defined and the users replace the ex:author property that ex:The-Society-of-Mind resource has with dc:creator. Here, the users select to create dc:creator property to maintain consistency.

An example of creating an RDFS property

An example of creating an RDFS property

Other functions

Importing an RDF Document

When importing an RDF document, the type of RDF resource or an RDF property may not be defined as an RDFS class or an RDFS property. In this case, in order to maintain consistency, a type of RDF resource which is not defined as an RDFS class is created as a sub class of the rdfs:Resource class. In the same way, an RDF property which is not defined as an RDFS property is created.

:numref:`import-rdf` shows an example of importing an RDF document. The left side of :numref:`import-rdf` depicts the state before importing the RDF document. The right side of :numref:`import-rdf` depicts the state after importing the RDF document. ex:Book, with the type of ex:The_Emotion_Machine and ex:The_Society_of_Mind, is not defined as an RDFS class. Also ex:author in the RDF model is not defined as an RDFS property. In order to maintain consistency, MR3 creates a ex:Book class and ex:author property in the RDFS data graph automatically.

Import RDF document

Import RDF document

Keeping Element Names Unique

This function prevents RDF and RDFS from overlapping other element names when a user renames and creates an RDF or RDFS element. If duplication of an RDFS element name is allowed, consistency cannot be maintained.

Replacing namespace with prefix or URI with label

MR3 has a function to replace namespaces of resources with the corresponding prefixes that are defined in the Namespace Table. MR3 also has a function to replace URIs of resources with the value of rdfs:label property that the resources have.

Setting a Meta Class and Property

A user can set meta classes and properties in MR3 . This function controls whether to consider a resource of a certain type as a class or a property. For example, if a user sets owl:Class as a meta class and owl:ObjectProperty and owl:DatatypeProperty as meta properties, MR3 can import the class and property hierarchy in OWL. The default meta class is rdfs:Class and the default meta property is rdf:Property.

Validation

When constructing an RDF model, MR3 doesn’t check rdfs:domain and rdfs:range in the RDFS properties. However, MR3 can perform validation of an RDF model using vOWLidator. This function indicates the resources that don’t match the rdfs:domain and rdfs:range in the RDFS properties.

Note

In ontology based tools, the users must define domains and ranges of RDFS properties before using the RDFS properties to build RDF contents. In MR3 , the users can use RDFS properties without defining the domains and the ranges of the property to build RDF contents.