solis 0.100.0 → 0.102.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: 848141bb6e9f81fea57188c0a10cc3cf86b656a137e5f5a2a665a835af2ef6f5
4
- data.tar.gz: 49505d5ce710f03daa6b14f2488df1c3d0ff8e2e24301b17940aa5d60aed67d1
3
+ metadata.gz: 108217e78e1d2a9c5ded6c35d898ff4733876fe243392ca98b4af0d71e087925
4
+ data.tar.gz: fdd55b2bf75f0751c4bd77571664b54a469d432523f348b2fc1edcd61614f5a3
5
5
  SHA512:
6
- metadata.gz: 16c1286a2b9046f5c267b2e59d9d2d293fd3919e5792a867d174d6385fbfe522bdc4b306e96af244ff4493f21727ce09f71c6c98015cac3ab2f1206cf1543771
7
- data.tar.gz: 6e02c4c9c3511271295f010579f76c758c9c590fae999c01ac262615a6fb21384aa2b73bc7e719be61563faec7a080b5f2a95be3a857e156cb2be9400c96c5ff
6
+ metadata.gz: '08cbb13f0d745f1fc8f3743e0ca732286c3f4f121122e91ab3dd684cc086fe3497c7e61a927cf1b07d04b4236cad02a31a9125fa9ba53839a809dc8b1d45602a'
7
+ data.tar.gz: 5c23a8c8a82f732e9657e725c72b50cb71b0bc757d61bd4f7549efd56c377bf746f953c6eb3e8953cb64468299629bfeca896e5f1514c80291d0dfa52de9f7c1
data/lib/solis/graph.rb CHANGED
@@ -16,7 +16,7 @@ module Solis
16
16
  raise "Please provide a graph_name, graph_prefix and sparql_endpoint option" if options.nil? || options.empty?
17
17
  cloned_options = options.clone
18
18
 
19
- Solis::Options.instance.set = options
19
+ Solis::Options.instance.set = options.merge(solis: self)
20
20
 
21
21
  @global_resource_stack = []
22
22
  @graph = graph
@@ -62,7 +62,7 @@ class Solis::Query::Runner
62
62
  object = triple[:object]
63
63
 
64
64
  # Handle rdf:type
65
- if predicate.to_s =~ /type$/i || predicate == RDF::RDFV.type
65
+ if (predicate.to_s !~/#{graph_name}/ && predicate.to_s =~ /type$/i) || predicate == RDF::RDFV.type
66
66
  obj['@type'] = object.to_s.split('/').last
67
67
  next
68
68
  end
@@ -149,7 +149,14 @@ class Solis::Query::Runner
149
149
  next if key.start_with?('@') # Skip internal markers
150
150
  next if key == '_id' || key == 'id' # Already added
151
151
 
152
- result[key] = resolve_value(value, objects_index, max_depth, visited, current_depth)
152
+ if obj.key?('@type') &&Solis::Options.instance.get[:solis].shape?(obj['@type'])
153
+ entity = Solis::Options.instance.get[:solis].shape_as_model(obj['@type'])
154
+ entity_maxcount = entity.metadata[:attributes][key][:maxcount]
155
+ end
156
+ resolved_value = resolve_value(value, objects_index, max_depth, visited, current_depth)
157
+ resolved_value = [resolved_value] if (entity_maxcount.nil? || entity_maxcount > 1) && !resolved_value.is_a?(Array)
158
+
159
+ result[key] = resolved_value
153
160
  end
154
161
 
155
162
  result
data/lib/solis/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Solis
2
- VERSION = "0.100.0"
2
+ VERSION = "0.102.0"
3
3
  end
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.100.0
4
+ version: 0.102.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mehmet Celik