OD2 icon indicating copy to clipboard operation
OD2 copied to clipboard

change predicate URI for OD2 field license

Open briesenberg07 opened this issue 7 months ago • 2 comments

Descriptive summary

OD field w/ ID :license has predicate URI configuration in OD2/.../generic_metadata.rb predicate: RDF::Vocab::CC.License, RDF exports have corresponding predicate URI cc:License. cc:License is an instance of rdfs:Class and is not suitable for use as a predicate in RDF triples, this configuration should be changed. A Solr query indicates :license field is used in 190,955 works in OD.

Expected behavior

A suitable predicate* URI is configured for OD2 field :license and substituted in place of cc:License in existing OD2 metadata. Configured predicate is reflected accurately in OD2 MAP documentation such as public MAP spreadsheet.

*Metadeities needs to select a predicate, some further discussion below

Related work

none known

Accessibility Concerns

None known

briesenberg07 avatar May 23 '25 04:05 briesenberg07

summary

  • current predicate URI: http://creativecommons.org/ns#License
  • what's the problem with this predicate URI? It is an instance of rdfs:Class. This means that it isn't suitable for use as the predicate in an RDF triple. We want something that is, at minimum, an instance of rdf:Property (or owl:ObjectProperty, owl:DatatypeProperty, etc.) -- something that can be used as a predicate in an RDF subject-predicate-object triple
  • what would be good to use instead? I propose that we use http://purl.org/dc/terms/license (dcterms:license). I propose this because:
    • it is an instance of rdf:Property (has rdf:type rdf:Property)
    • it has dcterms:description "Recommended practice is to identify the license document with a URI. If this is not possible or feasible, a literal value that identifies the license may be provided." which seems to align with use of the OD2 field :license
    • it has no rdfs:domain. this is good because there is no requirement that OD2 resources have any particular rdf:type value themselves
  • example metadata snippet showing proposed alternative in use
# OD2 RDF export
@prefix fedrep: <http://fedora.info/definitions/v4/repository#> .
@prefix pcdm: <http://pcdm.org/models#> .
@prefix ldp: <http://www.w3.org/ns/ldp#> .
@prefix dcterms: <http://purl.org/dc/terms/> .

<http://od2/df735x09c> a fedrep:Container, # subject uri shortened for readability
   fedrep:Resource,
   pcdm:Object,
   <http://projecthydra.org/works/models#Work>,
   ldp:Container,
   ldp:RDFSource ;
   dct:license <http://creativecommons.org/publicdomain/mark/1.0/> 
   # usage ^^^ here. no domain conflicts. no range conflicts. usage meets definition.
   # more triples would be here
   .

details, other properties considered, etc.

OD2_MAP > MAP_complete has predicate URI dct:rights as the property configured for field, but I'm not sure that's actually the best choice. DC terms distinguishes between this term, for "information about rights held in and over the resource," and dct:license, for "a legal document giving official permission to do something with the resource."

dct:rights

  • dcam:rangeIncludes dcterms:RightsStatement - I think dcam:rangeIncludes is more permissive than rdfs:range so not necessarily a conflict
  • dcterms:description "Typically, rights information includes a statement about various property rights associated with the resource, including intellectual property rights (...)" -- this sounds more like field :rights_statement, where we use predicate URI edm:rights and values from rightsstatements.org, etc. ❓

dct:license

  • dcam:rangeIncludes dcterms:LicenseDocument - not necessarily a conflict
  • dcterms:description "Recommended practice is to identify the license document with a URI. If this is not possible or feasible, a literal value that identifies the license may be provided." -- this sounds more like what we use the field for, where values are CC license URIs 👍🏻

The Creative Commons vocabulary includes a predicate, cc:license (capitalization matters for some portions of URI strings).

cc:license

  • rdfs:subProperty of dct:license
  • rdfs:domain is cc:Work, which minimally defined and probably could be asserted for OD2/Hyrax works but which we do not type them as at present 👎🏻
  • rdfs:range for this property is cc:License (the class which we have configured as a predicate), 👍🏻 if our CV for the field :license consists exclusively of options from Creative Commons (which I think may be the case?)

briesenberg07 avatar May 23 '25 05:05 briesenberg07

Metadeities will revisit after Valkyrization.

KevinJonesMeta avatar Sep 23 '25 20:09 KevinJonesMeta