Samvera Community Wiki
Hyrax Metadata Ordering Call 2018-05-15
Connection Info:
4-5pm Eastern
https://iu.zoom.us/j/111989167
Notetaker: @Juliet Hardesty
Attendees: @jen young, @Ryan Wick, @Ryan Johnson, @Juliet Hardesty
Agenda/Notes:
Demos/updates - @Ryan Wick and @sadie_roosa
Valkyrie/Figgy
https://wiki.duraspace.org/display/samvera/Data+Mapper+Working+Group+Retrospective
https://github.com/samvera-labs/valkyrie/wiki/Supported-Data-Types
https://github.com/pulibrary/figgy
https://github.com/psu-libraries/choValkyrie as new middleware
- metadata adapters: postgres, memory
- storage adapters: fedora, disk, memoryStore metadata in Fedora?
Valkyrie README says no
Data Mapper WG Retro says yesAssign predicates to properties?
Data Mapper WG Retro says optional for Fedora, no for other backendsFiggy metadata adapter is all postgres
CHO metadata adapter is all postgresFrom README:
attribute :authors, Valkyrie::Types::Array # Arrays are orderedhttps://github.com/pulibrary/figgy/blob/master/app/models/ephemera_box.rb
attribute :member_ids, Valkyrie::Types::Arrayattribute :title, Valkyrie::Types::Setattribute :barcode, Valkyrie::Types::Setattribute :workflow_note, Valkyrie::Types::Array.member(WorkflowNote).optionalhttps://github.com/pulibrary/figgy/blob/master/app/models/scanned_map.rb
include Schema::Geoattribute :id, Valkyrie::Types::ID.optionalattribute :member_ids, Valkyrie::Types::Arrayattribute :logical_structure, Valkyrie::Types::Array.member(Structure.optional).optionalattribute :pending_uploads, Valkyrie::Types::Array.member(PendingUpload)attribute :workflow_note, Valkyrie::Types::Array.member(WorkflowNote).optionalValkyrie Shared Specs:
https://github.com/samvera-labs/valkyrie/blob/master/lib/valkyrie/specs/shared_specs/persister.rb
(shows current support for RDF and other data types, nesting, etc.)Valkyrie is new middleware to talk to different backends so can have diff backends to talk to memory and storage/files
PostGres connection has metadata adapter - so Valkyrie supports set (unordered) and array (ordered) from PostGres; Figgy uses this in its code; workflowNote is an array, for example; scanned map with logical structure attribute that is array
so ordering of metadata fields works now if using PostGres
for Fedora as metadata adapter (not just storage adapter) - older docs from mapping working group say it's possible but current readme for Valkyrie doesn’t include info on a metadata adapter for Fedora
Valkyrie code includes shared specs/tests to outline capabilities so any new adapter should pass all tests and this includes mixing types (array can contain text string or URI or language typing)
PostGres doesn’t store data natively as RDF
assigning predicates to properties - says this is optional with Fedora and not supported with other backends (so you could have title in PostGres but not an associated property)
could export as RDF if you want
Hyrax 3 is the Valkyrization of Hyrax
WGBH (from Sadie):
I was slated to show what WGBH is doing with our contributors, and so here's a graphic of our data model that shows Contributions as a child of an Asset. Our model is Asset-centric, where Assets don't have to belong to Series, but can. And were Assets don't have to have children (Instantiations or Contributions) but can. Let me know if you have any questions. I don't think this will weight very heavily on our recommendations to the Hyrax team, but I wanted to share since I said I would.
Report - https://docs.google.com/document/d/1bfCJsu7kTwjb2uu5D-TdKR_YFauMICkz4vnK59J7CZ0/edit?usp=sharing
Edits/additions
What do we recommend?
leaning towards ordered things as objects
Valkyrized solution seems most feasible
UCSD moving towards Hyrax
NU still using Fedora but might move towards Valkyrie since devs worked on sprints for it
For Hyrax 2 with Fedora, ordered things as objects won’t work as part of codebase
ActiveFedora does not deal with ordering
local implementation could use property as text list but code changes required and updating requires special update to text list property
For Hyrax 3, could work with database backend like PostGres but probably not Fedora (as we know it right now)
Evaluation spreadsheet for reference: https://docs.google.com/spreadsheets/d/1J7-aGnSMnRQaV4MCmHW_Vr4gzEFn-S7v759XbYl-DUY/edit?usp=sharing
Criteria for ordered things - add this to report
be able to always get ordered information (via web app, console, export functionality)