Hydra:Works @ Code4Lib Notes

Hydra:Works @ Oregon UniverstityĀ 

February 12th and 13th, 2015

Ā 

ā€”ā€”ā€”ā€”ā€”ā€”ā€”ā€”ā€”ā€”

HYDRA V. FEDORA

Ā 

Question:Ā  Should this be data modeling be at the Hydra level or the Fedora level?

Ā 

This data modeling would be useful for not just the Hydra community but the entire Fedora community and should exist outside of Hydra.Ā  The modeling should only include abstractions on relationship and not include functionality.

Ā 

ā€”ā€”ā€”ā€”ā€”ā€”ā€”ā€”ā€”ā€”

SUMMARY OF cMODEL

Ā 

Our summary of the shared content model included a review of model diagrams created at the earlier meeting in Portland and the Application Profile Google Doc.Ā  We reviewed some of the basic assertions outlined in both documents as it relates to Works, Collections, and Files.Ā  We extended the conversation to include conversations about complex Use Cases that include descriptive or non-member works and how we should handle them.Ā  i.e. proxy nodes, donor agreements, terms of use, and thumbnails.Ā  Since Collections may not have hasFile and we want to distinguish between members and aggregates.Ā  This would be classified as ore:aggregates.

Ā 

Collections

Ā Ā can have collections

Ā Ā can have member objects (works)

Ā Ā can have components

Ā Ā Ā Use of predicate over subClassing:Ā  describes

Ā Ā Summary level of collection:Ā  hasMember

Works

Ā Types of Works that Describe

Ā Ā thumbnail proxy

Ā Ā larger proxy

Ā Ā text proxy

Ā Ā Types of Works used for attaching a non-member work

Ā Ā Donor Agreement

Ā Ā Terms of UseĀ 

Ā Ā Thumbnail / Representative

Ā Ā Provenance / curatorial

Ā Ā Ā ----------------------------

Ā Ā Exemplary Record

Ā Ā Featured Record

Ā Ā Preferred Member

What do we do with these describe documents?

Ā Since Collections may not have hasFile and we want to distinguish between members and Ā aggregates.Ā  This would be classified as ore:aggregates

Ā Assertion:Ā Using works within works to encapsulate descriptive metadata for files provenance.

Ā 

Complex Object Examples:

Ā 1. Scholarly Submission (Thesis - PDF, Dataset-CSV, Thumbnail - PNG)

Ā Ā Thesis (Work)

Ā Ā Dataset (Work)

Ā Ā Content (Work)

Ā Ā Thumbnail (File)

Ā 

ā€”ā€”ā€”ā€”ā€”ā€”ā€”ā€”ā€”ā€”

NAMING

Ā 

We attempted to come up with a more representative name for our shared content model.Ā  The highlight on attempted.Ā  Although we couldnā€™t reach any consensus, there were some ideas thrown around with the most support for Object.Ā  Some the ideas included: Asset, Concern,Ā  Subject,Ā  Resource,Ā  FOB,Ā  DOB,Ā  Container,Ā  Object,Ā  and Entity. Ā Prefix - Generic, Submitted, or Digital.Ā 

Ā 

Should we stick with works?

Ā What is the thing in Fedora:Ā  node, object, container,

Likes to standardizing on LDP

Fedora.info - Fedora namespace

Ā 

ā€”ā€”ā€”ā€”ā€”ā€”ā€”ā€”ā€”ā€”

LDP CONTAINERS

Ā 

Rob Sanderson guided us through the W3 standard for linked data called LDP.Ā  The Linked Data Protocol could be used to organize our objects and data streams in Fedora4.Ā 

Here are two resources for LDP:Ā  alturl.com/b485n and www.w3.org/TR/ldp.

LDP is a platform for managing interactions of linked (RDF source) and non-linked data and containers.Ā  We discussed the use of basic, direct, and indirect containers to create a standard that would be manageable in Fedora 4 and linkable in RDF using REST and SPARKLE queries.Ā  The structure for writing these relationships to FEDORA 4 onĀ works and files would be:

/works/1

/works/1/filesĀ Ā 

/works/1/files/f1

This structure will also work for the descriptive and non-member worksĀ 

Ā Ā /works/1/files/Ā 

Ā Ā /works/1/membership/

Ā Ā /works/1/proxies/

and collections

/colls/1

/colls/2

/colls/1/membership/1

Algorithm for updating title

Ā Ā ../works/

Ā Ā POST <dc:title"Fish"

Ā Ā ../works/1

Ā Ā GET /works/1

Ā Ā /works/1 dc:title "Fish"

Ā Ā PUT /works/1

Ā 

Topics to be discussed at LDCX:

Use of direct containers to automatically make assertions about newly created resources.

hasMembership Resource

hasFile:Ā Ā /works/1/filesĀ Ā automatically

works/1 hasFile files/f1


There was agreement that this would be a good way to manage the objects, but we would need to check with Chris Beer and Andrew Woods to make that sure that Fedora 4 can handle LDP. Ā Handle things like:

You can't change the e-tags when updating things.

What happens with reciprocal property?

What test need to write test?

Ā 

