Skip to content

Instantly share code, notes, and snippets.

@cmharlow
Last active April 12, 2017 12:35
Show Gist options
  • Save cmharlow/9a51e69c55fe573d5b61af4e54923ad5 to your computer and use it in GitHub Desktop.
Save cmharlow/9a51e69c55fe573d5b61af4e54923ad5 to your computer and use it in GitHub Desktop.
Comparing using proxies, iana to order articles/pages with using hw:Range to order articles/pages?
  1. Would Article resources be of class hw:Range, using pcdm:hasMember to point to a list of component parts?
  2. Okay for that rdf:List of component parts to be the Page resources (pcdm:Object), NOT the Filesets (per the hydraworks definition for Range)?
  3. What does this gain us that not using option 1 (just more proxies, iana for ordering) doesn't?
  4. Would Article (Range) resources still be (pcdm) members of the Issue resource? Pages make sense in this regard.
  5. What does Range gain us? Fewer proxies? Closer alignment with IIIF?
  6. Can our (CUL)'s current Hydra setup for working with F4 (Curation Concerns, not Hyrax, not Sufia) work with these Range resources - aka, how do they appear in the editor? In the interface? In search and discovery?
@base <http://hydraedit-dev.library.cornell.edu:8080/fedora/rest/dev/ch/la/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix pcdm: <http://pcdm.org/models#> .
@prefix dct: <http://purl.org/dc/terms/> .
@prefix hw: <http://pcdm.org/works#> .
@prefix iana: <http://www.iana.org/assignments/relation/> .
:journal1 a pcdm:Object ;
dct:title "Agricultural History" ;
dct:type dcmitype:Text ;
dct:format <http://vocab.getty.edu/aat/300215390> ;
pcdm:hasMember :issue1, :issue2, ... :issue19 ;
iana:first :proxyIssue1 ;
iana:last :proxyIssue19 .
:issue1 a pcdm:Object ;
dct:title "Agricultural History: Issue on Farming" ;
dct:publisher <http://id.loc.gov/rwo/agents/n79119036> ;
dct:issue "1945-01"^^dcterms:W3CDTF ;
bibo:volume "19"^^xsd:integer ;
bibo:issue "1"^^xsd:integer ;
dct:type dcmitype:Text ;
dct:format <http://vocab.getty.edu/aat/300048715> ;
pcdm:hasMember :article1, :article2, :page1, :page2, ... :page50 ;
iana:first :proxyPage1 ;
iana:last :proxyPage50 .
:article1 a pcdm:Object ;
dct:title "Factors Influencing the Distribution of the German Pioneer Population in Minnesota" ;
dct:creator :ag2 ;
dct:type dcmitype:Text ;
dct:format <http://vocab.getty.edu/aat/300048715> ;
pcdm:hasMember :page1, :page2 ;
iana:first :proxyPageArt1 ;
iana:last:proxyPageArt2 .
:page1 a pcdm:Object ;
dct:title "Page 1" ;
bibo:locator "1"^^xsd:integer ;
pcdm:hasFileSet :fs1 .
:fs1 a pcdm:Fileset ;
dct:publisher :ag1 ;
dct:description "Digitization funded by Cornell University Class of 1956."@en ;
pcdm:hasFile :file1, :file2.
:file1 a pcdm:File , pcdmfft:RasterImage ;
ebucore:filename "1234.jpg" ;
ebucore:fileSize "9087656" .
:file2 a pcdm:File , pcdmfft:Text ;
ebucore:filename "1234.txt" ;
ebucore:fileSize "8909087656" .
:proxyPage1 a ore:Proxy ;
ore:proxyFor :page1 ;
ore:proxyIn :issue1 ;
iana:next :proxyPage2 .
# ... (on through :proxyPage50)
:proxyPageArt1 a ore:Proxy ;
ore:proxyFor :page1 ;
ore:proxyIn :article1 ;
:proxyPageArt2 a ore:Proxy ;
ore:proxyFor :page2 ;
ore:proxyIn :article1 ;
iana:prev :proxyPageArt1 .
# proxies for issue ordering in a Journal resource skipped as follows above pattern
:ag1 a foaf:Organization ;
foaf:name "Cornell University. Library. Digital Consulting and Production Services"@en .
:ag1 a foaf:Person ;
foaf:name "Johnson, Hildergard Binder" .
@base <http://hydraedit-dev.library.cornell.edu:8080/fedora/rest/dev/ch/la/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix pcdm: <http://pcdm.org/models#> .
@prefix dct: <http://purl.org/dc/terms/> .
@prefix hw: <http://pcdm.org/works#> .
@prefix iana: <http://www.iana.org/assignments/relation/> .
:journal1 a pcdm:Object ;
dct:title "Agricultural History" ;
dct:type dcmitype:Text ;
dct:format <http://vocab.getty.edu/aat/300215390> ;
pcdm:hasMember :issue1, :issue2, ... :issue19 ;
iana:first :proxyIssue1 ;
iana:last :proxyIssue19 .
:issue1 a pcdm:Object ;
dct:title "Agricultural History: Issue on Farming" ;
dct:publisher <http://id.loc.gov/rwo/agents/n79119036> ;
dct:issue "1945-01"^^dcterms:W3CDTF ;
bibo:volume "19"^^xsd:integer ;
bibo:issue "1"^^xsd:integer ;
dct:type dcmitype:Text ;
dct:format <http://vocab.getty.edu/aat/300048715> ;
pcdm:hasMember :article1, :article2, :page1, :page2, ... :page50 ;
iana:first :proxyPage1 ;
iana:last :proxyPage50 .
:article1 a hw:Range ;
dct:title "Factors Influencing the Distribution of the German Pioneer Population in Minnesota" ;
dct:creator :ag2 ;
dct:type dcmitype:Text ;
dct:format <http://vocab.getty.edu/aat/300048715> ;
:article2 a hw:Range ;
dct:title "Other Farming News in Ithaca" ;
dct:type dcmitype:Text ;
dct:format <http://vocab.getty.edu/aat/300048715> ;
pcdm:hasMember [ :page2, :page3 ].
:page1 a pcdm:Object ;
dct:title "Page 1" ;
bibo:locator "1"^^xsd:integer ;
pcdm:hasFileSet :fs1 .
:fs1 a pcdm:Fileset ;
dct:publisher :ag1 ;
dct:description "Digitization funded by Cornell University Class of 1956."@en ;
pcdm:hasFile :file1, :file2.
:file1 a pcdm:File , pcdmfft:RasterImage ;
ebucore:filename "1234.jpg" ;
ebucore:fileSize "9087656" .
:file2 a pcdm:File , pcdmfft:Text ;
ebucore:filename "1234.txt" ;
ebucore:fileSize "8909087656" .
:proxyPage1 a ore:Proxy ;
ore:proxyFor :page1 ;
ore:proxyIn :issue1 ;
iana:next :proxyPage2 .
# ... (on through :proxyPage50)
:ag1 a foaf:Organization ;
foaf:name "Cornell University. Library. Digital Consulting and Production Services"@en .
:ag1 a foaf:Person ;
foaf:name "Johnson, Hildergard Binder" .
@kestlund
Copy link

