Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • repository-extension-services repository-extension-services
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 5
    • Issues 5
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • Deployments
    • Deployments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Repository
    • Value stream
  • Wiki
    • Wiki
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • acdc
  • repository-extension-servicesrepository-extension-services
  • Issues
  • #17

Closed
Open
Created Aug 17, 2016 by acoburn@acoburnGuest

Figure out if we're using PCDM

The direction of PCDM 2.0 seems to introduce unnecessary complexity. We should consider simply using the ORE vocabulary. If we do that, we would use the ore:aggregates property along with structural typing. A full structure might look like this:

# Top-level resource map

</resources/1> a ore:ResourceMap ;
  skos:prefLabel "smth"@en ;
  dcterms:description "lots of descriptive metadata here" ;
  dcterms:isPartOf </collections/someCollection> ;
  ore:describes </resources/resource1/aggregation> .
 
# Aggregation 
 
</resources/1/aggregation> a ore:Aggregation ;
  ldp:contains </resources/1/aggregation/members> ;
  iana:first </resources/1/aggregation/members/page1> ;
  iana:last </resources/1/aggregation/members/page3> ;
  ore:aggregates </resources/1/aggregation/members/page1> , </resources/1/aggregation/members/page2> , </resources/1/aggregation/members/page3> .

# Pages LDP container

</resources/1/aggregation/members> a ldp:DirectContainer ;
  ldp:membershipResource </resources/1/aggregation> ;
  ldp:hasMemberRelation ore:aggregates ;
  ldp:contains </resources/1/aggregation/members/page1> , </resources/1/aggregation/members/page2> , </resources/1/aggregation/members/page3> .

# Individual Pages

</resources/1/aggregation/members/page1> a ore:Aggregation ;
  iana:next </resources/1/aggregation/members/page2> ;
  ore:aggregates </resources/1/aggregation/members/page1/members/file1> , </resources/1/aggregation/members/page1/members/file2> ;
  ldp:contains </resources/1/aggregation/members/page1/members> , </resources/1/aggregation/members/page1/related> .
  
</resources/1/aggregation/members/page2> a ore:Aggregation ;
  iana:prev </resources/1/aggregation/members/page1> ;
  iana:next </resources/1/aggregation/members/page3> ;
  ore:aggregates </resources/1/aggregation/members/page2/members/file1> , </resources/1/aggregation/members/page2/members/file2> ;
  ldp:contains </resources/1/aggregation/members/page2/members> , </resources/1/aggregation/members/page2/related> .

</resources/1/aggregation/members/page3> a ore:Aggregation ;
  iana:prev </resources/1/aggregation/members/page2> ;
  ore:aggregates </resources/1/aggregation/members/page3/members/file1> , </resources/1/aggregation/members/page3/members/file2> ;
  ldp:contains </resources/1/aggregation/members/page3/members> , </resources/1/aggregation/members/page3/related> .

# Files would follow a structure similar to the above structure (FITS metadata goes into a ./related container and uses iana:describedby)....
</resources/1/aggregation/members/page1/members/file1> a fedora:Binary ;
  iana:describedby </resources/1/aggregation/members/page1/related/metadata1> .
  
</resources/1/aggregation/members/page1/members/file2> a fedora:Binary ;
  iana:describedby </resources/1/aggregation/members/page1/related/metadata2> .
Assignee
Assign to
Time tracking