Child pages
  • PHYDO data model properties
Skip to end of metadata
Go to start of metadata

See Google Doc for latest version, including WGBH mappings: https://docs.google.com/spreadsheets/d/1MGCyBBHYRRBGm2kxloI5PbtkuVODWxZDioFY01zBj_g/edit

https://github.com/ruby-rdf/rdf-vocab/blob/develop/lib/rdf/vocab/dc.rb

https://github.com/ruby-rdf/rdf-vocab/blob/develop/lib/rdf/vocab/ebucore.rb

https://github.com/ruby-rdf/rdf-vocab/blob/develop/lib/rdf/vocab/premis.rb

https://github.com/ruby-rdf/rdf-vocab/blob/develop/lib/rdf/vocab/prov.rb

https://github.com/ruby-rdf/rdf-vocab/blob/develop/lib/rdf/vocab/skos.rb

 

Model

LocationXML HeadingHD2 HeadingMultiplePredicate in useSuggested predicateIndexed As
Work, FileSet, Physical ObjectMODS
xpath('/mods/titleInfo/title').text

Use Work title as fallback

Title 
RDF::Vocab::EBUCore.title
overrides CC:RequiredMetadata?
Same HD2 Heading as Work model "titleInfo/title:subTitle" (many rows below) - should be same source/content - use dc:title; there shouldn't be a descriptive title at the FileSet level, it should be showing the title from the Work
:stored_searchable, :sortable, :facetable
FileSetBarcode
Date.parse(xpath('/IU/Carrier/Parts/Part/Ingest/Date').text)
Date GeneratedN
RDF::Vocab::EBUCore.dateDigitised
 
:stored_searchable, :sortable, :facetable
FileSetFFPROBE
xpath('//ffprobe/format/@format_name').text
File Format 
RDF::Vocab::EBUCore.hasFormat
 
:stored_searchable, :facetable
FileSetFFPROBE
xpath('//ffprobe/format/@format_long_name').text
File Format Long Name 
RDF::Vocab::EBUCore.hasFileFormat
 
:stored_searchable, :facetable
FileSetFFPROBE
xpath('//ffprobe/streams/stream/@codec_type').collect { |i| i.text }
Codec Type 
RDF::Vocab::EBUCore.hasMedium
 
:stored_searchable, :facetable
FileSetFFPROBE
xpath('//ffprobe/streams/stream/@codec_name').collect { |i| i.text }
Codec Name 
RDF::Vocab::EBUCore.hasCodec
 
:stored_searchable, :facetable
FileSetFFPROBE
xpath('//ffprobe/streams/stream/@codec_long_name').collect { |i| i.text }
Codec Long Name 
RDF::Vocab::EBUCore.codecName
 
:stored_searchable, :facetable
FileSetFFPROBE
xpath('//ffprobe/format/@duration').text.to_i
DurationN
RDF::Vocab::EBUCore.duration
 
:stored_searchable, :sortable, :facetable
FileSetFFPROBE
xpath('//ffprobe/format/@bit_rate').text.to_i
Bit RateN
RDF::Vocab::EBUCore.bitRate
 
:stored_searchable, :sortable, :facetable
FileSetFFPROBE
xpath('//ffprobe/format/@filename')
File Name 
RDF::Vocab::EBUCore.filename
ebucore:filename?
FileSetFFPROBE
xpath('//ffprobe/format/@size').text.to_i
File SizeN
RDF::Vocab::EBUCore.fileSize
ebucore:fileSize?
FileSet, Work, Physical ObjectPOD
xpath('//details/mdpi_barcode').text
Identifier 
RDF::Vocab::EBUCore.identifier

:symbol
FileSetPOD
xpath('//assignment/unit').text
Unit of Origin 
RDF::Vocab::EBUCore.description
dcterms:provenance (DPLA MAP)
:stored_searchable, :facetable
FileSetFFPROBEtag key="comment"Unit of Origin Statement  What is the purpose of storing this info? Unit of Origin is already stored elsewhere. If this is for search-only purposes and not facet, I would store it as ebucore:alternativeTitle 
FileSetFFPROBEtag key="description"Alternative Unit of Origin Statement  ebucore:alternativeTitle (same as Unit of Origin Statement) 
WorkPOD
xpath('//assignment/unit').text
Unit of Origin 
RDF::Vocab::EBUCore.isOwnedBy
dcterms:provenance
:stored_searchable, :facetable
WorkBarcode XML
xpath('/IU/Carrier/Parts/DigitizingEntity').text
Digitized By 
RDF::Vocab::EBUCore.hasCreator
 
:stored_searchable, :facetable
WorkBarcode XML
xpath('/IU/Carrier/Parts/Part/Ingest/Created_by').collect { |i| i.text }
Digitized By Staff ID 
RDF::Vocab::EBUCore.hasMetadataAttributor
 
:stored_searchable, :facetable
WorkBarcode XML
DateTime.parse(xpath('/IU/Carrier/Parts/Part/Ingest/Date').text)
Date Digitized 
RDF::Vocab::EBUCore.dateDigitised
 
