rdf_inference 0.0.5 → 0.0.7

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 (3) hide show
  1. checksums.yaml +5 -5
  2. data/lib/rdf_inference.rb +133 -129
  3. metadata +4 -5
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 239983473d074acf8b526992e54f4b530c7484f2
4
- data.tar.gz: 33ea2303945d88fd1948c9bfe49ff6dd0d91bee0
2
+ SHA256:
3
+ metadata.gz: d1b9d4ab1fc8b79bf3080e860fcb1451ec659e644268ab52db0e925e8dfb1fe2
4
+ data.tar.gz: a7f435e30e545dace7c972fc48b8fca0fdd74c55a6f92ab43d33c72d08dbda24
5
5
  SHA512:
6
- metadata.gz: 30d4db67fd254e6a117bfa2f083f07f2a42e4882d09a6a094ae5caf230fe3ed555fe7f6904ccbda93a2aed5b1b78c3b371538f4fae21d890c7eb62ce46e55096
7
- data.tar.gz: 1f4cc4e8d43653d887dc16b53b48c28ba346d5c30e1d24985a6236e7fbcb872e469a054173106610e36ab644cada74664ab6aff304032da6f276531a8b8c64e0
6
+ metadata.gz: 859982b971eb6037cf15147e2004a017a3532a1e6057d4012e0e084a12af7cb71b9b7ab7091f3c21a872a3ea12428ec5f4c7226707cabad22ee5a67bd566c0b3
7
+ data.tar.gz: d929a5817be9cc685a01273a526d89fece07ab05518d2d4ce7c124564937f643a04d4de573d6a41dbcf858b2c47357b8812c999693658afdd8abcfb528f63b53
@@ -1,129 +1,133 @@
1
- require 'linkeddata'
2
- require 'sparql'
3
-
4
- include RDF
5
-
6
- class RdfInference
7
-
8
- def initialize
9
- prefix = "PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
10
- PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
11
- PREFIX wdc: <http://vieslav.pl/csv/0.1/>
12
- PREFIX owl: <http://www.w3.org/2002/07/owl#> \n"
13
- @query_list = {}
14
-
15
- @query_list[:subClassOf] = prefix + "CONSTRUCT {?r rdf:type ?B .}
16
- WHERE { ?A rdfs:subClassOf ?B .
17
- ?r rdf:type ?A .
18
- FILTER NOT EXISTS {?r rdf:type ?B}
19
- }"
20
- @query_list[:subPropertyOf] = prefix + "CONSTRUCT {?x ?r ?y .
21
- [ rdf:subject ?x;
22
- rdf:predicate ?r;
23
- rdf:object ?y ] a wdc:DerivationRelationship .}
24
- WHERE { ?x ?q ?y .
25
- ?q rdfs:subPropertyOf ?r .
26
- FILTER NOT EXISTS {?x ?r ?y }
27
- }"
28
- @query_list[:RDFS_Plus_TransitiveProperty] = prefix + "CONSTRUCT {?x ?p ?z .
29
- [ rdf:subject ?x;
30
- rdf:predicate ?p;
31
- rdf:object ?z ] a wdc:DerivationRelationship .}
32
- WHERE { ?x ?p ?y .
33
- ?y ?p ?z .
34
- ?p rdf:type owl:TransitiveProperty .
35
- FILTER NOT EXISTS {?x ?p ?z }
36
- }"
37
-
38
- @query_list[:WIDU_shortCut] = prefix + "CONSTRUCT {?x ?p ?z .
39
- [ rdf:subject ?x;
40
- rdf:predicate ?r;
41
- rdf:object ?y ] a wdc:DerivationRelationship .}
42
- WHERE {
43
- ?x ?p ?y .
44
- ?y ?p ?z .
45
- ?class1 wdc:shortCut ?class3.
46
- ?x a ?class1 .
47
- ?y a ?class2 .
48
- ?z a ?class3 .
49
-
50
- FILTER NOT EXISTS { ?x ?p ?z }
51
- FILTER NOT EXISTS { ?y a ?class1 }
52
- FILTER NOT EXISTS { ?y a ?class3 }
53
- }"
54
-
55
- @query_list[:WIDU_isWeakerThan1] = prefix + "CONSTRUCT {?x ?p ?z .
56
- [ rdf:subject ?x;
57
- rdf:predicate ?p;
58
- rdf:object ?z ] a wdc:DerivationRelationship .}
59
- WHERE {
60
- ?x ?p ?y .
61
- ?y ?p2 ?z .
62
- ?p wdc:isWeakerThan ?p2 .
63
-
64
- FILTER NOT EXISTS { ?x ?p ?z }
65
-
66
- }"
67
-
68
-
69
- @query_list[:WIDU_isWeakerThan2] = prefix + "CONSTRUCT {?x ?p2 ?z .
70
- [ rdf:subject ?x;
71
- rdf:predicate ?p2;
72
- rdf:object ?z ] a wdc:DerivationRelationship .}
73
- WHERE {
74
- ?x ?p ?y .
75
- ?y ?p2 ?z .
76
- ?p2 wdc:isWeakerThan ?p .
77
-
78
- FILTER NOT EXISTS { ?x ?p2 ?z }
79
-
80
- }"
81
-
82
-
83
-
84
- @query_list[:RDFS_Plus_inverseOf9] = prefix + "CONSTRUCT {?y ?q ?x .
85
- [ rdf:subject ?x;
86
- rdf:predicate ?r;
87
- rdf:object ?y ] a wdc:DerivationRelationship .}
88
- WHERE {
89
- ?p owl:inverseOf ?q .
90
- ?x ?p ?y .
91
- FILTER (?p != owl:inverseOf)
92
- FILTER NOT EXISTS { ?y ?q ?x }
93
- }"
94
-
95
- @query_list[:RDFS_domain] = prefix + "CONSTRUCT {?x rdf:type ?D .}
96
- WHERE { ?P rdfs:domain ?D .
97
- ?x ?P ?y .
98
- FILTER NOT EXISTS { ?x rdf:type ?D }
99
- }"
100
-
101
- @query_list[:RDFS_range] = prefix + "CONSTRUCT {?y rdf:type ?D .}
102
- WHERE { ?P rdfs:range ?D .
103
- ?x ?P ?y .
104
- FILTER NOT EXISTS { ?y rdf:type ?D }
105
- }"
106
-
107
- end
108
-
109
- def inference(graph)
110
- @rdfs_inferred = RDF::Repository.new
111
- @rdfs_inferred_all = RDF::Repository.new
112
- begin
113
- @rdfs_inferred = RDF::Repository.new
114
- @query_list.each do |klucz, query|
115
- puts klucz
116
- @rdfs_inferred << SPARQL.execute(query, graph)
117
- end
118
- graph << @rdfs_inferred
119
- @rdfs_inferred_all << @rdfs_inferred
120
- puts "Inference count:"
121
- puts @rdfs_inferred.count
122
- end until @rdfs_inferred.count == 0
123
- puts "Inference count all:"
124
- puts @rdfs_inferred_all.count
125
- @rdfs_inferred_all
126
- end
127
-
128
-
129
- end
1
+ require 'linkeddata'
2
+ require 'sparql'
3
+
4
+ include RDF
5
+
6
+ class RdfInference
7
+
8
+ def initialize
9
+ prefix = "PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
10
+ PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
11
+ PREFIX wdc: <http://vieslav.pl/csv/0.1/>
12
+ PREFIX owl: <http://www.w3.org/2002/07/owl#> \n"
13
+ @query_list = {}
14
+
15
+ @query_list[:subClassOf] = prefix + "CONSTRUCT {?r rdf:type ?B .}
16
+ WHERE { ?A rdfs:subClassOf ?B .
17
+ ?r rdf:type ?A .
18
+ FILTER NOT EXISTS {?r rdf:type ?B}
19
+ }"
20
+ @query_list[:subPropertyOf] = prefix + "CONSTRUCT {?x ?r ?y .
21
+ [ rdf:subject ?x;
22
+ rdf:predicate ?r;
23
+ rdf:object ?y ] a wdc:DerivationRelationship .}
24
+ WHERE {
25
+ ?q rdfs:subPropertyOf ?r .
26
+ ?x ?q ?y .
27
+
28
+ FILTER NOT EXISTS {?x ?r ?y }
29
+ }"
30
+ @query_list[:RDFS_Plus_TransitiveProperty] = prefix + "CONSTRUCT {?x ?p ?z .
31
+ [ rdf:subject ?x;
32
+ rdf:predicate ?p;
33
+ rdf:object ?z ] a wdc:DerivationRelationship .}
34
+ WHERE {
35
+ ?p rdf:type owl:TransitiveProperty .
36
+ ?x ?p ?y .
37
+ ?y ?p ?z .
38
+
39
+ FILTER NOT EXISTS {?x ?p ?z }
40
+ }"
41
+
42
+ @query_list[:WIDU_shortCut] = prefix + "CONSTRUCT {?x ?p ?z .
43
+ [ rdf:subject ?x;
44
+ rdf:predicate ?r;
45
+ rdf:object ?y ] a wdc:DerivationRelationship .}
46
+ WHERE {
47
+ ?class1 wdc:shortCut ?class3.
48
+ ?x a ?class1 .
49
+ ?y a ?class2 .
50
+ ?z a ?class3 .
51
+ ?x ?p ?y .
52
+ ?y ?p ?z .
53
+
54
+ FILTER NOT EXISTS { ?x ?p ?z }
55
+ FILTER NOT EXISTS { ?y a ?class1 }
56
+ FILTER NOT EXISTS { ?y a ?class3 }
57
+ }"
58
+
59
+ @query_list[:WIDU_isWeakerThan1] = prefix + "CONSTRUCT {?x ?p ?z .
60
+ [ rdf:subject ?x;
61
+ rdf:predicate ?p;
62
+ rdf:object ?z ] a wdc:DerivationRelationship .}
63
+ WHERE {
64
+ ?p wdc:isWeakerThan ?p2 .
65
+ ?x ?p ?y .
66
+ ?y ?p2 ?z .
67
+
68
+ FILTER NOT EXISTS { ?x ?p ?z }
69
+
70
+ }"
71
+
72
+
73
+ @query_list[:WIDU_isWeakerThan2] = prefix + "CONSTRUCT {?x ?p2 ?z .
74
+ [ rdf:subject ?x;
75
+ rdf:predicate ?p2;
76
+ rdf:object ?z ] a wdc:DerivationRelationship .}
77
+ WHERE {
78
+ ?p2 wdc:isWeakerThan ?p .
79
+ ?x ?p ?y .
80
+ ?y ?p2 ?z .
81
+
82
+ FILTER NOT EXISTS { ?x ?p2 ?z }
83
+
84
+ }"
85
+
86
+
87
+
88
+ @query_list[:RDFS_Plus_inverseOf9] = prefix + "CONSTRUCT {?y ?q ?x .
89
+ [ rdf:subject ?x;
90
+ rdf:predicate ?r;
91
+ rdf:object ?y ] a wdc:DerivationRelationship .}
92
+ WHERE {
93
+ ?p owl:inverseOf ?q .
94
+ ?x ?p ?y .
95
+ FILTER (?p != owl:inverseOf)
96
+ FILTER NOT EXISTS { ?y ?q ?x }
97
+ }"
98
+
99
+ @query_list[:RDFS_domain] = prefix + "CONSTRUCT {?x rdf:type ?D .}
100
+ WHERE { ?P rdfs:domain ?D .
101
+ ?x ?P ?y .
102
+ FILTER NOT EXISTS { ?x rdf:type ?D }
103
+ }"
104
+
105
+ @query_list[:RDFS_range] = prefix + "CONSTRUCT {?y rdf:type ?D .}
106
+ WHERE { ?P rdfs:range ?D .
107
+ ?x ?P ?y .
108
+ FILTER NOT EXISTS { ?y rdf:type ?D }
109
+ }"
110
+
111
+ end
112
+
113
+ def inference(graph)
114
+ @rdfs_inferred = RDF::Repository.new
115
+ @rdfs_inferred_all = RDF::Repository.new
116
+ begin
117
+ @rdfs_inferred = RDF::Repository.new
118
+ @query_list.each do |klucz, query|
119
+ puts klucz
120
+ @rdfs_inferred << SPARQL.execute(query, graph)
121
+ end
122
+ graph << @rdfs_inferred
123
+ @rdfs_inferred_all << @rdfs_inferred
124
+ puts "Inference count:"
125
+ puts @rdfs_inferred.count
126
+ end until @rdfs_inferred.count == 0
127
+ puts "Inference count all:"
128
+ puts @rdfs_inferred_all.count
129
+ @rdfs_inferred_all
130
+ end
131
+
132
+
133
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rdf_inference
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - WiDu
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-08-03 00:00:00.000000000 Z
11
+ date: 2021-01-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: linkeddata
@@ -38,7 +38,7 @@ dependencies:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
- description: Inference engine v0.0.5
41
+ description: Inference engine v0.0.6 - performance update
42
42
  email: wdulek@gmail.com
43
43
  executables: []
44
44
  extensions: []
@@ -64,8 +64,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
64
64
  - !ruby/object:Gem::Version
65
65
  version: '0'
66
66
  requirements: []
67
- rubyforge_project:
68
- rubygems_version: 2.5.2
67
+ rubygems_version: 3.0.3
69
68
  signing_key:
70
69
  specification_version: 4
71
70
  summary: Inference engine