Download presentation
Presentation is loading. Please wait.
1
Enhanced Content Models
JISC Developers Happiness Days 2. Fedora EU Usergroup meeting London, 2009 Asger Blekinge-Rasmussen Kåre Fiedler Christiansen
2
Program Introduction A look at Fedora Objects
Traditional Content Models Enhanced Content Models Description languages Validator Autogenerated user interfaces
3
Introduction Shift of paradigm Catalog cards > interlinked content
Heterogeneous collections in the same repository A single metadata model will not do Need for a Data Model Description Language Extension of Fedora 3.x Content Models Precise description of XML datastreams Precise description of relations
4
A look at Fedora Objects
Interrelated objects Datastreams in objects Content Models
5
Traditional Content Models
Content Models declare the classes of data objects Content Models declare the existince of datastreams in data objects Content Models associate disseminators with data objects
6
Enhanced Content Models
Extra information in Content Models. Backwards compatible. ECMs declare the allowed relations, with cardinality and target classes for data objects ECMs declare the schema for all xml datastreams. ECMs: Describe only properties about subscribing objects Describe all properties about subscribing objects
7
Description Languages
Datastreams XML XMLSchema Relations RDF RDFSchema / OWL Lite
8
Description Languages - Datastreams
<dsCompositeModel> <dsTypeModel ID="DC"> <form MIME="text/xml"/> </dsTypeModel> </dsCompositeModel>
9
Description Languages - Datastreams
<dsCompositeModel> <dsTypeModel ID="DC"> <form MIME="text/xml"/> </dsTypeModel> </dsCompositeModel>
10
Description Languages - Datastreams
<dsCompositeModel> <dsTypeModel ID="DC"> <form MIME="text/xml"/> <extensions name="SCHEMA"> <schema:schema type="xsd" object="example:example_schema_object" datastream="DC_SCHEMA"/> </extensions> </dsTypeModel> </dsCompositeModel>
11
Description Languages – Relations (in “ONTOLOGY” datastream)
<rdf:RDF xml:base=" <owl:ObjectProperty rdf:about="#isPartOfCollection"/> <owl:Class rdf:about="info:fedora/doms:ContentModel_DOMS"> </owl:Class> </rdf:RDF>
12
Description Languages – Relations (in “ONTOLOGY” datastream)
<rdf:RDF xml:base=" <owl:ObjectProperty rdf:about="#isPartOfCollection"/> <owl:Class rdf:about="info:fedora/doms:ContentModel_DOMS"> </owl:Class> </rdf:RDF>
13
Description Languages – Relations (in “ONTOLOGY” datastream)
<rdf:RDF xml:base=" <owl:ObjectProperty rdf:about="#isPartOfCollection"/> <owl:Class rdf:about="info:fedora/doms:ContentModel_DOMS"> </owl:Class> </rdf:RDF>
14
Description Languages – Relations (in “ONTOLOGY” datastream)
<rdf:RDF xml:base=" <owl:ObjectProperty rdf:about="#isPartOfCollection"/> <owl:Class rdf:about="info:fedora/doms:ContentModel_DOMS"> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#isPartOfCollection"/> <owl:minCardinality rdf:datatype="integer">1</owl:minCardinality> </owl:Restriction> </rdfs:subClassOf> </owl:Class> </rdf:RDF>
15
Description Languages – Relations (in “ONTOLOGY” datastream)
<rdf:RDF xml:base=" <owl:ObjectProperty rdf:about="#isPartOfCollection"/> <owl:Class rdf:about="info:fedora/doms:ContentModel_DOMS"> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#isPartOfCollection"/> <owl:minCardinality rdf:datatype="integer">1</owl:minCardinality> </owl:Restriction> </rdfs:subClassOf> </owl:Class> </rdf:RDF>
16
Description Languages – Relations (in “ONTOLOGY” datastream)
<rdf:RDF xml:base=" <owl:ObjectProperty rdf:about="#isPartOfCollection"/> <owl:Class rdf:about="info:fedora/doms:ContentModel_DOMS"> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#isPartOfCollection"/> <owl:minCardinality rdf:datatype="integer">1</owl:minCardinality> </owl:Restriction> </rdfs:subClassOf> <owl:allValuesFrom rdf:resource="info:fedora/doms:ContentModel_Collection"/> </owl:Class> </rdf:RDF>
17
Validator A validator for dataobjects subscribing to enhanced content models Built as a webservice Built into Fedora via API hooks. Added meaning to the object State Objects in State Active cannot be changed When objects change to State Active, they are validated. If validation fails, the change is forbidden. Error reporting done via subclasses of ServerException
18
Autogenerated user interfaces
Precise description of contents allow for autogenerated programmatic interfaces In effect, a GUI could wrap itself around the objects in the repository Let me demonstrate our version :)
19
Rounding up Questions? Websites
Project homepagehttp://wiki.statsbiblioteket.dk/domswiki Enhanced Content Models site on the Fedora wikihttp://tinyurl.com/bh3966 This work has been funded by DEFF, Denmark's Electronic Research Library State and University Library, Denmark
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.