grel 0.1.2 → 0.1.3

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.
Files changed (4) hide show
  1. checksums.yaml +15 -0
  2. data/lib/grel/base.rb +7 -1
  3. data/lib/grel/ql.rb +29 -3
  4. metadata +5 -9
checksums.yaml ADDED
@@ -0,0 +1,15 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ ZjVjNTYxM2ZiYjliZGNhMTAyMDMyN2NlNThlZDBjNTYxMWFmZDE4Zg==
5
+ data.tar.gz: !binary |-
6
+ MTNmMjJjMmE2MjM1M2UxMjExMDAyMWFmMDExMmYyODdlZjE1MDE1ZA==
7
+ !binary "U0hBNTEy":
8
+ metadata.gz: !binary |-
9
+ ZTMyOGVmYzVmNjEwYjM4MTZhOGYyNDg3ZjMxNTc5YmM5NzBhYmJhOTBiZmQ0
10
+ ZDczYjk2YTZjMmM5YTkxNzNmYmJiOWQyZGQ4ZjI1NzQ1YWVjNWU0YTI0Nzc3
11
+ ZGZjMzkyNzBmOGUxMDNiY2Q5MmE1NDY2NjQ3MGQ5ZTQzZWM5YmE=
12
+ data.tar.gz: !binary |-
13
+ NTMxMzJhMzIxZDhmYmM5ZjI4MDRkZDNmMGU0MGQ1YmI4ZWY3YTNkMmFjMDY0
14
+ M2UxZGQ1NDczNTNhNGFiN2EwZWU0MTFkM2VjZjFlZDcxMDRjYjNlY2I4MTA2
15
+ MTBhN2M0OWM2ZTViNTdkMTE3ZmY4OGU3OTNkNjNhZjQyMmRlOWE=
data/lib/grel/base.rb CHANGED
@@ -87,7 +87,11 @@ module GRel
87
87
  GRel::Debugger.debug QL.to_turtle(data)
88
88
  GRel::Debugger.debug "IN"
89
89
  GRel::Debugger.debug @db_name
90
- @connection.add(@db_name, QL.to_turtle(data), nil, "text/turtle")
90
+ res = @connection.add(@db_name, QL.to_turtle(data), nil, "text/turtle")
91
+ if(res == false)
92
+ raise Exception.new("Error storing data, an ICV validation might have been violated")
93
+ end
94
+ res
91
95
  end
92
96
  self
93
97
  rescue Stardog::ICVException => ex
@@ -448,6 +452,8 @@ module GRel
448
452
  unfolded += [restriction, :@type, :"<http://www.w3.org/2002/07/owl#Restriction>"]
449
453
  unfolded += [restriction, :"<http://www.w3.org/2002/07/owl#onProperty>", o.first]
450
454
  unfolded += [restriction, :@some,o.last]
455
+ unfolded += [s, :@type, :"<http://www.w3.org/2002/07/owl#Class>"]
456
+ unfolded += [s, :@subclass, restriction]
451
457
  elsif(p == :@same_as)
452
458
  p = GRel::QL.to_query(p).to_sym
453
459
  unfolded += [s,p,o]
data/lib/grel/ql.rb CHANGED
@@ -801,12 +801,13 @@ module GRel
801
801
  def self.from_tuple_binding(tuple_value)
802
802
  if(tuple_value["type"] == "uri")
803
803
  from_binding_to_id(tuple_value["value"])
804
- elsif(tuple_value["type"] == "literal")
805
- tuple_value["value"]
806
- else
804
+ elsif(tuple_value["datatype"])
807
805
  tuple_value["@type"] = tuple_value["datatype"]
808
806
  tuple_value["@value"] = tuple_value["value"]
809
807
  from_binding_value(tuple_value)
808
+ else
809
+ tuple_value["@value"] = tuple_value["value"]
810
+ from_binding_value(tuple_value)
810
811
  end
811
812
  end
812
813
 
@@ -842,6 +843,21 @@ module GRel
842
843
  else
843
844
  obj["@value"]
844
845
  end
846
+ elsif(obj.is_a?(Hash) && obj["@value"])
847
+ val = obj["@value"]
848
+ if(val == "true")
849
+ true
850
+ elsif(val == "false")
851
+ false
852
+ elsif(val =~ /^\d+\.\d*$/)
853
+ val.to_f
854
+ elsif(val =~ /^d+$/)
855
+ val.to_i
856
+ elsif(val == "http://www.w3.org/1999/02/22-rdf-syntax-ns#nil")
857
+ nil
858
+ else
859
+ val
860
+ end
845
861
  elsif(obj.is_a?(Array))
846
862
  obj.map{|o| from_binding_value(o)}
847
863
  else
@@ -854,6 +870,7 @@ module GRel
854
870
  node.delete("@context")
855
871
  node = node.to_a.inject({}) do |ac, (p,v)|
856
872
  p = p[1..-1].to_sym if(p.index(":") == 0)
873
+ p = p.split("#").last.to_sym if(p.index("#"))
857
874
  p = p.to_sym if(p == "@id" || p == "@type")
858
875
  v = from_binding_value(v)
859
876
  ac[p] = v; ac
@@ -868,6 +885,15 @@ module GRel
868
885
  json = bindings
869
886
  json = [json] unless json.is_a?(Array)
870
887
  json.each do|node|
888
+ node.each_pair do |k,v|
889
+ # weird things happening with describe queries and arrays
890
+ if(v.is_a?(Array))
891
+ v = v.uniq
892
+ v = v.first if v.length ==1
893
+ node[k] = v
894
+ end
895
+ end
896
+
871
897
  node = from_binding_hash(node)
872
898
  nodes[node[:@id]] = node
873
899
  node.delete(:@id) unless node[:@id].index("@id(")
metadata CHANGED
@@ -1,20 +1,18 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: grel
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
5
- prerelease:
4
+ version: 0.1.3
6
5
  platform: ruby
7
6
  authors:
8
7
  - Antonio Garrote
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-04-09 00:00:00.000000000 Z
11
+ date: 2013-07-26 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: stardog-rb
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
17
  - - ! '>='
20
18
  - !ruby/object:Gem::Version
@@ -22,7 +20,6 @@ dependencies:
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
24
  - - ! '>='
28
25
  - !ruby/object:Gem::Version
@@ -39,26 +36,25 @@ files:
39
36
  - lib/grel.rb
40
37
  homepage: https://github.com/antoniogarrote/grel
41
38
  licenses: []
39
+ metadata: {}
42
40
  post_install_message:
43
41
  rdoc_options: []
44
42
  require_paths:
45
43
  - lib
46
44
  required_ruby_version: !ruby/object:Gem::Requirement
47
- none: false
48
45
  requirements:
49
46
  - - ! '>='
50
47
  - !ruby/object:Gem::Version
51
48
  version: '0'
52
49
  required_rubygems_version: !ruby/object:Gem::Requirement
53
- none: false
54
50
  requirements:
55
51
  - - ! '>='
56
52
  - !ruby/object:Gem::Version
57
53
  version: '0'
58
54
  requirements: []
59
55
  rubyforge_project:
60
- rubygems_version: 1.8.25
56
+ rubygems_version: 2.0.5
61
57
  signing_key:
62
- specification_version: 3
58
+ specification_version: 4
63
59
  summary: Ruby object oriented wrapper for Stardog
64
60
  test_files: []