kestlund commented Feb 9, 2017

Some initial thoughts:

  1. Would Article resources be of class hw:Range, using pcdm:hasMember to point to a list of component parts?
    This would be my inclination.
  2. Okay for that rdf:List of component parts to be the Page resources (pcdm:Object), NOT the Filesets (per the hydraworks definition for Range)?
    I'd defer to @escowles on this, but I would think it would be fine for the component parts to be the page resources. You may want to check with Princeton if you are looking for consistency with what they've done.
  3. What does this gain us that not using option 1 (just more proxies, iana for ordering) doesn't?
    Is it quicker to respond to requests? I have no idea on this one.
  4. Would Article (Range) resources still be (pcdm) members of the Issue resource? Pages make sense in this regard.
    Yes, typically issues belong to an issue but are on a page.
  5. What does Range gain us? Fewer proxies? Closer alignment with IIIF?
    Closer alignment with IIIF, but more so its very helpful when articles span pages and multiple articles per page scenarios.
  6. Can our (CUL)'s current Hydra setup for working with F4 (Curation Concerns, not Hyrax, not Sufia) work with these Range resources - aka, how do they appear in the editor? In the interface? In search and discovery?
    I think Princeton has done this, so you may want to check with them. In the newspaper realm there is a significant difference between implementations because some people have articles just as the text and others as completely separate digital files. The interface needs to be a bit different in these two scenarios.

@cmharlow
Copy link
Author

Thanks @kestlund for your comments! Sorry I'm just seeing. Basically, we mostly went with option 1, but for other internal management reasons.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment