Hi

Steve Bayliss have just finished adding the RELS-INT datastream to
Fedora, as announced on this list. I have been in some discussion with
him, as also shown on this list. This discussion have granted me a
chance to fully understand the conceptual change that RELS-INT brings.

In the semantic web paradigm, everything with an URI is a thing, which
can have properties and so on. But in Fedora, so far only Objects could
have properties (relations)

This all changed with the introduction of RELS-INT. Steve Bayliss have
made a system for, in a fedora object, specifying object properties with
a datastream id as subject. No more, no less.

So datastreams are now objects, so to speak. They have a URI, and they
can have properties themselves. Formerly, there was the Fedora Object,
which had datastreams (blobs of data) and properties. Now there is the
Datastream, which has ONE blob of data, and properties. Fedora objects
now has a list of Datastreams, and properties for the object itself.
So we have two levels of objects. This is the way the Fedora paradigm is
broken.

Big deal? Yes. Because if the datastreams can have relations, they can
have the hasModel/rdf:type relation. So, suddently we have a framework
for talking about the classes of datastreams. Now, like the content
models, there is the possibility to specify restrictions and demands on
the datastream, both it's relations and it's content.

Some might remember the old problem with the DS-COMPOSITE-MODEL
datastream. There is no way to specify datastreams that might be there,
only datastreams that have to be there, and there is no way to specify
cardinality for datastreams.
With the use of RELS-INT and enhanced content models, we can now specify
something close to a solution to this problem.
Enhanced Content Models give the ability to define an ontology for
subscribing objects. This could include relations from the object to the
objects datastreams. On such relations, Enhanced COntent Models give the
ability to make cardinality demands, and specify the class/content model
of range.
So, in the RELS-EXT for an object you could make this blob

<rdf:Description rdf:about="info:fedora/demo:object1">
  <fedora-system:hasModel rdf:resource="info:fedora/demo:cm1"/>
  <demo:hasDCdatastream rdf:resource="info:fedora/demo:object1/DC1"/>
  <demo:hasDCdatastream rdf:resource="info:fedora/demo:object1/DC2"/>
  <demo:hasDCdatastream rdf:resource="info:fedora/demo:object1/DC3"/>
</rdf:Description>

Then in the ontology we would specify something like
<owl:Class rdf:about="info:fedora/doms:ContentModel_DOMS">

 <rdfs:subClassOf>
    <owl:Restriction>
       <owl:onProperty rdf:resource="#hasDCdatastream"/>
          <owl:minCardinality
rdf:datatype="http://www.w3.org/2001/XMLSchema#integer";>3</owl:minCardinality>
    </owl:Restriction>
 </rdfs:subClassOf>
 <rdfs:subClassOf>
    <owl:Restriction>
       <owl:onProperty rdf:resource="#hasDCdatastream"/>
          <owl:allValuesFrom
              rdf:resource="info:fedora/demo:DCdatastreamcontentModel"/>
          </owl:Restriction>
 </rdfs:subClassOf>
</owl:Class>
This basically says that demo:object1 must have at least three
hasDCdatastream relations to things of the type
demo:DCdatastreamcontentModel

This in the RELS-INT in demo:object1
<rdf:Description rdf:about="info:fedora/demo:object1/DC1">
  <fedora-system:hasModel
rdf:resource="info:fedora/demo:DCdatastramcontentModel"/>
</rdf:Description>
<rdf:Description rdf:about="info:fedora/demo:object1/DC2">
  <fedora-system:hasModel
rdf:resource="info:fedora/demo:DCdatastramcontentModel"/>
</rdf:Description>
<rdf:Description rdf:about="info:fedora/demo:object1/DC3">
  <fedora-system:hasModel
rdf:resource="info:fedora/demo:DCdatastramcontentModel"/>
</rdf:Description>


And voila, you have specified that objects of demo:cm1 must have at
least three datastreams, which all have a specific content model.


I have not fully thought everything above through, but I hope you get
the gist of it. I would like to hear other peoples thoughts on this.
Think of this as a preliminary on how RELS-INT can be used in enhanced
content models

Regards
Asger

Enhanced content models to be found on ecm.sourceforge.net



------------------------------------------------------------------------------
_______________________________________________
Fedora-commons-developers mailing list
Fedora-commons-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/fedora-commons-developers

Reply via email to