dpla-map 4.0.0.0.pre.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +1 -0
- data/Gemfile +3 -0
- data/README.md +14 -0
- data/Rakefile +17 -0
- data/dpla-map.gemspec +29 -0
- data/lib/dpla/map/agent.rb +8 -0
- data/lib/dpla/map/aggregation.rb +19 -0
- data/lib/dpla/map/collection.rb +8 -0
- data/lib/dpla/map/concept.rb +12 -0
- data/lib/dpla/map/controlled/dcmitype.rb +10 -0
- data/lib/dpla/map/controlled/genre.rb +11 -0
- data/lib/dpla/map/controlled/language.rb +13 -0
- data/lib/dpla/map/controlled.rb +5 -0
- data/lib/dpla/map/factories.rb +82 -0
- data/lib/dpla/map/place.rb +16 -0
- data/lib/dpla/map/rights_statement.rb +5 -0
- data/lib/dpla/map/source_resource.rb +39 -0
- data/lib/dpla/map/time_span.rb +10 -0
- data/lib/dpla/map/version.rb +6 -0
- data/lib/dpla/map/web_resource.rb +9 -0
- data/lib/dpla/map.rb +34 -0
- data/lib/dpla.rb +2 -0
- data/lib/rdf/aat.rb +8 -0
- data/lib/rdf/dcmitype.rb +138 -0
- data/lib/rdf/dpla.rb +4 -0
- data/lib/rdf/edm.rb +5 -0
- data/lib/rdf/geonames.rb +8 -0
- data/lib/rdf/gn.rb +5033 -0
- data/lib/rdf/iso_639_3.rb +8 -0
- data/lib/rdf/lcsh.rb +8 -0
- data/lib/rdf/ore.rb +4 -0
- data/spec/fixtures/kittens.json +1 -0
- data/spec/lib/dpla_spec.rb +12 -0
- data/spec/spec_helper.rb +20 -0
- metadata +181 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 8ebd5e84c95f802530ade9eb09ee8a8790d6e053
|
4
|
+
data.tar.gz: 8a431e821e1e7dc0e81172cfef1d5b613a05989f
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 93111c3fd951e3dd37449412590975f6dd887bd814466ca86777b89a9a3054da550cb11225a3d670717dde2b4ab6338a39a3a4eb3f95c8b5b3b619f3684baa22
|
7
|
+
data.tar.gz: 88b91dacc8b6629fde2387bf21c9e198322c1c48cab3a2f61a75bdb62b1d4c35a53741ea769d21725154bb0b88d2ee5f52a7a23d6be6898394ac919fba129b89
|
data/.gitignore
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
Gemfile.lock
|
data/Gemfile
ADDED
data/README.md
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
DPLA Metadata Application Profile
|
2
|
+
==================================
|
3
|
+
|
4
|
+
An implementation of the [DPLA metadata application profile](http://dp.la/info/developers/map/) (MAP) as ActiveTriples models.
|
5
|
+
|
6
|
+
Versioning
|
7
|
+
-----------
|
8
|
+
|
9
|
+
This software is versioned according to a modified [SemVer](semver.org). Major versions correspond directly to versions of the DPLA MAP, so versions are given in MAP-MAJOR.MAP-MINOR.MINOR.PATCH (e.g. ```3.1.0.0```).
|
10
|
+
|
11
|
+
To specify a version of the MAP in a Gemfile, use (for example): ```~>3.1.0```
|
12
|
+
|
13
|
+
|
14
|
+
|
data/Rakefile
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
#!/usr/bin/env rake
|
2
|
+
|
3
|
+
require 'dpla'
|
4
|
+
|
5
|
+
desc "Generate Vocabularies"
|
6
|
+
|
7
|
+
task :gen_vocabs do
|
8
|
+
LinkedVocabs.vocabularies.each_key do |name|
|
9
|
+
puts "Generating vocabulary at lib/rdf/#{name}.rb"
|
10
|
+
begin
|
11
|
+
LinkedVocabs.load_vocabulary(name)
|
12
|
+
rescue
|
13
|
+
puts "Failed to load #{name}: #{$!.message}"
|
14
|
+
puts $!.backtrace
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
data/dpla-map.gemspec
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
$:.push File.expand_path("../lib", __FILE__)
|
2
|
+
require 'dpla/map/version'
|
3
|
+
|
4
|
+
Gem::Specification.new do |s|
|
5
|
+
s.name = "dpla-map"
|
6
|
+
s.version = DPLA::MAP::VERSION
|
7
|
+
s.platform = Gem::Platform::RUBY
|
8
|
+
s.authors = ["Tom Johnson"]
|
9
|
+
s.homepage = 'https://github.com/dpla/dpla_map'
|
10
|
+
s.email = 'tom@dp.la'
|
11
|
+
s.summary = %q{DPLA's metadata application profile in ActiveTriples.}
|
12
|
+
s.description = %q{DPLA's metadata application profile in ActiveTriples.}
|
13
|
+
s.required_ruby_version = '>= 1.9.3'
|
14
|
+
|
15
|
+
s.files = `git ls-files`.split("\n")
|
16
|
+
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
17
|
+
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
18
|
+
|
19
|
+
s.require_paths = ['lib', 'lib/dpla', 'lib/dpla/map', 'lib/rdf']
|
20
|
+
|
21
|
+
s.add_dependency 'active-triples', '~>0.3'
|
22
|
+
s.add_dependency 'linked_vocabs', '~>0.1'
|
23
|
+
|
24
|
+
s.add_development_dependency 'rspec'
|
25
|
+
s.add_development_dependency 'pry'
|
26
|
+
s.add_development_dependency 'pry-doc'
|
27
|
+
s.add_development_dependency 'pry-debugger'
|
28
|
+
s.add_development_dependency 'factory_girl', '~>4.0'
|
29
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module DPLA::MAP
|
2
|
+
class Aggregation < ActiveTriples::Resource
|
3
|
+
configure :type => RDF::ORE.Aggregation
|
4
|
+
|
5
|
+
validates_presence_of :aggregatedSourceResource, :originalRecord, :isShownAt, :object, :provider
|
6
|
+
|
7
|
+
property :aggregatedSourceResource, :predicate => RDF::EDM.aggregatedCHO, :class_name => 'DPLA::MAP::SourceResource'
|
8
|
+
property :dataProvider, :predicate => RDF::EDM.dataProvider
|
9
|
+
property :originalRecord, :predicate => RDF::DPLA.originalRecord
|
10
|
+
property :hasView, :predicate => RDF::EDM.hasView, :class_name => 'DPLA::MAP::WebResource'
|
11
|
+
property :intermediateProvider, :predicate => RDF::DPLA.intermediateProvider
|
12
|
+
property :isShownAt, :predicate => RDF::EDM.isShownAt, :class_name => 'DPLA::MAP::WebResource'
|
13
|
+
property :object, :predicate => RDF::EDM.object, :class_name => 'DPLA::MAP::WebResource'
|
14
|
+
property :preview, :predicate => RDF::EDM.preview, :class_name => 'DPLA::MAP::WebResource'
|
15
|
+
property :provider, :predicate => RDF::EDM.provider, :class_name => 'DPLA::MAP::Agent'
|
16
|
+
property :rightsStatement, :predicate => RDF::EDM.rights, :class_name => 'DPLA::MAP::RightsStatement'
|
17
|
+
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,8 @@
|
|
1
|
+
module DPLA::MAP
|
2
|
+
class Collection < ActiveTriples::Resource
|
3
|
+
configure :base_uri => 'http://dp.la/api/collections/', :type => RDF::DCMITYPE.Collection
|
4
|
+
|
5
|
+
property :title, :predicate => RDF::DC11.title # any real reason not to use dcterms here? RDF::DC.title
|
6
|
+
property :description, :predicate => RDF::DC11.description # any reason not to use dcterms here? RDF::DC.description
|
7
|
+
end
|
8
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
module DPLA::MAP
|
2
|
+
class Concept < ActiveTriples::Resource
|
3
|
+
configure :type => RDF::SKOS.Concept
|
4
|
+
|
5
|
+
property :prefLabel, :predicate => RDF::SKOS.prefLabel
|
6
|
+
property :note, :predicate => RDF::SKOS.note
|
7
|
+
property :scheme, :predicate => RDF::SKOS.inScheme
|
8
|
+
|
9
|
+
alias_method :concept, :prefLabel
|
10
|
+
alias_method :concept=, :prefLabel=
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
module DPLA::MAP
|
2
|
+
module Controlled
|
3
|
+
class Genre < DPLA::MAP::Concept
|
4
|
+
include LinkedVocabs::Controlled
|
5
|
+
|
6
|
+
configure :base_uri => 'http://vocab.getty.edu/aat/', :type => 'http://vocab.getty.edu/ontology#Concept'
|
7
|
+
|
8
|
+
use_vocabulary :aat
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
module DPLA::MAP
|
2
|
+
module Controlled
|
3
|
+
class Language < ActiveTriples::Resource
|
4
|
+
include LinkedVocabs::Controlled
|
5
|
+
|
6
|
+
configure :base_uri => "http://lexvo.org/id/iso639-3/", :rdf_label => RDF::URI('http://www.w3.org/2008/05/skos#prefLabel')
|
7
|
+
|
8
|
+
use_vocabulary :iso_639_3
|
9
|
+
|
10
|
+
property :prefLabel, :predicate => RDF::SKOS.prefLabel
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,82 @@
|
|
1
|
+
require 'dpla/map'
|
2
|
+
|
3
|
+
FactoryGirl.define do
|
4
|
+
|
5
|
+
factory :source_resource, class: DPLA::MAP::SourceResource do
|
6
|
+
collection { |collection| collection.association :collection, :strategy => :build }
|
7
|
+
contributor 'Norma Ford'
|
8
|
+
title 'Stonewall Inn [2]'
|
9
|
+
creator 'Davies, Diana (1938-)'
|
10
|
+
subject ['Lesbians', 'Gay activists']
|
11
|
+
description 'Window of the Stonewall Bar N.Y. 1969. The other half of the graffiti was erased by the time Diana photographed it.'
|
12
|
+
extent '10x12 cm'
|
13
|
+
format 'Silver Gelatin Print'
|
14
|
+
identifier '510d47e3-57d2-a3d9-e040-e00a18064a99'
|
15
|
+
language { |language| language.association :language, :strategy => :build }
|
16
|
+
place { |place| place.association :place, :strategy => :build }
|
17
|
+
publisher 'Penguin Books'
|
18
|
+
relation ['Stonewall Inn [1]', 'Stonewall Inn [3]']
|
19
|
+
rights "The New York Public Library is interested in learning more about items you've seen on our websites or elsewhere online. If you have any more information about an item or its copyright status, we want to hear from you. Please contact DigitalCollections@nypl.org with your contact information and a link to the relevant content."
|
20
|
+
genre { |genre| genre.association :genre, :strategy => :build }
|
21
|
+
temporalCoverage '1969'
|
22
|
+
dctype { |type| type.association :dctype, :strategy => :build }
|
23
|
+
end
|
24
|
+
|
25
|
+
factory :aggregation, class: DPLA::MAP::Aggregation do
|
26
|
+
aggregatedSourceResource { |sr| sr.association :source_resource, :strategy => :build }
|
27
|
+
dataProvider 'Manuscripts and Archives Division. The New York Public Library'
|
28
|
+
originalRecord '<record><title>Stonewall Inn [2]</title></record>'
|
29
|
+
hasView { |wr| wr.association :web_resource, :strategy => :build }
|
30
|
+
intermediateProvider 'NYPL'
|
31
|
+
isShownAt 'http://digitalcollections.nypl.org/items/510d47e3-57d2-a3d9-e040-e00a18064a99'
|
32
|
+
object 'http://dp.la/item/116d5aaf3d77a5d7c5a6c7a3e10c5afe'
|
33
|
+
provider {
|
34
|
+
prov = ActiveTriples::Resource.new('http://dp.la/api/contributor/nypl')
|
35
|
+
prov << RDF::Statement(prov, RDF::SKOS.prefLabel, "The New York Public Library")
|
36
|
+
prov
|
37
|
+
}
|
38
|
+
rightsStatement { ActiveTriples::Resource.new('http://creativecommons.org/publicdomain/mark/1.0/') }
|
39
|
+
end
|
40
|
+
|
41
|
+
factory :web_resource, class: DPLA::MAP::WebResource do
|
42
|
+
format 'image/tiff'
|
43
|
+
rights 'Public Domain'
|
44
|
+
rightsStatement { ActiveTriples::Resource.new('http://creativecommons.org/publicdomain/mark/1.0/') }
|
45
|
+
end
|
46
|
+
|
47
|
+
factory :place, class: DPLA::MAP::Place do
|
48
|
+
name 'New York, NY'
|
49
|
+
# city 'New York'
|
50
|
+
# county 'New York County'
|
51
|
+
# coordinates '40.7127, 74.0059'
|
52
|
+
end
|
53
|
+
|
54
|
+
factory :collection, class: DPLA::MAP::Collection do
|
55
|
+
title 'Diana Davies photographs, 1965-1978'
|
56
|
+
description 'Photographs of Diana Davies; LGBT and HIV/AIDS Activist Collections'
|
57
|
+
end
|
58
|
+
|
59
|
+
factory :language, class: DPLA::MAP::Controlled::Language do
|
60
|
+
initialize_with do
|
61
|
+
new('eng')
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
factory :dctype, class: DPLA::MAP::Controlled::DCMIType do
|
66
|
+
initialize_with do
|
67
|
+
new('Image')
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
71
|
+
factory :genre, class: DPLA::MAP::Controlled::Genre do
|
72
|
+
initialize_with do
|
73
|
+
new('300132472')
|
74
|
+
end
|
75
|
+
end
|
76
|
+
end
|
77
|
+
|
78
|
+
RSpec.configure do |config|
|
79
|
+
config.before(:suite) do
|
80
|
+
FactoryGirl.lint
|
81
|
+
end
|
82
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
module DPLA::MAP
|
2
|
+
class Place < ActiveTriples::Resource
|
3
|
+
configure :type => RDF::EDM.Place
|
4
|
+
|
5
|
+
validates_presence_of :name # validates_cardinality_of ... :count => 1?
|
6
|
+
|
7
|
+
property :name, :predicate => RDF::SKOS.prefLabel
|
8
|
+
property :latitude, :predicate => RDF::GEO.lat
|
9
|
+
property :longitude, :predicate => RDF::GEO.long
|
10
|
+
property :altitude, :predicate => RDF::GEO.alt
|
11
|
+
property :parentFeature, :predicate => RDF::GN.parentFeature
|
12
|
+
property :parentCountry, :predicate => RDF::GN.countryCode
|
13
|
+
property :sameAs, :predicate => RDF::OWL.sameAs
|
14
|
+
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
module DPLA::MAP
|
2
|
+
class SourceResource < ActiveTriples::Resource
|
3
|
+
configure :base_uri => 'http://dp.la/api/items/', :type => RDF::DPLA.SourceResource
|
4
|
+
|
5
|
+
validates_presence_of :rights, :title
|
6
|
+
validates_vocabulary_of :dctype, :genre, :language
|
7
|
+
|
8
|
+
property :alternateTitle, :predicate => RDF::DC.alternative
|
9
|
+
property :collection, :predicate => RDF::DC.isPartOf, :class_name => 'DPLA::MAP::Collection'
|
10
|
+
property :contributor, :predicate => RDF::DC11.contributor, :class_name => 'DPLA::MAP::Agent' # literal and/or URI
|
11
|
+
property :creator, :predicate => RDF::DC11.creator, :class_name => 'DPLA::MAP::Agent' # literal and/or URI
|
12
|
+
property :date, :predicate => RDF::DC11.date, :class_name => 'DPLA::MAP::TimeSpan'
|
13
|
+
property :description, :predicate => RDF::DC11.description # any reason not to use dcterms here? RDF::DC.description
|
14
|
+
property :extent, :predicate => RDF::DC.extent
|
15
|
+
property :format, :predicate => RDF::DC11.format # literal and/or URI
|
16
|
+
property :identifier, :predicate => RDF::DC11.identifier # literal and/or URI
|
17
|
+
property :language, :predicate => RDF::DC.language, :class_name => 'DPLA::MAP::Controlled::Language'
|
18
|
+
property :place, :predicate => RDF::DC.spatial, :class_name => 'DPLA::MAP::Place' # literal and/or URI
|
19
|
+
property :publisher, :predicate => RDF::DC11.publisher # literal and/or URI
|
20
|
+
property :relation, :predicate => RDF::DC11.relation # literal and/or URI
|
21
|
+
property :replacedBy, :predicate => RDF::DC.isReplacedBy # literal and/or URI
|
22
|
+
property :replaces, :predicate => RDF::DC.replaces # literal and/or URI
|
23
|
+
property :rights, :predicate => RDF::DC11.rights
|
24
|
+
property :genre, :predicate => RDF::EDM.hasType, :class_name => 'DPLA::MAP::Controlled::Genre'
|
25
|
+
property :subject, :predicate => RDF::DC.subject, :class_name => 'DPLA::MAP::Concept'
|
26
|
+
property :temporalCoverage, :predicate => RDF::DC.temporal # literal and/or URI
|
27
|
+
property :title, :predicate => RDF::DC11.title # any reason not to use dcterms here? RDF::DC.title
|
28
|
+
property :dctype, :predicate => RDF::DC11.type, :class_name => 'DPLA::MAP::Controlled::DCMIType'
|
29
|
+
|
30
|
+
# formal rights statements
|
31
|
+
# property :rights, :predicate => RDF::DC.rights, :class_name => 'DPLA::RightsStatement'
|
32
|
+
|
33
|
+
# languages w/ better handling of the controlled vocab?
|
34
|
+
# property :languageControlled, :predicate => RDF::DC.language, :class_name => 'DPLA::Controlled::Language'
|
35
|
+
|
36
|
+
# controlled vocab on type
|
37
|
+
# property :dcmitype, :predicate => RDF::DC.type, :class_name => 'DPLA::Controlled::DCMIType'
|
38
|
+
end
|
39
|
+
end
|
@@ -0,0 +1,10 @@
|
|
1
|
+
module DPLA::MAP
|
2
|
+
class TimeSpan < ActiveTriples::Resource
|
3
|
+
configure :type => RDF::EDM.TimeSpan
|
4
|
+
|
5
|
+
validates_presence_of :originalSourceDate # validates_cardinality_of ... :count => 1?
|
6
|
+
|
7
|
+
property :begin, :predicate => RDF::EDM.begin
|
8
|
+
property :end, :predicate => RDF::EDM.end
|
9
|
+
end
|
10
|
+
end
|
@@ -0,0 +1,9 @@
|
|
1
|
+
module DPLA::MAP
|
2
|
+
class WebResource < ActiveTriples::Resource
|
3
|
+
configure :type => RDF::EDM.WebResource
|
4
|
+
|
5
|
+
property :format, :predicate => RDF::DC11.format
|
6
|
+
property :rights, :predicate => RDF::DC11.rights
|
7
|
+
property :rightsStatement, :predicate => RDF::EDM.rights, :class_name => 'DPLA::MAP::RightsStatement'
|
8
|
+
end
|
9
|
+
end
|
data/lib/dpla/map.rb
ADDED
@@ -0,0 +1,34 @@
|
|
1
|
+
require 'active_triples'
|
2
|
+
require 'linked_vocabs'
|
3
|
+
|
4
|
+
require 'rdf/dpla'
|
5
|
+
|
6
|
+
require 'rdf/aat'
|
7
|
+
require 'rdf/dcmitype'
|
8
|
+
require 'rdf/edm'
|
9
|
+
require 'rdf/geonames'
|
10
|
+
require 'rdf/gn'
|
11
|
+
require 'rdf/iso_639_3'
|
12
|
+
require 'rdf/ore'
|
13
|
+
|
14
|
+
module DPLA
|
15
|
+
module MAP
|
16
|
+
LinkedVocabs.add_vocabulary(:aat, 'http://vocab.getty.edu/aat/')
|
17
|
+
LinkedVocabs.add_vocabulary(:iso_639_3, 'http://lexvo.org/id/iso639-3/')
|
18
|
+
LinkedVocabs.add_vocabulary(:gn, 'http://www.geonames.org/ontology#', :source => 'http://www.geonames.org/ontology/ontology_v3.1.rdf', :fetch => true)
|
19
|
+
|
20
|
+
|
21
|
+
autoload :SourceResource, 'dpla/map/source_resource'
|
22
|
+
autoload :Collection, 'dpla/map/collection'
|
23
|
+
autoload :Place, 'dpla/map/place'
|
24
|
+
autoload :TimeSpan, 'dpla/map/time_span'
|
25
|
+
autoload :Aggregation, 'dpla/map/aggregation'
|
26
|
+
autoload :WebResource, 'dpla/map/web_resource'
|
27
|
+
autoload :Agent, 'dpla/map/agent'
|
28
|
+
autoload :Concept, 'dpla/map/concept'
|
29
|
+
autoload :RightsStatement, 'dpla/map/rights_statement'
|
30
|
+
|
31
|
+
autoload :Controlled, 'dpla/map/controlled'
|
32
|
+
|
33
|
+
end
|
34
|
+
end
|
data/lib/dpla.rb
ADDED
data/lib/rdf/aat.rb
ADDED
data/lib/rdf/dcmitype.rb
ADDED
@@ -0,0 +1,138 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
# This file generated automatically using vocab-fetch from http://dublincore.org/2012/06/14/dctype.rdf
|
3
|
+
require 'rdf'
|
4
|
+
module RDF
|
5
|
+
class DCMITYPE < RDF::StrictVocabulary("http://purl.org/dc/dcmitype/")
|
6
|
+
|
7
|
+
# Class definitions
|
8
|
+
term :Collection,
|
9
|
+
comment: %(An aggregation of resources.).freeze,
|
10
|
+
"dc:description" => %(A collection is described as a group; its parts may also be separately described.).freeze,
|
11
|
+
"dc:hasVersion" => %(http://dublincore.org/usage/terms/history/#Collection-003).freeze,
|
12
|
+
"dc:issued" => %(2000-07-11).freeze,
|
13
|
+
"dc:modified" => %(2008-01-14).freeze,
|
14
|
+
"http://purl.org/dc/dcam/memberOf" => %(dc:DCMIType).freeze,
|
15
|
+
label: "Collection".freeze,
|
16
|
+
"rdfs:isDefinedBy" => %(dcmitype:).freeze,
|
17
|
+
type: "rdfs:Class".freeze
|
18
|
+
term :Dataset,
|
19
|
+
comment: %(Data encoded in a defined structure.).freeze,
|
20
|
+
"dc:description" => %(Examples include lists, tables, and databases. A dataset may be useful for direct machine processing.).freeze,
|
21
|
+
"dc:hasVersion" => %(http://dublincore.org/usage/terms/history/#Dataset-003).freeze,
|
22
|
+
"dc:issued" => %(2000-07-11).freeze,
|
23
|
+
"dc:modified" => %(2008-01-14).freeze,
|
24
|
+
"http://purl.org/dc/dcam/memberOf" => %(dc:DCMIType).freeze,
|
25
|
+
label: "Dataset".freeze,
|
26
|
+
"rdfs:isDefinedBy" => %(dcmitype:).freeze,
|
27
|
+
type: "rdfs:Class".freeze
|
28
|
+
term :Event,
|
29
|
+
comment: %(A non-persistent, time-based occurrence.).freeze,
|
30
|
+
"dc:description" => %(Metadata for an event provides descriptive information that is the basis for discovery of the purpose, location, duration, and responsible agents associated with an event. Examples include an exhibition, webcast, conference, workshop, open day, performance, battle, trial, wedding, tea party, conflagration.).freeze,
|
31
|
+
"dc:hasVersion" => %(http://dublincore.org/usage/terms/history/#Event-003).freeze,
|
32
|
+
"dc:issued" => %(2000-07-11).freeze,
|
33
|
+
"dc:modified" => %(2008-01-14).freeze,
|
34
|
+
"http://purl.org/dc/dcam/memberOf" => %(dc:DCMIType).freeze,
|
35
|
+
label: "Event".freeze,
|
36
|
+
"rdfs:isDefinedBy" => %(dcmitype:).freeze,
|
37
|
+
type: "rdfs:Class".freeze
|
38
|
+
term :Image,
|
39
|
+
comment: %(A visual representation other than text.).freeze,
|
40
|
+
"dc:description" => %(Examples include images and photographs of physical objects, paintings, prints, drawings, other images and graphics, animations and moving pictures, film, diagrams, maps, musical notation. Note that Image may include both electronic and physical representations.).freeze,
|
41
|
+
"dc:hasVersion" => %(http://dublincore.org/usage/terms/history/#Image-004).freeze,
|
42
|
+
"dc:issued" => %(2000-07-11).freeze,
|
43
|
+
"dc:modified" => %(2008-01-14).freeze,
|
44
|
+
"http://purl.org/dc/dcam/memberOf" => %(dc:DCMIType).freeze,
|
45
|
+
label: "Image".freeze,
|
46
|
+
"rdfs:isDefinedBy" => %(dcmitype:).freeze,
|
47
|
+
type: "rdfs:Class".freeze
|
48
|
+
term :InteractiveResource,
|
49
|
+
comment: %(A resource requiring interaction from the user to be understood, executed, or experienced.).freeze,
|
50
|
+
"dc:description" => %(Examples include forms on Web pages, applets, multimedia learning objects, chat services, or virtual reality environments.).freeze,
|
51
|
+
"dc:hasVersion" => %(http://dublincore.org/usage/terms/history/#InteractiveResource-003).freeze,
|
52
|
+
"dc:issued" => %(2000-07-11).freeze,
|
53
|
+
"dc:modified" => %(2008-01-14).freeze,
|
54
|
+
"http://purl.org/dc/dcam/memberOf" => %(dc:DCMIType).freeze,
|
55
|
+
label: "Interactive Resource".freeze,
|
56
|
+
"rdfs:isDefinedBy" => %(dcmitype:).freeze,
|
57
|
+
type: "rdfs:Class".freeze
|
58
|
+
term :MovingImage,
|
59
|
+
comment: %(A series of visual representations imparting an impression of motion when shown in succession.).freeze,
|
60
|
+
"dc:description" => %(Examples include animations, movies, television programs, videos, zoetropes, or visual output from a simulation. Instances of the type Moving Image must also be describable as instances of the broader type Image.).freeze,
|
61
|
+
"dc:hasVersion" => %(http://dublincore.org/usage/terms/history/#MovingImage-003).freeze,
|
62
|
+
"dc:issued" => %(2003-11-18).freeze,
|
63
|
+
"dc:modified" => %(2008-01-14).freeze,
|
64
|
+
"http://purl.org/dc/dcam/memberOf" => %(dc:DCMIType).freeze,
|
65
|
+
label: "Moving Image".freeze,
|
66
|
+
"rdfs:isDefinedBy" => %(dcmitype:).freeze,
|
67
|
+
subClassOf: "dcmitype:Image".freeze,
|
68
|
+
type: "rdfs:Class".freeze
|
69
|
+
term :PhysicalObject,
|
70
|
+
comment: %(An inanimate, three-dimensional object or substance.).freeze,
|
71
|
+
"dc:description" => %(Note that digital representations of, or surrogates for, these objects should use Image, Text or one of the other types.).freeze,
|
72
|
+
"dc:hasVersion" => %(http://dublincore.org/usage/terms/history/#PhysicalObject-003).freeze,
|
73
|
+
"dc:issued" => %(2002-07-13).freeze,
|
74
|
+
"dc:modified" => %(2008-01-14).freeze,
|
75
|
+
"http://purl.org/dc/dcam/memberOf" => %(dc:DCMIType).freeze,
|
76
|
+
label: "Physical Object".freeze,
|
77
|
+
"rdfs:isDefinedBy" => %(dcmitype:).freeze,
|
78
|
+
type: "rdfs:Class".freeze
|
79
|
+
term :Service,
|
80
|
+
comment: %(A system that provides one or more functions.).freeze,
|
81
|
+
"dc:description" => %(Examples include a photocopying service, a banking service, an authentication service, interlibrary loans, a Z39.50 or Web server.).freeze,
|
82
|
+
"dc:hasVersion" => %(http://dublincore.org/usage/terms/history/#Service-003).freeze,
|
83
|
+
"dc:issued" => %(2000-07-11).freeze,
|
84
|
+
"dc:modified" => %(2008-01-14).freeze,
|
85
|
+
"http://purl.org/dc/dcam/memberOf" => %(dc:DCMIType).freeze,
|
86
|
+
label: "Service".freeze,
|
87
|
+
"rdfs:isDefinedBy" => %(dcmitype:).freeze,
|
88
|
+
type: "rdfs:Class".freeze
|
89
|
+
term :Software,
|
90
|
+
comment: %(A computer program in source or compiled form.).freeze,
|
91
|
+
"dc:description" => %(Examples include a C source file, MS-Windows .exe executable, or Perl script.).freeze,
|
92
|
+
"dc:hasVersion" => %(http://dublincore.org/usage/terms/history/#Software-003).freeze,
|
93
|
+
"dc:issued" => %(2000-07-11).freeze,
|
94
|
+
"dc:modified" => %(2008-01-14).freeze,
|
95
|
+
"http://purl.org/dc/dcam/memberOf" => %(dc:DCMIType).freeze,
|
96
|
+
label: "Software".freeze,
|
97
|
+
"rdfs:isDefinedBy" => %(dcmitype:).freeze,
|
98
|
+
type: "rdfs:Class".freeze
|
99
|
+
term :Sound,
|
100
|
+
comment: %(A resource primarily intended to be heard.).freeze,
|
101
|
+
"dc:description" => %(Examples include a music playback file format, an audio compact disc, and recorded speech or sounds.).freeze,
|
102
|
+
"dc:hasVersion" => %(http://dublincore.org/usage/terms/history/#Sound-003).freeze,
|
103
|
+
"dc:issued" => %(2000-07-11).freeze,
|
104
|
+
"dc:modified" => %(2008-01-14).freeze,
|
105
|
+
"http://purl.org/dc/dcam/memberOf" => %(dc:DCMIType).freeze,
|
106
|
+
label: "Sound".freeze,
|
107
|
+
"rdfs:isDefinedBy" => %(dcmitype:).freeze,
|
108
|
+
type: "rdfs:Class".freeze
|
109
|
+
term :StillImage,
|
110
|
+
comment: %(A static visual representation.).freeze,
|
111
|
+
"dc:description" => %(Examples include paintings, drawings, graphic designs, plans and maps. Recommended best practice is to assign the type Text to images of textual materials. Instances of the type Still Image must also be describable as instances of the broader type Image.).freeze,
|
112
|
+
"dc:hasVersion" => %(http://dublincore.org/usage/terms/history/#StillImage-003).freeze,
|
113
|
+
"dc:issued" => %(2003-11-18).freeze,
|
114
|
+
"dc:modified" => %(2008-01-14).freeze,
|
115
|
+
"http://purl.org/dc/dcam/memberOf" => %(dc:DCMIType).freeze,
|
116
|
+
label: "Still Image".freeze,
|
117
|
+
"rdfs:isDefinedBy" => %(dcmitype:).freeze,
|
118
|
+
subClassOf: "dcmitype:Image".freeze,
|
119
|
+
type: "rdfs:Class".freeze
|
120
|
+
term :Text,
|
121
|
+
comment: %(A resource consisting primarily of words for reading.).freeze,
|
122
|
+
"dc:description" => %(Examples include books, letters, dissertations, poems, newspapers, articles, archives of mailing lists. Note that facsimiles or images of texts are still of the genre Text.).freeze,
|
123
|
+
"dc:hasVersion" => %(http://dublincore.org/usage/terms/history/#Text-003).freeze,
|
124
|
+
"dc:issued" => %(2000-07-11).freeze,
|
125
|
+
"dc:modified" => %(2008-01-14).freeze,
|
126
|
+
"http://purl.org/dc/dcam/memberOf" => %(dc:DCMIType).freeze,
|
127
|
+
label: "Text".freeze,
|
128
|
+
"rdfs:isDefinedBy" => %(dcmitype:).freeze,
|
129
|
+
type: "rdfs:Class".freeze
|
130
|
+
|
131
|
+
# Extra definitions
|
132
|
+
term :"",
|
133
|
+
"dc:modified" => %(2012-06-14).freeze,
|
134
|
+
"dc:publisher" => %(http://purl.org/dc/aboutdcmi#DCMI).freeze,
|
135
|
+
"dc:title" => %(DCMI Type Vocabulary).freeze,
|
136
|
+
label: "".freeze
|
137
|
+
end
|
138
|
+
end
|
data/lib/rdf/dpla.rb
ADDED
data/lib/rdf/edm.rb
ADDED
data/lib/rdf/geonames.rb
ADDED