grel 0.1.2 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
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: []