ansr 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. data/.gitignore +2 -0
  2. data/Gemfile +3 -0
  3. data/Gemfile.lock +127 -0
  4. data/ansr.gemspec +23 -0
  5. data/ansr_dpla/README.md +59 -0
  6. data/ansr_dpla/ansr_dpla.gemspec +27 -0
  7. data/ansr_dpla/app/models/collection.rb +2 -0
  8. data/ansr_dpla/app/models/item.rb +2 -0
  9. data/ansr_dpla/fixtures/collection.json +1 -0
  10. data/ansr_dpla/fixtures/collection.jsonld +14 -0
  11. data/ansr_dpla/fixtures/collections.json +1 -0
  12. data/ansr_dpla/fixtures/collections.jsonld +65 -0
  13. data/ansr_dpla/fixtures/dpla.yml +2 -0
  14. data/ansr_dpla/fixtures/empty.jsonld +1 -0
  15. data/ansr_dpla/fixtures/item.json +1 -0
  16. data/ansr_dpla/fixtures/item.jsonld +272 -0
  17. data/ansr_dpla/fixtures/kittens.json +1 -0
  18. data/ansr_dpla/fixtures/kittens.jsonld +2477 -0
  19. data/ansr_dpla/fixtures/kittens_faceted.json +1 -0
  20. data/ansr_dpla/fixtures/kittens_faceted.jsonld +2693 -0
  21. data/ansr_dpla/lib/ansr_dpla.rb +6 -0
  22. data/ansr_dpla/lib/ansr_dpla/api.rb +78 -0
  23. data/ansr_dpla/lib/ansr_dpla/arel.rb +8 -0
  24. data/ansr_dpla/lib/ansr_dpla/arel/big_table.rb +104 -0
  25. data/ansr_dpla/lib/ansr_dpla/arel/connection.rb +81 -0
  26. data/ansr_dpla/lib/ansr_dpla/arel/query_builder.rb +131 -0
  27. data/ansr_dpla/lib/ansr_dpla/model.rb +7 -0
  28. data/ansr_dpla/lib/ansr_dpla/model/base.rb +17 -0
  29. data/ansr_dpla/lib/ansr_dpla/model/pseudo_associate.rb +14 -0
  30. data/ansr_dpla/lib/ansr_dpla/model/querying.rb +38 -0
  31. data/ansr_dpla/spec/adpla_test_api.rb +9 -0
  32. data/ansr_dpla/spec/lib/api_spec.rb +110 -0
  33. data/ansr_dpla/spec/lib/item_spec.rb +57 -0
  34. data/ansr_dpla/spec/lib/relation/facet_spec.rb +74 -0
  35. data/ansr_dpla/spec/lib/relation/select_spec.rb +52 -0
  36. data/ansr_dpla/spec/lib/relation/where_spec.rb +74 -0
  37. data/ansr_dpla/spec/lib/relation_spec.rb +305 -0
  38. data/ansr_dpla/spec/spec_helper.rb +36 -0
  39. data/ansr_dpla/test/debug.rb +14 -0
  40. data/ansr_dpla/test/system.rb +50 -0
  41. data/lib/ansr.rb +16 -0
  42. data/lib/ansr/.DS_Store +0 -0
  43. data/lib/ansr/arel.rb +5 -0
  44. data/lib/ansr/arel/big_table.rb +24 -0
  45. data/lib/ansr/base.rb +29 -0
  46. data/lib/ansr/configurable.rb +20 -0
  47. data/lib/ansr/model.rb +159 -0
  48. data/lib/ansr/model/connection.rb +103 -0
  49. data/lib/ansr/model/connection_handler.rb +20 -0
  50. data/lib/ansr/relation.rb +121 -0
  51. data/lib/ansr/relation/arel_methods.rb +14 -0
  52. data/lib/ansr/relation/query_methods.rb +156 -0
  53. data/lib/ansr/sanitization.rb +36 -0
  54. data/lib/ansr/version.rb +6 -0
  55. metadata +196 -0
