Data Structures Content Modeling - Islandora · Compound vs Atomistic Modeling A compound object...

20
Content Modeling / Data Structures Nigel Banks

Transcript of Data Structures Content Modeling - Islandora · Compound vs Atomistic Modeling A compound object...

Page 1: Data Structures Content Modeling - Islandora · Compound vs Atomistic Modeling A compound object has multiple content-bearing datastreams in a single object • eg. a book object

Content Modeling /Data Structures

Nigel Banks

Page 2: Data Structures Content Modeling - Islandora · Compound vs Atomistic Modeling A compound object has multiple content-bearing datastreams in a single object • eg. a book object

Fedora Object - Structure

Page 3: Data Structures Content Modeling - Islandora · Compound vs Atomistic Modeling A compound object has multiple content-bearing datastreams in a single object • eg. a book object

Fedora Object Types● Data Object● Content Model Object● *Service Definition Object● *Service Deployment Object

* Typically not used by Islandora.

Page 4: Data Structures Content Modeling - Islandora · Compound vs Atomistic Modeling A compound object has multiple content-bearing datastreams in a single object • eg. a book object

Content Model - Structure

Page 5: Data Structures Content Modeling - Islandora · Compound vs Atomistic Modeling A compound object has multiple content-bearing datastreams in a single object • eg. a book object

Content Model - Architecture

Page 6: Data Structures Content Modeling - Islandora · Compound vs Atomistic Modeling A compound object has multiple content-bearing datastreams in a single object • eg. a book object

What’s Content Model aka CModel● Characterizes a class of digital objects

○ Data; Coupled with○ Behavior

● Implicit vs Explicit => Behavoir / Data○ What’s explicitly permitted, excluded, or required?○ What’s expected but not formally defined○ DS-COMPOSITE-MODEL is Explicit

● Categorizes your entire repository

Page 7: Data Structures Content Modeling - Islandora · Compound vs Atomistic Modeling A compound object has multiple content-bearing datastreams in a single object • eg. a book object

Fedora Content Model Definition-- A container for the Content Model document which is a formal model that characterizes a class of digital objects. It can also provide a model of the relationships which are permitted, excluded, or required between groups of digital objects. -- All digital objects in Fedora including Data, SDef, SDep, and CModel objects are organized into classes by the CModel object.Fedora Content Model Definition

Page 8: Data Structures Content Modeling - Islandora · Compound vs Atomistic Modeling A compound object has multiple content-bearing datastreams in a single object • eg. a book object

Uses of Content Models● Object typing● Object validation● Object creation● Service / behavoir binding ● Community sharing / interoperability

Page 9: Data Structures Content Modeling - Islandora · Compound vs Atomistic Modeling A compound object has multiple content-bearing datastreams in a single object • eg. a book object

Islandora & Content ModelsIslandora Drupal 6● Fedora CModel is

extended with the ISLANDORACM datastream

● ISLANDORACM defines datastreams/mimetypes, actions on ingest, display of content, etc.

Islandora Drupal 7● Uses: DS-COMPOSITE-

MODEL○ Restricts Datastreams

● Actions / Forms are abstract out and stored in Drupal and launched by code in Drupal or via microservices.

Page 10: Data Structures Content Modeling - Islandora · Compound vs Atomistic Modeling A compound object has multiple content-bearing datastreams in a single object • eg. a book object

Grouping by Data / BehavoirConsider this: An object that requires the same # and types of Datastreams; but● It has different behavoirs (display / search, etc)● and / or● Users / Services interpret it’s data differently

Should it have a different content model?

Page 11: Data Structures Content Modeling - Islandora · Compound vs Atomistic Modeling A compound object has multiple content-bearing datastreams in a single object • eg. a book object

How to Model your Models?● Should you mix them? Should objects have multiple

CModels● Should you use Inheritance? Should CModels have

other CModels as types?● Single Types? Should you create distict types and not

use inheritance or mixins?● Should you make types do double duty and function as

two seperate things? NO!Well it depends.

Page 12: Data Structures Content Modeling - Islandora · Compound vs Atomistic Modeling A compound object has multiple content-bearing datastreams in a single object • eg. a book object

Compound vs Atomistic ModelingA compound object has multiple content-bearing datastreams in a single object• eg. a book object that includes many page datastreams.

An atomistic object has one or more child objects which are related back to the parent atomistic object.• eg. a book object with multiple child page objects

Page 13: Data Structures Content Modeling - Islandora · Compound vs Atomistic Modeling A compound object has multiple content-bearing datastreams in a single object • eg. a book object

Islandora Book SP: Example

Page 14: Data Structures Content Modeling - Islandora · Compound vs Atomistic Modeling A compound object has multiple content-bearing datastreams in a single object • eg. a book object

A more Atomistic Approach

Page 15: Data Structures Content Modeling - Islandora · Compound vs Atomistic Modeling A compound object has multiple content-bearing datastreams in a single object • eg. a book object

Case Study: Modeling GIS Data“I have 5Tb of GIS data. Can you help me?”

Dataset consists of 500 ZIP files where each ZIP file includes:● One XML file in ESRI format.

Page 16: Data Structures Content Modeling - Islandora · Compound vs Atomistic Modeling A compound object has multiple content-bearing datastreams in a single object • eg. a book object

Case Study: Additional requirements● A display of the ZIP file manifest● A preview image that represents the content of the

package● A KML representation of the package● An option for download

Page 17: Data Structures Content Modeling - Islandora · Compound vs Atomistic Modeling A compound object has multiple content-bearing datastreams in a single object • eg. a book object

Case Study: Questions I would ask● Can you describe your dataset and those that might use

it? ● How will they interact with the data? ● Search access points? ● Will all of it accessible? ● Are there any IP issues associated with the data? ● How long does the data need to be stewarded?● Should we Crosswalk metadata to an open or common

standard?

Page 18: Data Structures Content Modeling - Islandora · Compound vs Atomistic Modeling A compound object has multiple content-bearing datastreams in a single object • eg. a book object
Page 20: Data Structures Content Modeling - Islandora · Compound vs Atomistic Modeling A compound object has multiple content-bearing datastreams in a single object • eg. a book object

Questions?