virtual_assembly-semantizer 1.0.3 → 1.0.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 75d38840bf182d8a5111ad96fb65698ae4b1878c338efa7e91e61d131ebbe9c9
4
- data.tar.gz: fa56956ba8eab9db58695eee5a4e8a44cf41eb401c71d021df802bdaada0997a
3
+ metadata.gz: 6d4643867375d8d1c6d4828a81e1c322d24bb0b230b711d1d959d1593b9901b2
4
+ data.tar.gz: 63aaeb5ddfef5149ca23656a759a270856d3984de0933f9e49b354bbd61b907a
5
5
  SHA512:
6
- metadata.gz: e199c2c86b7f4d5e3fcf93ff437495d04b0f79ae435291ba74054c7d2c01789219ac6a2138378c4107f003fce46f5ed122ce0d14abefa474d93221dbcf008184
7
- data.tar.gz: 99c70064365f0de27f4fa6140673f4d379c24c780065e3053af48db6613aa4b4a63d2bfb33c8d7f2420f23fd35d9c3840803f10e1775edeb94c3cc61cf328688
6
+ metadata.gz: 2387084e7f1bc560ac7a44bddebf213cfda8b9b00dee8d75e8026d67f40b1172f1a047ed1931def2cc83d61f42ed774970f49d3debcc774ca7cb8db51d9a0f86
7
+ data.tar.gz: 44b7c5011c9d4b1789d9cb59b853cc9e64774eb0adee78e5e654e8212658f76e649ee7498c804f20d4280209aa63bc53a14e7da4c8ed717cdac2953879c5a0f4
@@ -25,6 +25,11 @@
25
25
  # {"http://xmlns.com/foaf/0.1/name" => "John"}.
26
26
  class VirtualAssembly::Semantizer::HashSerializer
27
27
 
28
+ # The inputContext must be a hash like { prefix => uri }
29
+ def initialize(inputContext = nil)
30
+ @inputContext = inputContext
31
+ end
32
+
28
33
  # This is the main method to begin the serialization.
29
34
  #
30
35
  # The subject should be a SemanticObject.
@@ -33,7 +38,7 @@ class VirtualAssembly::Semantizer::HashSerializer
33
38
 
34
39
  # We iterate over all the semantic properties of the subject.
35
40
  subject.semanticProperties.each do |property|
36
- name = property.name
41
+ name = @inputContext? self.prefixName(property.name): property.name
37
42
  value = property.value
38
43
 
39
44
  if (value == nil)
@@ -67,7 +72,17 @@ class VirtualAssembly::Semantizer::HashSerializer
67
72
  return result;
68
73
  end
69
74
 
70
- private
75
+ private
76
+
77
+ # Replace each URI with its prefix
78
+ def prefixName(name)
79
+ @inputContext.each do |prefix, uri|
80
+ if (!name.start_with?("@") && name.start_with?(uri))
81
+ return name.sub(uri, prefix + ':')
82
+ end
83
+ end
84
+ return name
85
+ end
71
86
 
72
87
  # Serialize a collection of values.
73
88
  def exportCollection(values)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: virtual_assembly-semantizer
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.3
4
+ version: 1.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Maxime Lecoq
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-02-20 00:00:00.000000000 Z
11
+ date: 2023-04-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json-ld