lib/ddr/vocab/roles.rb in ddr-models-1.12.3 vs lib/ddr/vocab/roles.rb in ddr-models-1.13.0

- old
+ new

@@ -1,12 +1,79 @@ module Ddr module Vocab class Roles < RDF::StrictVocabulary("http://repository.lib.duke.edu/vocab/roles/") - term :administrator, label: "Administrator" - term :editor, label: "Editor" - term :contributor, label: "Contributor" - term :downloader, label: "Downloader" + LEGACY_ROLES = [:administrator, :editor, :contributor, :downloader] + + term :Role, + label: "Role", + comment: "A role granted to an agent." + # type: "rdfs:Class" + # subClassOf: "http://www.w3.org/ns/auth/acl#Authorization" + + term :Curator, + label: "Curator", + comment: "The Curator role conveys responsibility for curating a resource and delegating responsibilities to other agents." + # type: "rdfs:Class" + # subClassOf: "http://repository.lib.duke.edu/vocab/roles/Role" + + term :Editor, + label: "Editor", + comment: "The Editor role conveys reponsibility for managing the content, description and structural arrangement of a resource." + # type: "rdfs:Class" + # subClassOf: "http://repository.lib.duke.edu/vocab/roles/Role" + + term :MetadataEditor, + label: "Metadata Editor", + comment: "The Metadata Editor role conveys responsibility for managing the description of a resource." + # type: "rdfs:Class" + # subClassOf: "http://repository.lib.duke.edu/vocab/roles/Role" + + term :Contributor, + label: "Contributor", + comment: "The Contributor role conveys responsibility for adding related resources to a resource, such as works to a collection." + # type: "rdfs:Class" + # subClassOf: "http://repository.lib.duke.edu/vocab/roles/Role" + + term :Downloader, + label: "Downloader", + comment: "The Downloader role conveys access to the original content (\"master\" file) of a resource." + # type: "rdfs:Class" + # subClassOf: "http://repository.lib.duke.edu/vocab/roles/Role" + + term :Viewer, + label: "Viewer", + comment: "The Viewer role conveys access to the description and \"access\" content derivatives of a resource." + # type: "rdfs:Class" + # subClassOf: "http://repository.lib.duke.edu/vocab/roles/Role" + + property :hasRole, + label: "Has Role" + # type: "rdf:Property" + # domain: "rdfs:Class" + # range: "http://repository.lib.duke.edu/vocab/roles/Role" + + property :agent, + label: "Agent", + comment: "The agent to whom the role is granted." + # type: "rdf:Property" + # domain: "http://repository.lib.duke.edu/vocab/roles/Role" + # range: "foaf:Agent" + + property :scope, + label: "Scope", + comment: "The scope within which the role applies." + # type: "rdf:Property" + # domain: "http://repository.lib.duke.edu/vocab/roles/Role" + # range: "http://repository.lib.duke.edu/vocab/scopes/Scope" + + # + # Deprecated terms + # + + LEGACY_ROLES.each do |legacy_role| + term legacy_role, label: legacy_role.to_s.capitalize + end end end end