Versions Compared

Key

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

A system for specifying relations in Fedora, based on OWL Lite ontologies

In the following these shorthands will refer to the following namespaces

...

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 objects. 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.

...

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

When the properties 2 and 5 are expressed in OWL, they become the property 6.

...

Instead of "rdf:range", one should use the "allValuesFrom" restriction. This restriction defines a range for the property, but only in the given class. As such, the restriction will have no global effect. "rdf:domain" is just not nessesary. The property 3 implies that the ONTOLOGY in a Content Model should describe the local area, i.e. the objects subscribing to that content model. The result of this is that the domain, so to speak, of a property will always be the Content Model in which it was defined. But again, this restriction will have no global effect, the property defined somewhere else will have some other Content Model as its domain.

Example of a simple ontology

Code Block
    <!--RELS-EXT from Object_A1-->
    <rdf:Description rdf:about="info:fedora/demo:Object_A1">
        <fedora-model:hasModel rdf:resource="info:fedora/demo:CM_A"/>
        <demo-relations:hasB rdf:resource="info:fedora/demo:Object_B1"/>
    </rdf:Description>

    <!--OWL-SCHEMA from CM_A-->
    <owl:Class rdf:about="info:fedora/demo:CM_A">
        <rdfs:subClassOf>
            <owl:Restriction>
                <owl:onProperty
                        rdf:resource="http://www.statsbiblioteket.dk/demo-relations/#hasB"/>
                <owl:cardinality
                        rdf:datatype=
                                "http://www.w3.org/2001/XMLSchema#integer">
                    1
                </owl:cardinality>
            </owl:Restriction>
        </rdfs:subClassOf>
        <rdfs:subClassOf>
            <owl:Restriction>
                <owl:onProperty
                        rdf:resource="http://www.statsbiblioteket.dk/demo-relations/#hasB"/>
                <owl:allValuesFrom rdf:resource="info:fedora:/demo:CM_B"/>
            </owl:Restriction>
        </rdfs:subClassOf>
    </owl:Class>
    <owl:ObjectProperty
            rdf:about="http://www.statsbiblioteket.dk/demo-relations/#hasB"/>

...