ā€”ā€”ā€”ā€”ā€”ā€”ā€”ā€”ā€”ā€”

INTERACTIONS

Ā 

Should we have our own fedora convention for deleting resources?

Interact with REST / SPARQL

Ā Ā PATCH and PUTS (overwrite)

Ā Ā CREATE

Proposing

Ā Membership using PATCH

Ā ldp - structural metadata

Ā very REST - SPARQL for metadata

Ā 

ā€”ā€”ā€”ā€”ā€”ā€”ā€”ā€”ā€”ā€”

ORDER

Ā 

There was a little discussion around ordering efficiencies and RDF.Ā  There was still consensus around ORE ordering, but there were conversations around the use of serialized arrays, double linked list, and micro syntax in implementations. Ā 

Need a plan to implement ORE:Ā There has been a big push since our return on the RDF Proxy List Repo:Ā Ā https://github.com/projecthydra-labs/rdf-proxy_list. Ā 

POST <> proxyIn Coll

proxyFor W

Ā Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā type ore:Proxy

Ā 

ā€”ā€”ā€”ā€”ā€”ā€”ā€”ā€”ā€”ā€”

HYDRA_WORKS

Ā 

Once the decision was reached to treat this as a Fedora Content Model, we started to organize around the functionality that we would would like to make things more compatible with Hydra heads.Ā  The first point was that Active Fedora would need to be updated to use the LDP conventions.Ā  Then we started to model out SUFIA into works models.Ā  Concerns about where functionality should reside and how behavior should be implemented were also voiced.Ā  I think it remains unclear what will be in the Hydra:Works gem once the shared content model is in another FCDM gem.

Proposals: Ā 

submitted_resource to be used instead of generic_files?

one parent - one file?

hydra namespace to be used?

associations go in hydra:works?

Ā Types of Hydra:Works:

Ā Ā leaf_work

Ā Ā How do i distinguish the leaf items?

Ā Ā Ā Ā OriginalĀ 

Ā Ā Ā Ā Thumbnail

Ā Ā Ā Ā Technical Metadata

Ā Ā Ā Ā use of file

Ā  Ā predicate for indexing files in solr

Ā  Ā leaf_works are defined by class

Ā Ā submitted_resource

Ā Ā How do i distinguish a submitted_resource?

Ā Ā compartments

Ā Ā How do i distinguish the compartment?

Ā Where we will put this?

Ā Ā sufia_models

Ā Ā hydra:works

Ā Ā model/services/sufia -Ā separate structure from behavior

Ā Ā Seperation of Concerns:Ā Gem that represents data model structure and a gem that represents data model behavior.

Ā What do we have to do inĀ Active Triples?

Ā Ā Ā Ā Associations?

Ā Ā Ā Persistence

Ā Ā Ā Rules for removal

Ā Ā Ā type and inheritance i

Ā Ā Active Fedora 9 will need changes to allow for ldp containers

Ā Ā Ā Ā Ā Ā indirect containers - should go into ActiveFedora

Ā Ā Ā Add API that says I have a subcontainer at this place that should be direct or indirect

Ā Ā Ā Active Fedora API wrappers around hydra:works

Ā Ā Ā Build Abstractions up front

Ā Ā Timeframe for Hydra:Works including ordering:Ā  Mid-April

ā€”ā€”ā€”ā€”ā€”ā€”ā€”ā€”ā€”ā€”

RDF CONCERNS

Ā 

Topics forĀ LDCX: Ā A few RDF concerns were raised about namespacing, changing graphs, direct pointers, transcoding, and state. Ā 

Ā 

ā€”ā€”ā€”ā€”ā€”ā€”ā€”ā€”ā€”ā€”

ADMIN_SETS

Ā 

Our LDP Structure for Admin Sets will resemble this:

admin/colls/1/membership

admin/works/1

admin/colls/2

Topics for discussion at LCDX:Ā 

Ā Non-RDF Resources: File in Fedora is a non_rdf resource.Ā 

Ā WebACL inheritance

Ā Namespacing

Ā Costly to move from one Admin Set to another with redirect.

Ā Modelā€¦ AdminSet can have class

Ā 

ā€”ā€”ā€”ā€”ā€”ā€”ā€”ā€”ā€”ā€”

ACCESS_CONTROLS

Ā 

Needs to be discussed further.

Ā 

Topics for LDCX:

How does this look in Hydra 9 and ActiveFedora 9?

WebACL has rdf representation of rights in Fedora

Ā 

ā€”ā€”ā€”ā€”ā€”ā€”ā€”ā€”ā€”ā€”

NEXT STEPS

Ā 

The action items are:Ā 

Ā Ā 1. Ā  Update Data Model Document (Rob, Esme, Tom, and Jon)

Ā Ā 2. Ā  Coordinate with Fedora Works Repo (Thomas)

Ā Ā  Ā  Ā  Ā  Ā Ā 3. Ā  Other Metadata conversation (Karen)

Ā Ā  Ā  Ā  Ā  Ā  Ā 4. Ā  Hydra:Tech on LDP containers (Rob)

Ā Ā 5. Ā  Topics for LDCXĀ -Ā March 23

Ā 

Ā 

Ā