solis 0.67.0 → 0.68.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 10dca19492f571ddd21415a4c359cbf0dfdfef231c97683006edb31a6eb945fa
4
- data.tar.gz: cd960ae1960262772debcf74bde0536e7c11c506be8ca347fb5c439bfa67e11c
3
+ metadata.gz: a93afb01da132bf005f3e682986c2e15876db706550f579aa5505854c23aabb0
4
+ data.tar.gz: 6ab988794791e1e14abeb58c8ed610270685cef642135d49fe679248396186fa
5
5
  SHA512:
6
- metadata.gz: 10360c6ca52479be02933037d4976c9216854118e672705acf5e008e54661addc762ae9606f5d0230a19d699a239d061a99de389364653d704a63223ed4db87c
7
- data.tar.gz: 5a35e2e1ec935e2f63e6d93d301d5bd53364ed5d6228994dd7a3f64dbb67d88d2332b8d72da26bf0e75fa2d1d0a43137af64b2f8584c92fab6662aac97a979ba
6
+ metadata.gz: 7fd19bea2aa49407929aecb36760e7cf1ae31896e57c6075f43dd09ef8abd56e4f4cf15643f031ed9e5537f9249d7e3d50c10a7f8aff8d1b08138623ca729a42
7
+ data.tar.gz: 3bad39506d27b3cf9437c27e1a9c99a9fcd7cdcc78a50cdd1c951ef80741926e5db1ab189835a68c3a80ec2323f69500b39156c1ea99a792143583fe95b43dd1
data/lib/solis/graph.rb CHANGED
@@ -277,14 +277,14 @@ module Solis
277
277
  remote_resources = [remote_resources] unless remote_resources.is_a?(Array)
278
278
  remote_resources = remote_resources.map do |remote_resource|
279
279
  resource_id = remote_resource.id =~ /^http/ ? remote_resource.id.split('/').last : remote_resource.id
280
- #"/#{key.tableize}/#{resource_id}"
280
+
281
281
  "#{resource.class.graph_name.gsub(/\/$/,'')}/#{belongs_to_resource_name.tableize}/#{resource_id}"
282
282
  end
283
283
 
284
- # return remote_resources.length == 1 ? remote_resources.first : remote_resources
285
284
  end
286
285
 
287
- remote_resources.first if remote_resources #belongs_to
286
+
287
+ remote_resources.join(',') if remote_resources #belongs_to
288
288
  end
289
289
  end
290
290
  else
@@ -323,7 +323,7 @@ module Solis
323
323
 
324
324
  #return remote_resources.length == 1 ? remote_resources.first : remote_resources
325
325
  end
326
- remote_resources.first if remote_resources
326
+ remote_resources.join(',') if remote_resources
327
327
  end
328
328
  end
329
329
  end
data/lib/solis/model.rb CHANGED
@@ -26,9 +26,12 @@ module Solis
26
26
  elsif self.class.metadata[:attributes][attribute.to_s][:node_kind].is_a?(RDF::URI) && value.is_a?(Array)
27
27
  new_value = []
28
28
  value.each do |v|
29
- next unless v.class.is_a?(Hash)
30
- inner_model = self.class.graph.shape_as_model(self.class.metadata[:attributes][attribute.to_s][:datatype].to_s)
31
- new_value << inner_model.new(v)
29
+ if v.is_a?(Hash)
30
+ inner_model = self.class.graph.shape_as_model(self.class.metadata[:attributes][attribute.to_s][:datatype].to_s)
31
+ new_value << inner_model.new(v)
32
+ else
33
+ new_value << v
34
+ end
32
35
  end
33
36
  value = new_value
34
37
  end
@@ -147,7 +150,7 @@ module Solis
147
150
 
148
151
  sparql = SPARQL::Client.new(self.class.sparql_endpoint)
149
152
 
150
- original_klass = self.query.filter({language: nil, filters: { id: [id] } }).find_all.map { |m| m }&.first
153
+ original_klass = self.query.filter({ language: nil, filters: { id: [id] } }).find_all.map { |m| m }&.first
151
154
  raise Solis::Error::NotFoundError if original_klass.nil?
152
155
  updated_klass = original_klass.deep_dup
153
156
 
@@ -408,11 +411,11 @@ module Solis
408
411
 
409
412
  data.each do |d|
410
413
  if defined?(d.name) && self.class.graph.shape?(d.name)
411
- if self.class.graph.shape_as_model(d.name.to_s).metadata[:attributes].select{|_,v| v[:node_kind].is_a?(RDF::URI)}.size > 0 &&
412
- hierarchy.select{|s| s =~ /^#{d.name.to_s}/}.size == 0
414
+ if self.class.graph.shape_as_model(d.name.to_s).metadata[:attributes].select { |_, v| v[:node_kind].is_a?(RDF::URI) }.size > 0 &&
415
+ hierarchy.select { |s| s =~ /^#{d.name.to_s}/ }.size == 0
413
416
  internal_resolve = false
414
417
  d = build_ttl_objekt2(graph, d, hierarchy, internal_resolve)
415
- elsif self.class.graph.shape_as_model(d.name.to_s) && hierarchy.select{|s| s =~ /^#{d.name.to_s}/}.size == 0
418
+ elsif self.class.graph.shape_as_model(d.name.to_s) && hierarchy.select { |s| s =~ /^#{d.name.to_s}/ }.size == 0
416
419
  internal_resolve = false
417
420
  d = build_ttl_objekt2(graph, d, hierarchy, internal_resolve)
418
421
  else
data/lib/solis/query.rb CHANGED
@@ -321,7 +321,11 @@ PREFIX #{@model.class.graph_prefix}: <#{@model.class.graph_name}>"
321
321
  end
322
322
  else
323
323
  if solution_model.metadata[:attributes][attribute][:maxcount].nil? || solution_model.metadata[:attributes][attribute][:maxcount] > 1
324
- data[attribute] = [object]
324
+ if data.include?(attribute)
325
+ data[attribute] << object
326
+ else
327
+ data[attribute] = [object]
328
+ end
325
329
  else
326
330
  data[attribute] = object
327
331
  end
data/lib/solis/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Solis
2
- VERSION = "0.67.0"
2
+ VERSION = "0.68.0"
3
3
  end
data/solis.gemspec CHANGED
@@ -6,7 +6,7 @@ Gem::Specification.new do |spec|
6
6
  spec.authors = ['Mehmet Celik']
7
7
  spec.email = ['mehmet@celik.be']
8
8
 
9
- spec.summary = 'Creates a SHACL, RDF, PlantUML file from a Google sheet and a layer ontop of a data store(RDBMS, Triple store)'
9
+ spec.summary = 'Turn any SHACL file into an API, ORM, documentation, ...'
10
10
  spec.description = 'The SUN in latin or is it SILOS spelled backwards. Creates a SHACL, RDF, PlantUML file from a Google sheet and a layer ontop of a data store(RDBMS, Triple store)'
11
11
  spec.homepage = 'https://github.com/mehmetc/solis'
12
12
  spec.license = 'MIT'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: solis
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.67.0
4
+ version: 0.68.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mehmet Celik
@@ -299,6 +299,5 @@ requirements: []
299
299
  rubygems_version: 3.1.6
300
300
  signing_key:
301
301
  specification_version: 4
302
- summary: Creates a SHACL, RDF, PlantUML file from a Google sheet and a layer ontop
303
- of a data store(RDBMS, Triple store)
302
+ summary: Turn any SHACL file into an API, ORM, documentation, ...
304
303
  test_files: []