Commit e0088463c98ff0751b5ea2a15a9f5eae1c5912ef
1 parent
6698b64c
Exists in
theme-brasil-digital-from-staging
and in
9 other branches
virtuoso: small fixes
Showing
4 changed files
with
18 additions
and
11 deletions
Show diff stats
plugins/virtuoso/lib/virtuoso_plugin.rb
1 | 1 | class VirtuosoPlugin < Noosfero::Plugin |
2 | 2 | |
3 | - @virtuosoServers | |
4 | - | |
5 | 3 | def self.plugin_name |
6 | 4 | "Virtuoso integration" |
7 | 5 | end |
... | ... | @@ -30,6 +28,12 @@ class VirtuosoPlugin < Noosfero::Plugin |
30 | 28 | true |
31 | 29 | end |
32 | 30 | |
31 | + def self.ontology_mapping_default_setting | |
32 | + VirtuosoPlugin::DublinCoreMetadata::FIELDS.map do |field| | |
33 | + {:source => "dc:#{field}", :target => "http://purl.org/dc/elements/1.1/#{field}"} | |
34 | + end | |
35 | + end | |
36 | + | |
33 | 37 | protected |
34 | 38 | |
35 | 39 | def virtuoso_client_builder(uri, username, password) | ... | ... |
plugins/virtuoso/lib/virtuoso_plugin/dspace_harvest.rb
... | ... | @@ -24,10 +24,10 @@ class VirtuosoPlugin::DspaceHarvest |
24 | 24 | metadata = VirtuosoPlugin::DublinCoreMetadata.new(record.metadata) |
25 | 25 | puts "triplify #{record.header.identifier}" |
26 | 26 | |
27 | - DC_CONVERSION.each do |c| | |
28 | - values = [metadata.send(c)].flatten.compact | |
27 | + settings.ontology_mapping.each do |mapping| | |
28 | + values = [metadata.extract_field(mapping['source'])].flatten.compact | |
29 | 29 | values.each do |value| |
30 | - query = RDF::Virtuoso::Query.insert_data([RDF::URI.new(metadata.identifier), RDF::URI.new("http://purl.org/dc/elements/1.1/#{c}"), value]).graph(RDF::URI.new(@dspace_uri)) | |
30 | + query = RDF::Virtuoso::Query.insert_data([RDF::URI.new(metadata.identifier), RDF::URI.new(mapping['target']), value]).graph(RDF::URI.new(@dspace_uri)) | |
31 | 31 | plugin.virtuoso_client.insert(query) |
32 | 32 | end |
33 | 33 | end |
... | ... | @@ -53,16 +53,15 @@ class VirtuosoPlugin::DspaceHarvest |
53 | 53 | settings.save! |
54 | 54 | puts "ending harvest #{harvest_time}" |
55 | 55 | end |
56 | - | |
56 | + | |
57 | 57 | def self.harvest_all(environment, from_start) |
58 | 58 | settings = Noosfero::Plugin::Settings.new(environment, VirtuosoPlugin) |
59 | 59 | settings.dspace_servers.each do |k, v| |
60 | 60 | harvest = VirtuosoPlugin::DspaceHarvest.new(environment, k[:dspace_uri]) |
61 | 61 | harvest.start(from_start) |
62 | - harvest.run | |
63 | - end | |
64 | - end | |
65 | - | |
62 | + end | |
63 | + end | |
64 | + | |
66 | 65 | def start(from_start = false) |
67 | 66 | if find_job.empty? |
68 | 67 | if from_start | ... | ... |
plugins/virtuoso/lib/virtuoso_plugin/dublin_core_metadata.rb
plugins/virtuoso/test/unit/virtuoso_plugin_test.rb