Skip to content

Commit

Permalink
Merge pull request #157 from ncbo/develop
Browse files Browse the repository at this point in the history
Develop to master merge, release v5.31.0
  • Loading branch information
alexskr authored Jun 12, 2024
2 parents ef2d816 + 70007fa commit 2cec53c
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 17 deletions.
23 changes: 12 additions & 11 deletions lib/goo/sparql/client.rb
Original file line number Diff line number Diff line change
Expand Up @@ -81,26 +81,27 @@ def delete_data_graph(graph)
end

def append_triples_no_bnodes(graph,file_path,mime_type_in)
bnodes_filter = nil
dir = nil
response = nil
if file_path.end_with?('ttl')
bnodes_filter = file_path
file = File.read(bnodes_filter)
response = execute_append_request graph, file, mime_type_in
else
bnodes_filter, dir = bnodes_filter_file(file_path, mime_type_in)
end
chunk_lines = 500_000 # number of line
file = File.foreach(bnodes_filter)
lines = []
file.each_entry do |line|
lines << line
if lines.size == chunk_lines
response = execute_append_request graph, lines.join, mime_type_in
lines.clear
chunk_lines = 500_000 # number of line
file = File.foreach(bnodes_filter)
lines = []
file.each_entry do |line|
lines << line
if lines.size == chunk_lines
response = execute_append_request graph, lines.join, mime_type_in
lines.clear
end
end
response = execute_append_request graph, lines.join, mime_type_in unless lines.empty?
end

response = execute_append_request graph, lines.join, mime_type_in unless lines.empty?


unless dir.nil?
Expand Down
8 changes: 4 additions & 4 deletions lib/goo/sparql/mixins/solution_lang_filter.rb
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ def set_value(model, predicate, value, &block)
end

if requested_lang.eql?(:ALL) || requested_lang.is_a?(Array)
language = "@none" if no_lang?(language)
language = :none if no_lang?(language)
store_objects_by_lang(model.id, predicate, value, language)
end
end
Expand Down Expand Up @@ -85,9 +85,9 @@ def model_group_by_lang(model)
def group_by_lang(values)
return values.to_a if values.all?{|x| x.is_a?(RDF::URI) || !x.respond_to?(:language) }

values = values.group_by { |x| x.respond_to?(:language) && x.language ? x.language.to_s.downcase.to_sym : "@none" }
values = values.group_by { |x| x.respond_to?(:language) && x.language ? x.language.to_s.downcase.to_sym : :none }

no_lang = values["@none"] || []
no_lang = values[:none] || []
return no_lang if !no_lang.empty? && no_lang.all? { |x| x.respond_to?(:plain?) && !x.plain? }

values
Expand All @@ -113,7 +113,7 @@ def literal?(object)

def store_objects_by_lang(id, predicate, object, language)
# store objects in this format: [id][predicate][language] = [objects]
return if requested_lang.is_a?(Array) && !requested_lang.include?(language.upcase) && !language.eql?('@none')
return if requested_lang.is_a?(Array) && !requested_lang.include?(language.upcase) && !language.eql?(:none)

language_key = language.downcase

Expand Down
4 changes: 2 additions & 2 deletions test/test_languages_filters.rb
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ def test_one_language
def test_multiple_languages
# select all languages
RequestStore.store[:requested_lang] = :all
expected_result = {:en=>["John Doe"], :fr=>["Jean Dupont"], "@none"=>["Juan Pérez"]}
expected_result = {:en=>["John Doe"], :fr=>["Jean Dupont"], :none=>["Juan Pérez"]}
person = ExamplePerson.find(@@person_id).in(@@db).include(:label).first
assert_equal expected_result.values.flatten.sort, person.label.sort

Expand Down Expand Up @@ -88,7 +88,7 @@ def test_map_attribute_with_languages
assert_equal ["Jean Dupont", "Juan Pérez"].sort, person.label.sort


expected_result = {:en=>["John Doe"], :fr=>["Jean Dupont"], "@none"=>["Juan Pérez"]}
expected_result = {:en=>["John Doe"], :fr=>["Jean Dupont"], :none=>["Juan Pérez"]}
RequestStore.store[:requested_lang] = [:en, :fr]
person = ExamplePerson.find(@@person_id).in(@@db).include(:unmapped).first
ExamplePerson.map_attributes(person)
Expand Down

0 comments on commit 2cec53c

Please sign in to comment.