Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Fedora is a store for digital objectsresources. The exact way they are stored is not important for this discussion. What is important is that the Fedora digital objects resources have RDF relations to each other. I.e. the Fedora digital object repository can be modelled as an RDF graph. There are two kinds of Fedora resources that can assert relations, objects and datastreams. When the term resource is used, it refer to both types.

There is one critical difference between Fedora digital objects resources and a normal RDF graph: Each Fedora object contains its own local bit of the graph. You cannot change the number or nature of the relations from object A, without editing object A.

...

Fedora provides a "class" of objects called Content Models. These try to represent the classes of data objects, and if specified, contain the description of the data objects, including the description of datastreams in the object. These are the natural location to place the local ontology bits. But now we reach the first problemsproblem. The Content models are both the classes of data objects, but they are also objects themselves. In order to describe such duality of existence, the language needed is OWL FULL, or something with similar expressive power. Since such expressive languages are difficult to reason about by automated systems, we chose to use a more restricted version, called OWL LITE. This imposes the second property on the ontology system.

2. The ontology only describes the data objects. Classes, representing and related to the content models class resources are used, distinct from the content model any fedora objects.

An ontology with implicit rules, properties or classes, could lead to some potential problems. When part of the ontology is derived from the whole ontology, the effects of changes to the ontology can become difficult to predict. Especially the removal or introduction of a class could affect the nature of other classes. In effect, this means that someone wanting to use the ontology must know the entire ontology, in order to extrapolate anything implicit, which is in conflict with property 1. To make this explicit, the third property is introduced:

3. The ontology must be locally complete, so that every local bit provides the complete description of its local area.

...

Object relations

Fedora does not allow for the FULL RDF specification to be used in the repositoryobjects. What it basically allows is that each object can have properties relating them to other objects (called relations), and literal properties. There can be no qualifiers on the properties.

There are a number of note-worthy issues about the way Fedora works with RDF. The first is that Fedora objects do not declare a rdf:type property. Instead they use a fedora-model:hasModel property to relate to a Content model. Unfortunately, OWL LITE regards the relations as "owl:ObjectProperty"'s, and "rdf:type" as an "rdf:Property". As they are of different classes, you must use OWL FULL to define: fedora-model:hasModel rdfs:subPropertyOf rdf:type
So, in OWL LITE Content Models cannot be regarded as classes, in violation of property 2. But as this is all that prevents from using OWL LITE for the ontology, there are hackish ways around it. And thus is property 4 defined.

...

5. All fedora-model:hasModel relations must refer to real Content models

The fifth property is more of a guideline, through. It is possible to have objects that assert content models, but where the content models do not exist. For the purposes of the ontology, the assertion is ignored, and the object is not considered to be of that class.

Defining ontologies by OWL LITE

...