@@ -0,0 +1,2 @@
1
+ config/dpla.yml
2
+ ansr_dpla/config/dpla.yml
data/Gemfile ADDED
@@ -0,0 +1,3 @@
1
+ source "http://rubygems.org"
2
+
3
+ gemspec
@@ -0,0 +1,127 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ ansr (0.0.1)
5
+ blacklight (>= 5.1.0)
6
+ loggable
7
+
8
+ GEM
9
+ remote: http://rubygems.org/
10
+ specs:
11
+ actionmailer (4.0.3)
12
+ actionpack (= 4.0.3)
13
+ mail (~> 2.5.4)
14
+ actionpack (4.0.3)
15
+ activesupport (= 4.0.3)
16
+ builder (~> 3.1.0)
17
+ erubis (~> 2.7.0)
18
+ rack (~> 1.5.2)
19
+ rack-test (~> 0.6.2)
20
+ activemodel (4.0.3)
21
+ activesupport (= 4.0.3)
22
+ builder (~> 3.1.0)
23
+ activerecord (4.0.3)
24
+ activemodel (= 4.0.3)
25
+ activerecord-deprecated_finders (~> 1.0.2)
26
+ activesupport (= 4.0.3)
27
+ arel (~> 4.0.0)
28
+ activerecord-deprecated_finders (1.0.3)
29
+ activesupport (4.0.3)
30
+ i18n (~> 0.6, >= 0.6.4)
31
+ minitest (~> 4.2)
32
+ multi_json (~> 1.3)
33
+ thread_safe (~> 0.1)
34
+ tzinfo (~> 0.3.37)
35
+ arel (4.0.2)
36
+ atomic (1.1.14)
37
+ blacklight (5.1.0)
38
+ bootstrap-sass (~> 3.0)
39
+ deprecation
40
+ kaminari (~> 0.13)
41
+ nokogiri (~> 1.6)
42
+ rails (>= 3.2.6, < 5)
43
+ rsolr (~> 1.0.6)
44
+ sass-rails
45
+ bootstrap-sass (3.1.1.0)
46
+ sass (~> 3.2)
47
+ builder (3.1.4)
48
+ deprecation (0.1.0)
49
+ activesupport
50
+ diff-lcs (1.2.5)
51
+ erubis (2.7.0)
52
+ hike (1.2.3)
53
+ i18n (0.6.9)
54
+ kaminari (0.15.1)
55
+ actionpack (>= 3.0.0)
56
+ activesupport (>= 3.0.0)
57
+ loggable (0.3.0)
58
+ mail (2.5.4)
59
+ mime-types (~> 1.16)
60
+ treetop (~> 1.4.8)
61
+ mime-types (1.25.1)
62
+ mini_portile (0.5.2)
63
+ minitest (4.7.5)
64
+ multi_json (1.8.4)
65
+ nokogiri (1.6.1)
66
+ mini_portile (~> 0.5.0)
67
+ polyglot (0.3.4)
68
+ rack (1.5.2)
69
+ rack-test (0.6.2)
70
+ rack (>= 1.0)
71
+ rails (4.0.3)
72
+ actionmailer (= 4.0.3)
73
+ actionpack (= 4.0.3)
74
+ activerecord (= 4.0.3)
75
+ activesupport (= 4.0.3)
76
+ bundler (>= 1.3.0, < 2.0)
77
+ railties (= 4.0.3)
78
+ sprockets-rails (~> 2.0.0)
79
+ railties (4.0.3)
80
+ actionpack (= 4.0.3)
81
+ activesupport (= 4.0.3)
82
+ rake (>= 0.8.7)
83
+ thor (>= 0.18.1, < 2.0)
84
+ rake (10.1.1)
85
+ rsolr (1.0.9)
86
+ builder (>= 2.1.2)
87
+ rspec (2.14.1)
88
+ rspec-core (~> 2.14.0)
89
+ rspec-expectations (~> 2.14.0)
90
+ rspec-mocks (~> 2.14.0)
91
+ rspec-core (2.14.7)
92
+ rspec-expectations (2.14.5)
93
+ diff-lcs (>= 1.1.3, < 2.0)
94
+ rspec-mocks (2.14.6)
95
+ sass (3.2.14)
96
+ sass-rails (4.0.1)
97
+ railties (>= 4.0.0, < 5.0)
98
+ sass (>= 3.1.10)
99
+ sprockets-rails (~> 2.0.0)
100
+ sprockets (2.11.0)
101
+ hike (~> 1.2)
102
+ multi_json (~> 1.0)
103
+ rack (~> 1.0)
104
+ tilt (~> 1.1, != 1.3.0)
105
+ sprockets-rails (2.0.1)
106
+ actionpack (>= 3.0)
107
+ activesupport (>= 3.0)
108
+ sprockets (~> 2.8)
109
+ thor (0.18.1)
110
+ thread_safe (0.1.3)
111
+ atomic
112
+ tilt (1.4.1)
113
+ treetop (1.4.15)
114
+ polyglot
115
+ polyglot (>= 0.3.1)
116
+ tzinfo (0.3.38)
117
+ yard (0.8.7.3)
118
+
119
+ PLATFORMS
120
+ ruby
121
+
122
+ DEPENDENCIES
123
+ ansr!
124
+ bundler (>= 1.0.14)
125
+ rake
126
+ rspec
127
+ yard
@@ -0,0 +1,23 @@
1
+ require File.join(File.dirname(__FILE__), 'lib/ansr/version')
2
+ Gem::Specification.new do |spec|
3
+ spec.name = 'ansr'
4
+ spec.version = Ansr.version
5
+ spec.platform = Gem::Platform::RUBY
6
+ spec.authors = ["Benjamin Armintor"]
7
+ spec.email = ["armintor@gmail.com"]
8
+ spec.summary = 'ActiveRecord-style relations for no-sql data sources'
9
+ spec.description = 'Wrapping the no-sql data sources in Rails-like models and relations'
10
+ spec.homepage = 'http://github.com/barmintor/ansr'
11
+ spec.files = `git ls-files`.split("\n")
12
+ spec.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
13
+ spec.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
14
+ spec.require_paths = ["lib"]
15
+
16
+ spec.add_dependency 'loggable'
17
+ spec.add_dependency 'blacklight', '>=5.1.0'
18
+
19
+ spec.add_development_dependency("rake")
20
+ spec.add_development_dependency("bundler", ">= 1.0.14")
21
+ spec.add_development_dependency("rspec")
22
+ spec.add_development_dependency("yard")
23
+ end
@@ -0,0 +1,59 @@
1
+ adpla
2
+ =====
3
+
4
+ DPLA + ActiveRecord::Relation + Blacklight
5
+
6
+ This project creates a Rails model that can be used to search the DPLA's public REST API (http://dp.la/info/developers/codex/).
7
+
8
+ To use the Item and Collection models, they must first be configured with a DPLA API key:
9
+
10
+ Item.config({:api_key => 'your api key'})
11
+ Instructions for creating an API key are here: http://dp.la/info/developers/codex/policies/#get-a-key
12
+
13
+ Once the model is configured, it can be queried like any other Rails model.
14
+
15
+ item_id = "7eb617e559007e1ad6d95bd30a30b16b"
16
+ Item.find(item_id)
17
+ Item.dataProvider # returns a single string value
18
+
19
+ The Item and Collection models are searched like other Rails models, with relations. To search a single field, call 'where':
20
+
21
+ rel = Item.where(q: 'kittens') # full text search for 'kittens'
22
+
23
+ Where clauses can be negated:
24
+
25
+ rel = rel.where.not(q: => 'cats') # maximize cuteness density
26
+ Where clauses support simple unions:
27
+
28
+ rel = rel.where.or(q: => 'puppies') # so egalitarian
29
+ These relations are lazy-loaded; they make no queries until data is required:
30
+
31
+ rel.load # loads the data if not loaded
32
+ rel.to_a # loads the data if not loaded, returns an array of model instances
33
+ rel.filters # loads the data if not loaded, returns a list of the filters/facets for the query
34
+ rel.count # returns the number of records loaded
35
+
36
+ This is to support a decorator pattern on the relations:
37
+
38
+ rel = Item.where(q; 'kittens').where.not(q: 'cats')
39
+ rel = rel.limit(25).offset(50) # start on the third page of 25
40
+
41
+ In addition to where, there are a number of other decorator clauses:
42
+
43
+ # select limits the fields returned
44
+ rel = rel.select(:id, :"sourceResource.title")
45
+ # limit sets the maximum number of records to return, default is 10
46
+ rel = rel.limit(25)
47
+ # offset sets a starting point; it must be a multiple of the limit
48
+ rel = rel.offset(50) # start on page 3
49
+ # order adds sort clauses
50
+ rel = rel.order(:"sourceResource.title")
51
+
52
+ When using the filter decorator, you can add field names without a query. This will add the field to the relations filter information after load:
53
+
54
+ # filter adds filter/facet clauses
55
+ rel = rel.filter(:"collection.id" => '460c76299e1b0a46afea352b1ab8f556')
56
+ rel = rel.filter(:isShownAt)
57
+ rel.filters # -> a list of two filters, and the counts for the filter constraint values in the response set
58
+
59
+ And more, as per ActiveRecord and illustrated in the specs.
@@ -0,0 +1,27 @@
1
+ require File.join(File.dirname(__FILE__), '../lib/ansr/version')
2
+ version = Ansr.version
3
+ Gem::Specification.new do |spec|
4
+ spec.name = 'ansr_dpla'
5
+ spec.version = version
6
+ spec.platform = Gem::Platform::RUBY
7
+ spec.authors = ["Benjamin Armintor"]
8
+ spec.email = ["armintor@gmail.com"]
9
+ spec.summary = 'ActiveRecord-style models and relations for DPLA APIs'
10
+ spec.description = 'Wrapping the DPLA APIs in Rails-like models and '
11
+ spec.homepage = 'http://github.com/barmintor/ansr/ansr_dpla'
12
+ spec.files = `git ls-files`.split("\n")
13
+ spec.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
14
+ spec.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
15
+ spec.require_paths = ["lib"]
16
+
17
+ spec.add_dependency 'ansr', version
18
+ spec.add_dependency 'json-ld'
19
+ spec.add_dependency 'rest-client'
20
+ spec.add_dependency 'loggable'
21
+ spec.add_dependency 'blacklight', '>=5.1.0'
22
+ spec.add_dependency 'sass-rails'
23
+ spec.add_development_dependency("rake")
24
+ spec.add_development_dependency("bundler", ">= 1.0.14")
25
+ spec.add_development_dependency("rspec")
26
+ spec.add_development_dependency("yard")
27
+ end
@@ -0,0 +1,2 @@
1
+ class Collection < Ansr::Dpla::Model::Base
2
+ end
@@ -0,0 +1,2 @@
1
+ class Item < Ansr::Dpla::Model::Base
2
+ end
@@ -0,0 +1 @@
1
+ {"docs":[{"_id":"bpl--commonwealth:2j62s484w","title":"Leslie Jones Collection","ingestDate":"2014-02-15T17:00:26.122359","ingestionSequence":5,"ingestType":"collection","@id":"http://dp.la/api/collections/460c76299e1b0a46afea352b1ab8f556","id":"460c76299e1b0a46afea352b1ab8f556"}],"count":1}
@@ -0,0 +1,14 @@
1
+ {
2
+ "docs": [
3
+ {
4
+ "_id": "bpl--commonwealth:2j62s484w",
5
+ "title": "Leslie Jones Collection",
6
+ "ingestDate": "2014-02-15T17:00:26.122359",
7
+ "ingestionSequence": 5,
8
+ "ingestType": "collection",
9
+ "@id": "http://dp.la/api/collections/460c76299e1b0a46afea352b1ab8f556",
10
+ "id": "460c76299e1b0a46afea352b1ab8f556"
11
+ }
12
+ ],
13
+ "count": 1
14
+ }
@@ -0,0 +1 @@
1
+ {"count":5,"start":0,"limit":10,"docs":[{"id":"460c76299e1b0a46afea352b1ab8f556","ingestDate":"2014-02-15T17:00:26.122359","_rev":"372-9d33a508d82b97621b456623321886b3","title":"Leslie Jones Collection","_id":"bpl--commonwealth:2j62s484w","ingestType":"collection","@id":"http://dp.la/api/collections/460c76299e1b0a46afea352b1ab8f556","ingestionSequence":5,"score":6.857883},{"id":"7c7eaa8eee08d3c9b32d55662c0de58b","ingestDate":"2014-02-05T03:09:43.108843","_rev":"137-6262bdd35a8cf3397aefed97d5f2731e","title":"Thomas Jones Davies Bible Records","_id":"scdl-usc--davies","ingestType":"collection","@id":"http://dp.la/api/collections/7c7eaa8eee08d3c9b32d55662c0de58b","ingestionSequence":7,"score":6.177192},{"id":"f807cdcefe2c93f7f71bf99f47899e1f","ingestDate":"2014-01-19T09:04:22.366278","_rev":"3-83d42699bd0836d639d948d921a73d66","title":"Kirby Jones Papers, 1963 - 1974","_id":"nara--1159","ingestType":"collection","@id":"http://dp.la/api/collections/f807cdcefe2c93f7f71bf99f47899e1f","ingestionSequence":5,"score":6.0006475},{"id":"c1ae618e5958fd9c9e869ebbfd47bc34","ingestDate":"2014-01-19T09:04:21.373908","_rev":"3-5f88173336cf37fb8e33ddbfb1c62705","title":"Joseph M. Jones Papers, 1928 - 1987","_id":"nara--604476","ingestType":"collection","@id":"http://dp.la/api/collections/c1ae618e5958fd9c9e869ebbfd47bc34","ingestionSequence":5,"score":5.391162},{"id":"e1e5fee5c47484e307ccdbb717a75e7f","ingestDate":"2014-01-30T12:12:19.274456","_rev":"4-6d0514009fcf0b2cc68a178fdf3209ac","title":"John Paul Jones papers, 1924-1999","_id":"smithsonian--john_paul_jones_papers_1924_1999","ingestType":"collection","@id":"http://dp.la/api/collections/e1e5fee5c47484e307ccdbb717a75e7f","ingestionSequence":8,"score":5.317501}],"facets":[]}
@@ -0,0 +1,65 @@
1
+ {
2
+ "count": 5,
3
+ "start": 0,
4
+ "limit": 10,
5
+ "docs": [
6
+ {
7
+ "id": "460c76299e1b0a46afea352b1ab8f556",
8
+ "ingestDate": "2014-02-15T17:00:26.122359",
9
+ "_rev": "372-9d33a508d82b97621b456623321886b3",
10
+ "title": "Leslie Jones Collection",
11
+ "_id": "bpl--commonwealth:2j62s484w",
12
+ "ingestType": "collection",
13
+ "@id": "http://dp.la/api/collections/460c76299e1b0a46afea352b1ab8f556",
14
+ "ingestionSequence": 5,
15
+ "score": 6.857883
16
+ },
17
+ {
18
+ "id": "7c7eaa8eee08d3c9b32d55662c0de58b",
19
+ "ingestDate": "2014-02-05T03:09:43.108843",
20
+ "_rev": "137-6262bdd35a8cf3397aefed97d5f2731e",
21
+ "title": "Thomas Jones Davies Bible Records",
22
+ "_id": "scdl-usc--davies",
23
+ "ingestType": "collection",
24
+ "@id": "http://dp.la/api/collections/7c7eaa8eee08d3c9b32d55662c0de58b",
25
+ "ingestionSequence": 7,
26
+ "score": 6.177192
27
+ },
28
+ {
29
+ "id": "f807cdcefe2c93f7f71bf99f47899e1f",
30
+ "ingestDate": "2014-01-19T09:04:22.366278",
31
+ "_rev": "3-83d42699bd0836d639d948d921a73d66",
32
+ "title": "Kirby Jones Papers, 1963 - 1974",
33
+ "_id": "nara--1159",
34
+ "ingestType": "collection",
35
+ "@id": "http://dp.la/api/collections/f807cdcefe2c93f7f71bf99f47899e1f",
36
+ "ingestionSequence": 5,
37
+ "score": 6.0006475
38
+ },
39
+ {
40
+ "id": "c1ae618e5958fd9c9e869ebbfd47bc34",
41
+ "ingestDate": "2014-01-19T09:04:21.373908",
42
+ "_rev": "3-5f88173336cf37fb8e33ddbfb1c62705",
43
+ "title": "Joseph M. Jones Papers, 1928 - 1987",
44
+ "_id": "nara--604476",
45
+ "ingestType": "collection",
46
+ "@id": "http://dp.la/api/collections/c1ae618e5958fd9c9e869ebbfd47bc34",
47
+ "ingestionSequence": 5,
48
+ "score": 5.391162
49
+ },
50
+ {
51
+ "id": "e1e5fee5c47484e307ccdbb717a75e7f",
52
+ "ingestDate": "2014-01-30T12:12:19.274456",
53
+ "_rev": "4-6d0514009fcf0b2cc68a178fdf3209ac",
54
+ "title": "John Paul Jones papers, 1924-1999",
55
+ "_id": "smithsonian--john_paul_jones_papers_1924_1999",
56
+ "ingestType": "collection",
57
+ "@id": "http://dp.la/api/collections/e1e5fee5c47484e307ccdbb717a75e7f",
58
+ "ingestionSequence": 8,
59
+ "score": 5.317501
60
+ }
61
+ ],
62
+ "facets": [
63
+
64
+ ]
65
+ }
@@ -0,0 +1,2 @@
1
+ :api_key: "fake_api_key"
2
+ :url: "http://fake.dp.la/v0/"
@@ -0,0 +1 @@
1
+ {"count":0,"start":0,"limit":10,"docs":[],"facets":[]}
@@ -0,0 +1 @@
1
+ {"docs":[{"_id":"bpl--oai:digitalcommonwealth.org:commonwealth:6682xj30d","dataProvider":"Boston Public Library","sourceResource":{"isPartOf":["Leslie Jones Collection","Leslie Jones Collection. Animals: Dogs & Cats"],"description":["Title from information provided by Leslie Jones or the Boston Public Library on the negative or negative sleeve.","Date supplied by cataloger."],"creator":"Jones, Leslie, 1886-1967","rights":"Copyright (c) Leslie Jones. This work is licensed for use under a Creative Commons Attribution Non-Commercial No Derivatives License (CC BY-NC-ND).","collection":[{"@id":"http://dp.la/api/collections/460c76299e1b0a46afea352b1ab8f556","id":"460c76299e1b0a46afea352b1ab8f556","title":"Leslie Jones Collection"}],"date":{"begin":"1917","end":"1934","displayDate":"1917-1934"},"extent":"1 negative : glass, black & white ; 4 x 5 in.","stateLocatedIn":[{"name":"Massachusetts"}],"title":"Kittens","identifier":["Local accession: 08_06_000884"],"type":"image","subject":[{"name":"Cats"},{"name":"Baby animals"}]},"object":"http://ark.digitalcommonwealth.org/ark:/50959/6682xj30d/thumbnail","ingestDate":"2014-02-15T15:10:38.797024","originalRecord":{"header":{"datestamp":"2013-09-20T14:14:36Z","identifier":"oai:digitalcommonwealth.org:commonwealth:6682xj30d","setSpec":"commonwealth:2j62s484w"},"metadata":{"mods:mods":{"mods:subject":[{"mods:topic":"Cats","authority":"lctgm"},{"mods:topic":"Baby animals","authority":"lctgm"}],"mods:genre":[{"displayLabel":"general","authorityURI":"http://id.loc.gov/vocabulary/graphicMaterials","#text":"Photographs","authority":"gmgpc","valueURI":"http://id.loc.gov/vocabulary/graphicMaterials/tgm007721"},{"displayLabel":"specific","authorityURI":"http://id.loc.gov/vocabulary/graphicMaterials","#text":"Glass negatives","authority":"gmgpc","valueURI":"http://id.loc.gov/vocabulary/graphicMaterials/tgm004561"}],"xmlns:mods":"http://www.loc.gov/mods/v3","mods:typeOfResource":"still image","mods:recordInfo":{"mods:languageOfCataloging":{"mods:languageTerm":{"authorityURI":"http://id.loc.gov/vocabulary/iso639-2","#text":"English","type":"text","authority":"iso639-2b","valueURI":"http://id.loc.gov/vocabulary/iso639-2/eng"}},"mods:descriptionStandard":{"#text":"gihc","authority":"marcdescription"},"mods:recordOrigin":"human prepared","mods:recordContentSource":"Boston Public Library"},"mods:titleInfo":{"usage":"primary","mods:title":"Kittens"},"mods:physicalDescription":{"mods:extent":"1 negative : glass, black & white ; 4 x 5 in.","mods:digitalOrigin":"reformatted digital","mods:internetMediaType":["image/tiff","image/jpeg"]},"mods:identifier":[{"#text":"08_06_000884","type":"local-accession"},{"#text":"http://ark.digitalcommonwealth.org/ark:/50959/6682xj30d","type":"uri"}],"version":"3.4","mods:note":["Title from information provided by Leslie Jones or the Boston Public Library on the negative or negative sleeve.","Date supplied by cataloger."],"mods:name":{"mods:namePart":["Jones, Leslie",{"#text":"1886-1967","type":"date"}],"mods:role":{"mods:roleTerm":{"authorityURI":"http://id.loc.gov/vocabulary/relators","#text":"Photographer","type":"text","authority":"marcrelator","valueURI":"http://id.loc.gov/vocabulary/relators/pht"}},"type":"personal","authority":"local"},"mods:location":[{"mods:physicalLocation":"Boston Public Library","mods:holdingSimple":{"mods:copyInformation":{"mods:subLocation":"Print Department"}}},{"mods:url":[{"access":"preview","#text":"http://ark.digitalcommonwealth.org/ark:/50959/6682xj30d/thumbnail"},{"usage":"primary","access":"object in context","#text":"http://ark.digitalcommonwealth.org/ark:/50959/6682xj30d"}]}],"mods:accessCondition":[{"#text":"Copyright (c) Leslie Jones.","type":"use and reproduction"},{"#text":"This work is licensed for use under a Creative Commons Attribution Non-Commercial No Derivatives License (CC BY-NC-ND).","type":"use and reproduction"}],"xmlns:xsi":"http://www.w3.org/2001/XMLSchema-instance","xmlns:xlink":"http://www.w3.org/1999/xlink","xsi:schemaLocation":"http://www.loc.gov/mods/v3 http://www.loc.gov/standards/mods/v3/mods-3-4.xsd","mods:originInfo":{"mods:dateCreated":[{"encoding":"w3cdtf","#text":"1917","qualifier":"approximate","keyDate":"yes","point":"start"},{"encoding":"w3cdtf","#text":"1934","qualifier":"approximate","point":"end"}]},"mods:relatedItem":[{"type":"host","mods:titleInfo":{"mods:title":"Leslie Jones Collection"}},{"type":"series","mods:titleInfo":{"mods:title":"Animals: Dogs & Cats"}}]}},"id":"oai:digitalcommonwealth.org:commonwealth:6682xj30d","collection":[{"@id":"http://dp.la/api/collections/460c76299e1b0a46afea352b1ab8f556","id":"460c76299e1b0a46afea352b1ab8f556","title":"Leslie Jones Collection"}],"provider":{"@id":"http://dp.la/api/contributor/digital-commonwealth","name":"Digital Commonwealth"}},"ingestionSequence":5,"isShownAt":"http://ark.digitalcommonwealth.org/ark:/50959/6682xj30d","provider":{"@id":"http://dp.la/api/contributor/digital-commonwealth","name":"Digital Commonwealth"},"@context":{"begin":{"@id":"dpla:dateRangeStart","@type":"xsd:date"},"@vocab":"http://purl.org/dc/terms/","hasView":"edm:hasView","name":"xsd:string","object":"edm:object","dpla":"http://dp.la/terms/","collection":"dpla:aggregation","edm":"http://www.europeana.eu/schemas/edm/","end":{"@id":"dpla:end","@type":"xsd:date"},"state":"dpla:state","aggregatedDigitalResource":"dpla:aggregatedDigitalResource","coordinates":"dpla:coordinates","isShownAt":"edm:isShownAt","stateLocatedIn":"dpla:stateLocatedIn","sourceResource":"edm:sourceResource","dataProvider":"edm:dataProvider","originalRecord":"dpla:originalRecord","provider":"edm:provider","LCSH":"http://id.loc.gov/authorities/subjects"},"ingestType":"item","@id":"http://dp.la/api/items/9f695d8c16a4978061a25076a43aa11f","id":"9f695d8c16a4978061a25076a43aa11f"}],"count":1}
@@ -0,0 +1,272 @@
1
+ {
2
+ "docs": [
3
+ {
4
+ "_id": "bpl--oai:digitalcommonwealth.org:commonwealth:6682xj30d",
5
+ "dataProvider": "Boston Public Library",
6
+ "sourceResource": {
7
+ "isPartOf": [
8
+ "Leslie Jones Collection",
9
+ "Leslie Jones Collection. Animals: Dogs & Cats"
10
+ ],
11
+ "description": [
12
+ "Title from information provided by Leslie Jones or the Boston Public Library on the negative or negative sleeve.",
13
+ "Date supplied by cataloger."
14
+ ],
15
+ "creator": "Jones, Leslie, 1886-1967",
16
+ "rights": "Copyright (c) Leslie Jones. This work is licensed for use under a Creative Commons Attribution Non-Commercial No Derivatives License (CC BY-NC-ND).",
17
+ "collection": [
18
+ {
19
+ "@id": "http://dp.la/api/collections/460c76299e1b0a46afea352b1ab8f556",
20
+ "id": "460c76299e1b0a46afea352b1ab8f556",
21
+ "title": "Leslie Jones Collection"
22
+ }
23
+ ],
24
+ "date": {
25
+ "begin": "1917",
26
+ "end": "1934",
27
+ "displayDate": "1917-1934"
28
+ },
29
+ "extent": "1 negative : glass, black & white ; 4 x 5 in.",
30
+ "stateLocatedIn": [
31
+ {
32
+ "name": "Massachusetts"
33
+ }
34
+ ],
35
+ "title": "Kittens",
36
+ "identifier": [
37
+ "Local accession: 08_06_000884"
38
+ ],
39
+ "type": "image",
40
+ "subject": [
41
+ {
42
+ "name": "Cats"
43
+ },
44
+ {
45
+ "name": "Baby animals"
46
+ }
47
+ ]
48
+ },
49
+ "object": "http://ark.digitalcommonwealth.org/ark:/50959/6682xj30d/thumbnail",
50
+ "ingestDate": "2014-02-15T15:10:38.797024",
51
+ "originalRecord": {
52
+ "header": {
53
+ "datestamp": "2013-09-20T14:14:36Z",
54
+ "identifier": "oai:digitalcommonwealth.org:commonwealth:6682xj30d",
55
+ "setSpec": "commonwealth:2j62s484w"
56
+ },
57
+ "metadata": {
58
+ "mods:mods": {
59
+ "mods:subject": [
60
+ {
61
+ "mods:topic": "Cats",
62
+ "authority": "lctgm"
63
+ },
64
+ {
65
+ "mods:topic": "Baby animals",
66
+ "authority": "lctgm"
67
+ }
68
+ ],
69
+ "mods:genre": [
70
+ {
71
+ "displayLabel": "general",
72
+ "authorityURI": "http://id.loc.gov/vocabulary/graphicMaterials",
73
+ "#text": "Photographs",
74
+ "authority": "gmgpc",
75
+ "valueURI": "http://id.loc.gov/vocabulary/graphicMaterials/tgm007721"
76
+ },
77
+ {
78
+ "displayLabel": "specific",
79
+ "authorityURI": "http://id.loc.gov/vocabulary/graphicMaterials",
80
+ "#text": "Glass negatives",
81
+ "authority": "gmgpc",
82
+ "valueURI": "http://id.loc.gov/vocabulary/graphicMaterials/tgm004561"
83
+ }
84
+ ],
85
+ "xmlns:mods": "http://www.loc.gov/mods/v3",
86
+ "mods:typeOfResource": "still image",
87
+ "mods:recordInfo": {
88
+ "mods:languageOfCataloging": {
89
+ "mods:languageTerm": {
90
+ "authorityURI": "http://id.loc.gov/vocabulary/iso639-2",
91
+ "#text": "English",
92
+ "type": "text",
93
+ "authority": "iso639-2b",
94
+ "valueURI": "http://id.loc.gov/vocabulary/iso639-2/eng"
95
+ }
96
+ },
97
+ "mods:descriptionStandard": {
98
+ "#text": "gihc",
99
+ "authority": "marcdescription"
100
+ },
101
+ "mods:recordOrigin": "human prepared",
102
+ "mods:recordContentSource": "Boston Public Library"
103
+ },
104
+ "mods:titleInfo": {
105
+ "usage": "primary",
106
+ "mods:title": "Kittens"
107
+ },
108
+ "mods:physicalDescription": {
109
+ "mods:extent": "1 negative : glass, black & white ; 4 x 5 in.",
110
+ "mods:digitalOrigin": "reformatted digital",
111
+ "mods:internetMediaType": [
112
+ "image/tiff",
113
+ "image/jpeg"
114
+ ]
115
+ },
116
+ "mods:identifier": [
117
+ {
118
+ "#text": "08_06_000884",
119
+ "type": "local-accession"
120
+ },
121
+ {
122
+ "#text": "http://ark.digitalcommonwealth.org/ark:/50959/6682xj30d",
123
+ "type": "uri"
124
+ }
125
+ ],
126
+ "version": "3.4",
127
+ "mods:note": [
128
+ "Title from information provided by Leslie Jones or the Boston Public Library on the negative or negative sleeve.",
129
+ "Date supplied by cataloger."
130
+ ],
131
+ "mods:name": {
132
+ "mods:namePart": [
133
+ "Jones, Leslie",
134
+ {
135
+ "#text": "1886-1967",
136
+ "type": "date"
137
+ }
138
+ ],
139
+ "mods:role": {
140
+ "mods:roleTerm": {
141
+ "authorityURI": "http://id.loc.gov/vocabulary/relators",
142
+ "#text": "Photographer",
143
+ "type": "text",
144
+ "authority": "marcrelator",
145
+ "valueURI": "http://id.loc.gov/vocabulary/relators/pht"
146
+ }
147
+ },
148
+ "type": "personal",
149
+ "authority": "local"
150
+ },
151
+ "mods:location": [
152
+ {
153
+ "mods:physicalLocation": "Boston Public Library",
154
+ "mods:holdingSimple": {
155
+ "mods:copyInformation": {
156
+ "mods:subLocation": "Print Department"
157
+ }
158
+ }
159
+ },
160
+ {
161
+ "mods:url": [
162
+ {
163
+ "access": "preview",
164
+ "#text": "http://ark.digitalcommonwealth.org/ark:/50959/6682xj30d/thumbnail"
165
+ },
166
+ {
167
+ "usage": "primary",
168
+ "access": "object in context",
169
+ "#text": "http://ark.digitalcommonwealth.org/ark:/50959/6682xj30d"
170
+ }
171
+ ]
172
+ }
173
+ ],
174
+ "mods:accessCondition": [
175
+ {
176
+ "#text": "Copyright (c) Leslie Jones.",
177
+ "type": "use and reproduction"
178
+ },
179
+ {
180
+ "#text": "This work is licensed for use under a Creative Commons Attribution Non-Commercial No Derivatives License (CC BY-NC-ND).",
181
+ "type": "use and reproduction"
182
+ }
183
+ ],
184
+ "xmlns:xsi": "http://www.w3.org/2001/XMLSchema-instance",
185
+ "xmlns:xlink": "http://www.w3.org/1999/xlink",
186
+ "xsi:schemaLocation": "http://www.loc.gov/mods/v3 http://www.loc.gov/standards/mods/v3/mods-3-4.xsd",
187
+ "mods:originInfo": {
188
+ "mods:dateCreated": [
189
+ {
190
+ "encoding": "w3cdtf",
191
+ "#text": "1917",
192
+ "qualifier": "approximate",
193
+ "keyDate": "yes",
194
+ "point": "start"
195
+ },
196
+ {
197
+ "encoding": "w3cdtf",
198
+ "#text": "1934",
199
+ "qualifier": "approximate",
200
+ "point": "end"
201
+ }
202
+ ]
203
+ },
204
+ "mods:relatedItem": [
205
+ {
206
+ "type": "host",
207
+ "mods:titleInfo": {
208
+ "mods:title": "Leslie Jones Collection"
209
+ }
210
+ },
211
+ {
212
+ "type": "series",
213
+ "mods:titleInfo": {
214
+ "mods:title": "Animals: Dogs & Cats"
215
+ }
216
+ }
217
+ ]
218
+ }
219
+ },
220
+ "id": "oai:digitalcommonwealth.org:commonwealth:6682xj30d",
221
+ "collection": [
222
+ {
223
+ "@id": "http://dp.la/api/collections/460c76299e1b0a46afea352b1ab8f556",
224
+ "id": "460c76299e1b0a46afea352b1ab8f556",
225
+ "title": "Leslie Jones Collection"
226
+ }
227
+ ],
228
+ "provider": {
229
+ "@id": "http://dp.la/api/contributor/digital-commonwealth",
230
+ "name": "Digital Commonwealth"
231
+ }
232
+ },
233
+ "ingestionSequence": 5,
234
+ "isShownAt": "http://ark.digitalcommonwealth.org/ark:/50959/6682xj30d",
235
+ "provider": {
236
+ "@id": "http://dp.la/api/contributor/digital-commonwealth",
237
+ "name": "Digital Commonwealth"
238
+ },
239
+ "@context": {
240
+ "begin": {
241
+ "@id": "dpla:dateRangeStart",
242
+ "@type": "xsd:date"
243
+ },
244
+ "@vocab": "http://purl.org/dc/terms/",
245
+ "hasView": "edm:hasView",
246
+ "name": "xsd:string",
247
+ "object": "edm:object",
248
+ "dpla": "http://dp.la/terms/",
249
+ "collection": "dpla:aggregation",
250
+ "edm": "http://www.europeana.eu/schemas/edm/",
251
+ "end": {
252
+ "@id": "dpla:end",
253
+ "@type": "xsd:date"
254
+ },
255
+ "state": "dpla:state",
256
+ "aggregatedDigitalResource": "dpla:aggregatedDigitalResource",
257
+ "coordinates": "dpla:coordinates",
258
+ "isShownAt": "edm:isShownAt",
259
+ "stateLocatedIn": "dpla:stateLocatedIn",
260
+ "sourceResource": "edm:sourceResource",
261
+ "dataProvider": "edm:dataProvider",
262
+ "originalRecord": "dpla:originalRecord",
263
+ "provider": "edm:provider",
264
+ "LCSH": "http://id.loc.gov/authorities/subjects"
265
+ },
266
+ "ingestType": "item",
267
+ "@id": "http://dp.la/api/items/9f695d8c16a4978061a25076a43aa11f",
268
+ "id": "9f695d8c16a4978061a25076a43aa11f"
269
+ }
270
+ ],
271
+ "count": 1
272
+ }