triannon 0.5.5 → 0.5.6
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.
- checksums.yaml +4 -4
- data/README.md +2 -0
- data/app/models/triannon/annotation.rb +6 -6
- data/app/services/triannon/ldp_loader.rb +2 -2
- data/app/services/triannon/ldp_writer.rb +6 -2
- data/lib/triannon/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 54a4a66f7d3970f51d9378924c414dc14ac866fe
|
4
|
+
data.tar.gz: d1454821e3b02177c5f3c81e72c06ddd556c460a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5dade8b77d9d3f4aa003ec5f327d9d8cc6ac6707999392d2f5d8eb7defc434cc5fdf30dede163d74611aa113265c8546cc3d3724c12d055c4a47094ce1633339
|
7
|
+
data.tar.gz: 34f4a938d2ab43fd3a2c410c2fa7d4c9fd922bce5675bcab518f42f84eb81ee8f592e402b92a57ae53311c9fc05aac41a772bbe3f5f17c7935b7e05f4c9a7d7f
|
data/README.md
CHANGED
@@ -87,6 +87,8 @@ Note that OA (Open Annotation) is the default context if none is specified.
|
|
87
87
|
### Create an anno
|
88
88
|
`POST`: `http://(host)/annotations`
|
89
89
|
* the body of the HTTP request should contain the annotation, as jsonld, turtle, or rdfxml
|
90
|
+
* Wrap the annotation in an object, as such:
|
91
|
+
* `{ "commit" => "Create Annotation", "annotation" => { "data" => oa_jsonld } }`
|
90
92
|
* the `Content-Type` header should be the mime type matching the body
|
91
93
|
* the anno to be created should NOT already have an assigned @id
|
92
94
|
* to get a particular format back, use the HTTP `Accept` header
|
@@ -43,9 +43,12 @@ module Triannon
|
|
43
43
|
|
44
44
|
def save
|
45
45
|
_run_save_callbacks do
|
46
|
-
# check if valid?
|
47
|
-
graph
|
46
|
+
# TODO: check if valid anno?
|
48
47
|
@id = Triannon::LdpWriter.create_anno self if graph && graph.size > 2
|
48
|
+
# reload from storage to get the anno id within the graph
|
49
|
+
# TODO: do graph manipulation to add id instead?
|
50
|
+
@graph = Triannon::LdpLoader.load id
|
51
|
+
id
|
49
52
|
end
|
50
53
|
end
|
51
54
|
|
@@ -99,10 +102,7 @@ protected
|
|
99
102
|
|
100
103
|
# Add annotation to Solr as a Solr document
|
101
104
|
def solr_save
|
102
|
-
|
103
|
-
# the graph from Trianon storage
|
104
|
-
graph_from_storage = Triannon::LdpLoader.load id
|
105
|
-
solr_hash = graph_from_storage.solr_hash
|
105
|
+
solr_hash = graph.solr_hash if graph && graph.id_as_url
|
106
106
|
solr_writer.add(solr_hash) if solr_hash && solr_hash.size > 0
|
107
107
|
end
|
108
108
|
|
@@ -92,8 +92,8 @@ module Triannon
|
|
92
92
|
# @return [Array<RDF::Statements>] the RDF statements represented in the ttl
|
93
93
|
def statements_from_ttl_minus_fedora ttl
|
94
94
|
# RDF::Turtle::Reader.new(ttl).statements.to_a
|
95
|
-
g = RDF::Graph.new.from_ttl(ttl)
|
96
|
-
RDF::FCRepo4.remove_fedora_triples(g).statements
|
95
|
+
g = RDF::Graph.new.from_ttl(ttl) if ttl
|
96
|
+
RDF::FCRepo4.remove_fedora_triples(g).statements if g
|
97
97
|
end
|
98
98
|
|
99
99
|
def conn
|
@@ -34,8 +34,10 @@ module Triannon
|
|
34
34
|
# May be a compound id, such as uuid1/t/uuid2, in which case the LDP container object uuid2 and its children
|
35
35
|
# are deleted from the LDP store, but LDP containers uuid1/t and uuid1 are not deleted from the LDP store.
|
36
36
|
def self.delete_container id
|
37
|
-
|
38
|
-
|
37
|
+
if id && id.size > 0
|
38
|
+
ldpw = Triannon::LdpWriter.new nil
|
39
|
+
ldpw.delete_containers id
|
40
|
+
end
|
39
41
|
end
|
40
42
|
|
41
43
|
class << self
|
@@ -101,6 +103,7 @@ module Triannon
|
|
101
103
|
# e.g. [@base_uri/(uuid1)/t/(uuid2), @base_uri/(uuid1)/t/(uuid3)] or [@base_uri/(uuid)] or (uuid)
|
102
104
|
# @return true if a resource was deleted; false otherwise
|
103
105
|
def delete_containers ldp_container_uris
|
106
|
+
return false if !ldp_container_uris || ldp_container_uris.empty?
|
104
107
|
if ldp_container_uris.kind_of? String
|
105
108
|
ldp_container_uris = [ldp_container_uris]
|
106
109
|
end
|
@@ -126,6 +129,7 @@ module Triannon
|
|
126
129
|
# or (anno_id)/b for a body resource (inside the body container of anno_id)
|
127
130
|
# @return [String] uuid representing the unique id of the newly created LDP container
|
128
131
|
def create_resource ttl, parent_path = nil
|
132
|
+
return if !ttl || ttl.empty?
|
129
133
|
resp = conn.post do |req|
|
130
134
|
req.url parent_path if parent_path
|
131
135
|
req.headers['Content-Type'] = 'application/x-turtle'
|
data/lib/triannon/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: triannon
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chris Beer
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2015-03-
|
13
|
+
date: 2015-03-26 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: rails
|