:stored_searchable, :sortable, :facetable
WorkBarcode XML
[noko.xpath('/IU/Carrier/Parts/Part/Ingest/Extraction_workstation/Manufacturer').text,
 noko.xpath('/IU/Carrier/Parts/Part/Ingest/Extraction_workstation/Model').text,
 noko.xpath('/IU/Carrier/Parts/Part/Ingest/Extraction_workstation/SerialNumber').text].join(' ')
Extraction Workstation Information 
RDF::Vocab::EBUCore.textualAnnotation
skos:note (prepend "Extraction workstation: ")
:stored_searchable, :facetable
WorkBarcode XMLTape_playback_calibration_usedPlayback Calibration  skos:note (prepend "Playback calibration: ") 
WorkBarcode XML

Part Side/Ingest/Comments or

xpath('//Comments').text
Digitization Comments 
RDF::Vocab::EBUCore.comments
 
:stored_searchable
WorkBarcode XML
xpath('/IU/Carrier/Identifier').text
Original Media Identifier 
RDF::Vocab::EBUCore.hasSource
 
:symbol
WorkPOD
xpath('//technical_metadata/format').text
Original Format 
RDF::Vocab::EBUCore.hasFormat
 
:stored_searchable, :facetable
WorkPOD
xpath('//technical_metadata/recording_standard').text
Recording Standard 
RDF::Vocab::EBUCore.hasStandard
 
:stored_searchable, :facetable
WorkPODtape_stock_brandTape Stock Brand  ebucore:Medium 
WorkPOD
xpath('//technical_metadata/image_format').text
Image Format 
RDF::Vocab::EBUCore.aspectRatio
 
:stored_searchable, :facetable
WorkBarcode XML
xpath('/IU/Carrier/Definition').text
Definition 
RDF::Vocab::EBUCore.hasVideoFormat
 
:stored_searchable, :facetable
WorkBarcode XMLPhysicalCondition/DamageOriginal Media Damage  skos:historyNote (maybe prepend "Original Media Damage: ") 
WorkBarcode XMLPhysicalCondition/PreservationProblemOriginal Media Preservation Problem 

 

 

 

skos:scopeNote (maybe prepend "Original Media Preservation Problem: ") 
WorkBarcode XMLQCStatusQC Status  skos:changeNote (maybe prepend "QC Status: ") 
WorkBarcode XMLManualCheckManual QC Check  skos:note (prepend "Manual QC Check: ") 
WorkBarcode XMLEncoder_manufacturer or Encoder/ManufacturerEncoder Manufacturer  Combine Encoder Manufacturer, Model, and Serial Number into single property value - only used with TBC info; premis:hasHardwareOtherInformation 
WorkBarcode XMLEncoder_model or Encoder/ModelEncoder Model  --------------------- 
WorkBarcode XMLEncoder_serial_number or Encoder/SerialNumberEncoder Serial Number  --------------------- 
WorkBarcode XMLAdDevices/Manufacturer or AD_manufacturerAD Manufacturer  Combine AD Manufacturer, Model, and Serial Number into single property value - used for audio only; needs better heading without acronym; use premis:hasHardwareName 
WorkBarcode XMLAdDevices/Model or AD_modelAD Model  --------------------- 
WorkBarcode XMLAdDevices/SerialNumber or AD_serial_numberAD Serial Number  --------------------- 
WorkBarcode XMLSpeed_usedSpeed Used  ebucore:playbackSpeed 
WorkBarcode XMLTbcDevices/ManufacturerTBC Manufacturer  Combine TBC Manufacturer, Model, and Serial Number in single property value - used for video only, always accompanied by Encoder info; needs better heading without acronym; use premis:hasHardwareName 
WorkBarcode XMLTbcDevices/ModelTBC Model  --------------------- 
WorkBarcode XMLTbcDevices/SerialNumberTBC Serial Number  --------------------- 
Physical ObjectBarcode XMLThicknessTape Thickness    
Work?totalPartNumberTotal Parts  
RDF::Vocab::EBUCore.partTotalNumber
 
FileSet?partNumberPart  
RDF::Vocab::EBUCore.partNumber
 
Work       
        
        
        
        
        

Data points that might need to be added

  • Thickness (as in tape thickness) from Barcode XML
  • Preamp equipment description from Barcode XML (saw this accompanying AD equipment so audio-only?)
  • Work - ebucore:partTotalNumber (derived from file names in FileSets)
  • FileSet - ebucore:partNumber (derived from file names in FileSets)
  • AD, TBC, Encoder, Extraction, and Preamp info is actually tied to FileSet instead of Work (associated with each <Part> in Barcode XML) - this descriptive info and anything else tied to <Part> in Barcode XML should be moved to FileSet descriptive info and not kept at Work level
  • February 13, 2017 meeting with Brian Wheeler - properties being added for IU side and issues to be considered
    • Work
      • group identifier -> skos:note “Group ID: [number]/[part]”
      • catalog key -> http://id.loc.gov/vocabulary/identifiers/local “[catalog key number]”
        • this can dynamically be turned into a link in the interface to connect either to Z39.50 call or IUCAT record
      • encore:identifier is changing to have a value that is -> MDPI_barcode/date/timestamp (not a PURL)
    • FileSet
      • sending properties on File
      • adding mimetype
    • some things have multiple values and some things only have values when IU sends them and nothing comes from Memnon
    • need way to track what has been ingested into preservation repo
  • No labels