Using MARC relators for refine dcterms:contributor

I want use DC terms CONTRIBUTOR property for save diferent “agents” with specific or qualified role. For example, “printmaker”, “owner”, “translator”, etc…

I want preserve DC compatibility (for OAI-PMH and others…).

I can see that exists a vocabulary at Library of Congress for this purpose:

I download and import in vocabularies (with other dependent vocabularies), but only new property “role” appears.

Searching arround the web, I can see these “relators” as properties (if I am underestanding…):

But I don’t find specific vocabularies for import.

Finally, I had installed module that include “MARC Relators” from “Library of Congress” vocabulary.

At template, “Contributor” property data type is configured with type “Value Suggest: LC:MARC Relators”. Then, at item property sheet, at “Contributor” input, I can search among relators and select one.

Value setted is, for example, “Printmaker” (as label) and “” (as URI), but no aditional value could be writted.

I can change label “Printmaker” with another value, with same URI ( “”).

For example

At OAI appears “right”, without reference to relator role, but DC compatible:

<dc:contributor>Impresor 1</dc:contributor>
<dc:contributor>Impresor 2</dc:contributor>
<dc:contributor>Actor 1 Surname 1</dc:contributor>

At search interface, all is OK too.

But at item sheet in public web, Contributor property with controlled vocabulary to “LOC Relators” render with correct Label value, but linking to URI.


Some modules, like Reference works “fine” (generate link to search with LABEL as value), but “Metadata Browse” don’t work (generate link to search with URI as value).

Is this way of use correct? Exists another way for use MARC Relators for specialize DC contributor property?

Thanks in advance,

Also, I’m not sure that LD JSON generated is right from a semantic point of view:

Our RDF parser doesn’t recognize the “MARC Code List for Relators Scheme” bulk download as a vocabulary with properties and classes. While properties are marked as having an rdf:type of owl#ObjectProperty, it is done in an unconventional format. Short of reformatting the download in a more conventional format and importing that, there’s no way to make it work the way you want it to.

Thank you for your answer Jim. At parser (omeka-s/application/src/Stdlib/RdfImporter.php), I can see in getMembers method, lines 136 and 143 that type of resource readed from RDF is checked against a limited set (in arrays classTypes and propertyTypes). Currently only check main type (in_array($resource->type(), $this->propertyTypes), line 143). Main type depends on order in rdf, but all other types can be getted with $resource->types(). With changes in RdfImporter showed at attached image, Marc Code List Relators vocabulary properties can be imported in omeka s.

I’m going to open issue at github with this improve.