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