NationalMuseumAustralia / Collection-API

The public web API of the National Museum of Australia
10 stars 0 forks source link

Add copyright restriction reason field #46

Closed staplegun closed 5 years ago

staplegun commented 6 years ago

From EMU AcsCCRestrictionReason field. Like rights, this should only be included when there is media attached - see #27.

staplegun commented 6 years ago

Initial idea: Add it to the P104_is_subject_to statement, similar to the role a party makes in production, except P104 is only allowed to point to an E30_Right, and we don't really want to pollute the rights with reasons.

So thinking of using P17_was_motivated_by ( http://www.cidoc-crm.org/node/3961 ) which must be attached to an E7_Activity, e.g.:


<rdf:Description rdf:about="object/123456#">
    <crm:P104_is_subject_to>
        <crm:E30_Right rdf:about="http://rightsstatements.org/vocab/InC/1.0/">
            <rdf:value>All Rights Reserved</rdf:value>
        </crm:E30_Right>
    </crm:P104_is_subject_to>
    <crm:P12i_was_present_at>
        <crm:E7_Activity>
            <rdfs:label>Restriction reason</rdfs:label>
            <crm:P17_was_motivated_by>
                <rdf:Description>
                    <rdfs:label>Culturally Sensitive</rdfs:label>
                    <!-- AAT 300404457: purpose (information indicator) -->
                    <crm:P2_has_type rdf:resource="{$aat-ns}300404457" />
                </rdf:Description>
            </crm:P17_was_motivated_by>
<!--
            <crm:P12_occurred_in_the_presence_of rdf:resource="object/123456#" />
-->
        </crm:E5_Event>
    </crm:P12i_was_present_at>
</rdf:Description>```
staplegun commented 6 years ago

Revision (Conal): I think I'd want to model the restriction reason as a note attached to the instance of E30_Right (or as a component of it). That would mean (given that the AcsCCRestrictionReason could vary independently of the AcsCCStatus) that each object would have its own instance of E30_Right, which would in turn have to be attached to the CC licence itself.

I would say that the base licence (the CC licence or "All Rights Reserved" statement) would be a component (the main component, obviously) of that object-specific right, and that the restriction reason, and anything else, could similarly be components, or could be notes.

<rdf:Description rdf:about="object/123456#">
    <crm:P104_is_subject_to>
        <crm:E30_Right rdf:about="object/123456#rights">
            <crm:P148_has_component>
                <crm:E30_Right rdf:about="http://rightsstatements.org/vocab/InC/1.0/">
                    <rdf:value>All Rights Reserved</rdf:value>
                </crm:E30_Right>
            </crm:P148_has_component>
            <crm:P129i_is_subject_of>
                <crm:E33_Linguistic_Object rdf:about="object/123456#restrictionReason">
                    <rdf:value>Culturally Sensitive</rdf:value>
                    <!-- AAT 300404457: purpose (information indicator) -->
                    <crm:P2_has_type rdf:resource="{$aat-ns}300404457" />
                </crm:E33_Linguistic_Object>
            </crm:P129i_is_subject_of>
        </crm:E30_Right>
    </crm:P104_is_subject_to>
</rdf:Description>
staplegun commented 6 years ago

The restriction reason has been implemented using crm:P104_is_subject_to/crm:P129i_is_subject_of/rdf:value.

The label (value) is searchable in the same rights field, e.g. https://csapi-test.nma.gov.au/object?rights=sensitive

f27wood commented 6 years ago

Yes I can see where the rights reason is displaying, moving to done.