jekyll-rdf 3.0.0.pre.develop.302 → 3.0.0.pre.develop.303
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 +4 -4
- data/lib/jekyll/drops/rdf_resource.rb +6 -6
- data/lib/jekyll/drops/rdf_resource_class.rb +4 -7
- data/lib/jekyll/drops/rdf_statement.rb +4 -4
- data/lib/jekyll/drops/rdf_term.rb +7 -15
- data/lib/jekyll/filters/rdf_collection.rb +3 -7
- data/lib/jekyll/filters/rdf_container.rb +11 -10
- data/lib/jekyll/filters/rdf_get.rb +3 -23
- data/lib/jekyll/filters/rdf_property.rb +22 -31
- data/lib/jekyll/filters/rdf_resolve_prefix.rb +7 -7
- data/lib/jekyll/filters/rdf_sparql_query.rb +6 -7
- data/lib/jekyll/rdf_generator_helper.rb +2 -2
- data/lib/jekyll/rdf_main_generator.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8f346de2c6991c2ec71e1592c5d25930d1687248
|
4
|
+
data.tar.gz: f2d2d7e7df296643875ed1e60bc96379f2ae90f6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2bb9da378c60da2e41c1569a9a7df198538f33c450f53e68883a6b9dda3b6d18e827a603363243407600c556b3734fc98ada7e78cf456cb4043e535a3f346ced
|
7
|
+
data.tar.gz: 006da3873315523c57ef25bce40203888755a90a56d433cd3fb3cb307587b5964ca4fdcf4f1e9a78d531a5d2efa8d88886c7b3459332db909004ec61cac81d59
|
@@ -49,8 +49,8 @@ module Jekyll #:nodoc:
|
|
49
49
|
##
|
50
50
|
#
|
51
51
|
#
|
52
|
-
def initialize(term,
|
53
|
-
super(term
|
52
|
+
def initialize(term, site = nil, page = nil)
|
53
|
+
super(term)
|
54
54
|
if(site.is_a?(Jekyll::Site))
|
55
55
|
@site = site
|
56
56
|
end
|
@@ -161,19 +161,19 @@ module Jekyll #:nodoc:
|
|
161
161
|
case role
|
162
162
|
when :subject
|
163
163
|
query = "SELECT ?p ?o ?dt ?lit ?lang WHERE{ #{input_uri} ?p ?o BIND(datatype(?o) AS ?dt) BIND(isLiteral(?o) AS ?lit) BIND(lang(?o) AS ?lang)}"
|
164
|
-
sparql.query(query).map do |solution|
|
164
|
+
Jekyll::RdfHelper::sparql.query(query).map do |solution|
|
165
165
|
check = check_solution(solution)
|
166
166
|
create_statement(term.to_s, solution.p, solution.o, solution.lit, check[:lang], check[:data_type])
|
167
167
|
end
|
168
168
|
when :predicate
|
169
169
|
query = "SELECT ?s ?o ?dt ?lit ?lang WHERE{ ?s #{input_uri} ?o BIND(datatype(?o) AS ?dt) BIND(isLiteral(?o) AS ?lit) BIND(lang(?o) AS ?lang)}"
|
170
|
-
sparql.query(query).map do |solution|
|
170
|
+
Jekyll::RdfHelper::sparql.query(query).map do |solution|
|
171
171
|
check = check_solution(solution)
|
172
172
|
create_statement(solution.s, term.to_s, solution.o, solution.lit, check[:lang], check[:data_type])
|
173
173
|
end
|
174
174
|
when :object
|
175
175
|
query = "SELECT ?s ?p WHERE{ ?s ?p #{input_uri}}"
|
176
|
-
sparql.query(query).map do |solution|
|
176
|
+
Jekyll::RdfHelper::sparql.query(query).map do |solution|
|
177
177
|
create_statement( solution.s, solution.p, term.to_s)
|
178
178
|
end
|
179
179
|
else
|
@@ -209,7 +209,7 @@ module Jekyll #:nodoc:
|
|
209
209
|
else
|
210
210
|
object = RDF::URI(object_string)
|
211
211
|
end
|
212
|
-
return RdfStatement.new(RDF::Statement( subject, predicate, object), @
|
212
|
+
return RdfStatement.new(RDF::Statement( subject, predicate, object), @site)
|
213
213
|
end
|
214
214
|
|
215
215
|
private
|
@@ -38,13 +38,15 @@ module Jekyll #:nodoc:
|
|
38
38
|
attr_accessor :alternativeTemplates
|
39
39
|
attr_accessor :subClasses
|
40
40
|
attr_accessor :subClassHierarchyValue
|
41
|
+
attr_reader :sparql
|
41
42
|
|
42
43
|
def initialize(term, sparql)
|
43
|
-
super(term
|
44
|
+
super(term)
|
44
45
|
@subClasses = []
|
45
46
|
@lock = -1
|
46
47
|
@subClassHierarchyValue = 0
|
47
48
|
@alternativeTemplates = []
|
49
|
+
@sparql = sparql
|
48
50
|
end
|
49
51
|
|
50
52
|
def multiple_templates?
|
@@ -52,12 +54,7 @@ module Jekyll #:nodoc:
|
|
52
54
|
end
|
53
55
|
|
54
56
|
def find_direct_subclasses
|
55
|
-
|
56
|
-
term_uri = "<#{@term.to_s}>"
|
57
|
-
else
|
58
|
-
term_uri = @term.to_s
|
59
|
-
end
|
60
|
-
query = "SELECT ?s WHERE{ ?s <http://www.w3.org/2000/01/rdf-schema#subClassOf> #{term_uri}}"
|
57
|
+
query = "SELECT ?s WHERE{ ?s <http://www.w3.org/2000/01/rdf-schema#subClassOf> #{@term.to_ntriples}}"
|
61
58
|
selection = @sparql.query(query).map{ |solution| solution.s.to_s}
|
62
59
|
return selection
|
63
60
|
end
|
@@ -52,10 +52,10 @@ module Jekyll
|
|
52
52
|
# * +statement+ - The statement to be represented
|
53
53
|
# * +sparql+ - The SPARQL::Client which contains the +statement+
|
54
54
|
# * +site+ - The Jekyll::Site to be enriched
|
55
|
-
def initialize(statement,
|
56
|
-
@subject ||= Jekyll::Drops::RdfTerm.build_term_drop(statement.subject,
|
57
|
-
@predicate ||= Jekyll::Drops::RdfTerm.build_term_drop(statement.predicate,
|
58
|
-
@object ||= Jekyll::Drops::RdfTerm.build_term_drop(statement.object,
|
55
|
+
def initialize(statement, site)
|
56
|
+
@subject ||= Jekyll::Drops::RdfTerm.build_term_drop(statement.subject, site)
|
57
|
+
@predicate ||= Jekyll::Drops::RdfTerm.build_term_drop(statement.predicate, site)
|
58
|
+
@object ||= Jekyll::Drops::RdfTerm.build_term_drop(statement.object, site)
|
59
59
|
end
|
60
60
|
|
61
61
|
def inspect
|
@@ -36,31 +36,24 @@ module Jekyll
|
|
36
36
|
#
|
37
37
|
attr_reader :term
|
38
38
|
|
39
|
-
##
|
40
|
-
# The SPARQL::Client which contains the represented +term+
|
41
|
-
#
|
42
|
-
attr_reader :sparql
|
43
|
-
|
44
39
|
##
|
45
40
|
# Create a new Jekyll::Drops::RdfTerm
|
46
41
|
#
|
47
42
|
# * +term+ - The term to be represented
|
48
|
-
# * +sparql+ - The SPARQL::Client which contains the represented +term+
|
49
43
|
#
|
50
|
-
def initialize(term
|
44
|
+
def initialize(term)
|
51
45
|
@term ||= term
|
52
|
-
@sparql ||= sparql
|
53
46
|
end
|
54
47
|
|
55
48
|
##
|
56
|
-
#
|
49
|
+
# Function stub with no functionality. Its purpose is to keep RdfResource compatible.
|
57
50
|
#
|
58
51
|
def add_necessities (site, page)
|
59
52
|
return self
|
60
53
|
end
|
61
54
|
|
62
55
|
##
|
63
|
-
#
|
56
|
+
# Function stub with no functionality. Its purpose is to keep RdfResource compatible.
|
64
57
|
#
|
65
58
|
def ready?
|
66
59
|
return true;
|
@@ -69,7 +62,7 @@ module Jekyll
|
|
69
62
|
##
|
70
63
|
# Convert this RdfTerm into a string
|
71
64
|
# This should be:
|
72
|
-
# - for
|
65
|
+
# - for resources: the IRI
|
73
66
|
# - for literals: the literal representation e.g. "Hallo"@de or "123"^^<http://www.w3.org/2001/XMLSchema#integer>
|
74
67
|
#
|
75
68
|
def to_s
|
@@ -91,15 +84,14 @@ module Jekyll
|
|
91
84
|
# Convert an RDF term into a new Jekyll::Drops::RdfTerm
|
92
85
|
#
|
93
86
|
# * +term+ - The term to be represented
|
94
|
-
# * +sparql+ - The SPARQL::Client which contains the represented +term+
|
95
87
|
# * +site+ - The Jekyll::Site to be enriched
|
96
88
|
#
|
97
|
-
def self.build_term_drop(term,
|
89
|
+
def self.build_term_drop(term, site)
|
98
90
|
case term
|
99
91
|
when RDF::URI, RDF::Node
|
100
|
-
return RdfResource.new(term,
|
92
|
+
return RdfResource.new(term, site)
|
101
93
|
when RDF::Literal
|
102
|
-
return RdfLiteral.new(term,
|
94
|
+
return RdfLiteral.new(term,)
|
103
95
|
else
|
104
96
|
return nil
|
105
97
|
end
|
@@ -27,16 +27,12 @@
|
|
27
27
|
module Jekyll
|
28
28
|
module RdfCollection
|
29
29
|
def rdf_collection(input, predicate = nil)
|
30
|
-
sparql_query = input.sparql
|
31
|
-
unless predicate.nil?
|
32
|
-
predicate = rdf_resolve_prefix(input, predicate)
|
33
|
-
end
|
34
30
|
query = "SELECT ?f WHERE{ #{input.term.to_ntriples} " <<
|
35
|
-
(predicate.nil
|
31
|
+
(predicate.nil? ? "" : " <#{rdf_resolve_prefix(predicate)}> ?coll . ?coll ") <<
|
36
32
|
" <http://www.w3.org/1999/02/22-rdf-syntax-ns#rest>* ?r. ?r <http://www.w3.org/1999/02/22-rdf-syntax-ns#first> ?f}"
|
37
33
|
results = []
|
38
|
-
|
39
|
-
results.push Jekyll::Drops::RdfTerm.build_term_drop(solution.f,
|
34
|
+
Jekyll::RdfHelper::sparql.query(query).each{ |solution|
|
35
|
+
results.push Jekyll::Drops::RdfTerm.build_term_drop(solution.f, Jekyll::RdfHelper::site).add_necessities(Jekyll::RdfHelper::site, Jekyll::RdfHelper::page)
|
40
36
|
}
|
41
37
|
return results
|
42
38
|
end
|
@@ -27,28 +27,29 @@ module Jekyll
|
|
27
27
|
module RdfContainer
|
28
28
|
include Jekyll::RdfPrefixResolver
|
29
29
|
def rdf_container(input, type = nil)
|
30
|
-
sparql_client =
|
31
|
-
|
32
|
-
|
30
|
+
sparql_client = Jekyll::RdfHelper::sparql
|
31
|
+
n_triples = input.term.to_ntriples
|
32
|
+
if(!(valid_container?(n_triples, type)))
|
33
|
+
Jekyll.logger.error "#{n_triples} is not recognized as a container"
|
33
34
|
return []
|
34
35
|
end
|
35
|
-
query = "SELECT ?p ?o WHERE{ #{
|
36
|
+
query = "SELECT ?p ?o WHERE{ #{n_triples} ?p ?o #{query_additions()}"
|
36
37
|
solutions = sparql_client.query(query).each_with_object([]) {|solution, array|
|
37
38
|
if(/^http:\/\/www\.w3\.org\/1999\/02\/22-rdf-syntax-ns#_\d+$/.match(solution.p.to_s))
|
38
|
-
array << Jekyll::Drops::RdfTerm.build_term_drop(solution.o,
|
39
|
+
array << Jekyll::Drops::RdfTerm.build_term_drop(solution.o, Jekyll::RdfHelper::site).add_necessities(Jekyll::RdfHelper::site, Jekyll::RdfHelper::page)
|
39
40
|
end
|
40
41
|
}
|
41
42
|
return solutions
|
42
43
|
end
|
43
44
|
|
44
|
-
def query_additions(
|
45
|
+
def query_additions()
|
45
46
|
return "BIND((<http://www.w3.org/2001/XMLSchema#integer>(SUBSTR(str(?p), 45))) AS ?order) } ORDER BY ASC(?order)"
|
46
47
|
end
|
47
48
|
|
48
|
-
def valid_container?(
|
49
|
-
ask_query1 = "ASK WHERE {VALUES ?o {<http://www.w3.org/2000/01/rdf-schema#Container> <http://www.w3.org/1999/02/22-rdf-syntax-ns#Seq> <http://www.w3.org/1999/02/22-rdf-syntax-ns#Bag> <http://www.w3.org/1999/02/22-rdf-syntax-ns#Alt>} #{
|
50
|
-
ask_query2 = "ASK WHERE {#{
|
51
|
-
return (
|
49
|
+
def valid_container?(n_triples, type = nil)
|
50
|
+
ask_query1 = "ASK WHERE {VALUES ?o {<http://www.w3.org/2000/01/rdf-schema#Container> <http://www.w3.org/1999/02/22-rdf-syntax-ns#Seq> <http://www.w3.org/1999/02/22-rdf-syntax-ns#Bag> <http://www.w3.org/1999/02/22-rdf-syntax-ns#Alt>} #{n_triples} <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> ?o}"
|
51
|
+
ask_query2 = "ASK WHERE {#{ n_triples } <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> ?o. ?o <http://www.w3.org/2000/01/rdf-schema#subClassOf>* <http://www.w3.org/2000/01/rdf-schema#Container>}"
|
52
|
+
return (Jekyll::RdfHelper::sparql.query(ask_query1).true?) || (Jekyll::RdfHelper::sparql.query(ask_query2).true?)
|
52
53
|
end
|
53
54
|
end
|
54
55
|
end
|
@@ -29,32 +29,12 @@ module Jekyll
|
|
29
29
|
# Internal module to hold the medthod #rdf_get
|
30
30
|
#
|
31
31
|
module RdfGet
|
32
|
+
include Jekyll::RdfPrefixResolver
|
32
33
|
def rdf_get(request_uri)
|
33
|
-
request_uri =
|
34
|
+
request_uri = rdf_resolve_prefix(request_uri)
|
34
35
|
ask_exist = "ASK WHERE {{<#{request_uri}> ?p ?o}UNION{?s <#{request_uri}> ?o}UNION{?s ?p <#{request_uri}>}} "
|
35
36
|
return unless (Jekyll::RdfHelper::sparql.query(ask_exist).true?)
|
36
|
-
Jekyll::Drops::RdfResource.new(RDF::URI(request_uri), Jekyll::RdfHelper::
|
37
|
-
end
|
38
|
-
|
39
|
-
#this is only temporary, we will use Jekyll::RdfPrefixResolver -> rdf_resolve_prefix when we fixed it to 3.0.0
|
40
|
-
private
|
41
|
-
def rdf_resolve_prefix_temp(predicate)
|
42
|
-
if(predicate[0] == "<" && predicate[-1] == ">")
|
43
|
-
return predicate[1..-2]
|
44
|
-
end
|
45
|
-
arr=predicate.split(":",2) #bad regex, would also devide 'http://example....' into 'http' and '//example....',even though it is already a complete URI; if 'PREFIX http: <http://...> is defined, 'http' in 'http://example....' could be mistaken for a prefix
|
46
|
-
if((arr[1].include? (":")) || (arr[1][0..1].eql?("//")))
|
47
|
-
raise UnMarkedUri.new(predicate, Jekyll::RdfHelper::page.data['template'])
|
48
|
-
end
|
49
|
-
if(!Jekyll::RdfHelper::page.data["rdf_prefixes"].nil?)
|
50
|
-
if(!Jekyll::RdfHelper::page.data["rdf_prefix_map"][arr[0]].nil?)
|
51
|
-
return arr[1].prepend(Jekyll::RdfHelper::page.data["rdf_prefix_map"][arr[0]])
|
52
|
-
else
|
53
|
-
raise NoPrefixMapped.new(predicate, Jekyll::RdfHelper::page.data['template'], arr[0])
|
54
|
-
end
|
55
|
-
else
|
56
|
-
raise NoPrefixesDefined.new(predicate, Jekyll::RdfHelper::page.data['template'])
|
57
|
-
end
|
37
|
+
Jekyll::Drops::RdfResource.new(RDF::URI(request_uri), Jekyll::RdfHelper::site, Jekyll::RdfHelper::page)
|
58
38
|
end
|
59
39
|
end
|
60
40
|
end
|
@@ -42,15 +42,15 @@ module Jekyll
|
|
42
42
|
return map_predicate(input, predicate, lang, list)
|
43
43
|
end
|
44
44
|
|
45
|
-
def rdf_inverse_property(input, predicate,
|
46
|
-
return map_predicate(input, predicate,
|
45
|
+
def rdf_inverse_property(input, predicate, list = false)
|
46
|
+
return map_predicate(input, predicate, nil, list, true)
|
47
47
|
end
|
48
48
|
|
49
49
|
private
|
50
50
|
def map_predicate(input, predicate, lang = nil, list = false, inverse = false)
|
51
51
|
return input unless input.is_a?(Jekyll::Drops::RdfResource)
|
52
|
-
predicate = rdf_resolve_prefix(
|
53
|
-
result = filter_statements(input, predicate, inverse, lang)
|
52
|
+
predicate = rdf_resolve_prefix(predicate)
|
53
|
+
result = filter_statements(input.term.to_ntriples, predicate, inverse, lang)
|
54
54
|
return unless !result.empty?
|
55
55
|
if(list)
|
56
56
|
return result
|
@@ -59,34 +59,27 @@ module Jekyll
|
|
59
59
|
end
|
60
60
|
end
|
61
61
|
|
62
|
-
|
63
|
-
|
64
|
-
client = input.sparql
|
62
|
+
def filter_statements(n_triples, predicate, inverse = false, lang = nil)
|
63
|
+
client = Jekyll::RdfHelper::sparql
|
65
64
|
query = ""
|
66
65
|
if (lang.eql? 'cfg')
|
67
|
-
lang_query = "FILTER(lang(?o) = '#{
|
66
|
+
lang_query = "FILTER(lang(?o) = '#{Jekyll::RdfHelper::site.config['jekyll_rdf']['language']}')"
|
68
67
|
elsif lang.nil?
|
69
68
|
lang_query = ""
|
70
69
|
else
|
71
70
|
lang_query = "FILTER(lang(?o) = '#{lang}')"
|
72
71
|
end
|
73
72
|
|
74
|
-
if(!input.to_s[0..1].eql? "_:")
|
75
|
-
input_uri = "<#{input.to_s}>"
|
76
|
-
else
|
77
|
-
input_uri = input.to_s
|
78
|
-
end
|
79
|
-
|
80
73
|
if(inverse)
|
81
|
-
query = "SELECT ?s WHERE{ ?s <#{predicate}> #{
|
74
|
+
query = "SELECT ?s WHERE{ ?s <#{predicate}> #{n_triples} }"
|
82
75
|
result = client.query(query).map do |solution|
|
83
76
|
subject = RDF::URI(solution.s)
|
84
|
-
Jekyll::Drops::RdfResource.new(subject,
|
77
|
+
Jekyll::Drops::RdfResource.new(subject, Jekyll::RdfHelper::site, Jekyll::RdfHelper::page)
|
85
78
|
end
|
86
79
|
else
|
87
|
-
query = "SELECT ?o ?dt ?lit ?lang WHERE{ #{
|
80
|
+
query = "SELECT ?o ?dt ?lit ?lang WHERE{ #{n_triples} <#{predicate}> ?o BIND(datatype(?o) AS ?dt) BIND(isLiteral(?o) AS ?lit) BIND(lang(?o) AS ?lang) #{lang_query} }"
|
88
81
|
result = client.query(query).map do |solution|
|
89
|
-
dist_literal_resource(
|
82
|
+
dist_literal_resource(solution)
|
90
83
|
end
|
91
84
|
end
|
92
85
|
return result
|
@@ -95,15 +88,14 @@ module Jekyll
|
|
95
88
|
##
|
96
89
|
# Distinguishes the solution between an Literal and a Resource
|
97
90
|
#
|
98
|
-
|
99
|
-
def dist_literal_resource(input, solution)
|
91
|
+
def dist_literal_resource(solution)
|
100
92
|
if solution.lit.true?
|
101
93
|
check = check_solution(solution)
|
102
94
|
object = RDF::Literal(solution.o, language: check[:lang], datatype: RDF::URI(check[:dataType]))
|
103
|
-
result = Jekyll::Drops::RdfLiteral.new(object
|
95
|
+
result = Jekyll::Drops::RdfLiteral.new(object)
|
104
96
|
else
|
105
97
|
object = RDF::URI(solution.o)
|
106
|
-
result = Jekyll::Drops::RdfResource.new(object,
|
98
|
+
result = Jekyll::Drops::RdfResource.new(object, Jekyll::RdfHelper::site, Jekyll::RdfHelper::page)
|
107
99
|
end
|
108
100
|
return result
|
109
101
|
end
|
@@ -111,16 +103,15 @@ module Jekyll
|
|
111
103
|
##
|
112
104
|
# check what language and datatype the passed literal has
|
113
105
|
#
|
114
|
-
private
|
115
106
|
def check_solution(solution)
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
107
|
+
result = {:lang => nil, :dataType => nil}
|
108
|
+
if((solution.bound?(:lang)) && (!solution.lang.to_s.eql?("")))
|
109
|
+
result[:lang] = solution.lang.to_s.to_sym
|
110
|
+
end
|
111
|
+
if(solution.bound? :dt)
|
112
|
+
result[:dataType] = solution.dt
|
113
|
+
end
|
114
|
+
return result
|
124
115
|
end
|
125
116
|
end
|
126
117
|
end
|
@@ -26,22 +26,22 @@
|
|
26
26
|
module Jekyll
|
27
27
|
module RdfPrefixResolver
|
28
28
|
private
|
29
|
-
def rdf_resolve_prefix(
|
29
|
+
def rdf_resolve_prefix(predicate)
|
30
30
|
if(predicate[0] == "<" && predicate[-1] == ">")
|
31
31
|
return predicate[1..-2]
|
32
32
|
end
|
33
33
|
arr=predicate.split(":",2) #bad regex, would also devide 'http://example....' into 'http' and '//example....',even though it is already a complete URI; if 'PREFIX http: <http://...> is defined, 'http' in 'http://example....' could be mistaken for a prefix
|
34
34
|
if((arr[1].include? (":")) || (arr[1][0..1].eql?("//")))
|
35
|
-
raise UnMarkedUri.new(predicate,
|
35
|
+
raise UnMarkedUri.new(predicate, Jekyll::RdfHelper::page.data['template'])
|
36
36
|
end
|
37
|
-
if(!
|
38
|
-
if(!
|
39
|
-
return arr[1].prepend(
|
37
|
+
if(!Jekyll::RdfHelper::page.data["rdf_prefixes"].nil?)
|
38
|
+
if(!Jekyll::RdfHelper::page.data["rdf_prefix_map"][arr[0]].nil?)
|
39
|
+
return arr[1].prepend(Jekyll::RdfHelper::page.data["rdf_prefix_map"][arr[0]])
|
40
40
|
else
|
41
|
-
raise NoPrefixMapped.new(predicate,
|
41
|
+
raise NoPrefixMapped.new(predicate, Jekyll::RdfHelper::page.data['template'], arr[0])
|
42
42
|
end
|
43
43
|
else
|
44
|
-
raise NoPrefixesDefined.new(predicate,
|
44
|
+
raise NoPrefixesDefined.new(predicate, Jekyll::RdfHelper::page.data['template'])
|
45
45
|
end
|
46
46
|
end
|
47
47
|
end
|
@@ -37,16 +37,15 @@ module Jekyll
|
|
37
37
|
# * +input+ - the context RDF resource
|
38
38
|
# * +query+ - the SPARQL query
|
39
39
|
#
|
40
|
-
def sparql_query(
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
query = query.prepend(" ").prepend(input.page.data["rdf_prefixes"])
|
40
|
+
def sparql_query(query)
|
41
|
+
query.gsub!('?resourceUri', "<#{Jekyll::RdfHelper::page.data['rdf'].term}>") #maybe use this part as optional parameter
|
42
|
+
if(!Jekyll::RdfHelper::page.data["rdf_prefixes"].nil?)
|
43
|
+
query = query.prepend(" ").prepend(Jekyll::RdfHelper::page.data["rdf_prefixes"])
|
45
44
|
end
|
46
45
|
begin
|
47
|
-
result =
|
46
|
+
result = Jekyll::RdfHelper::sparql.query(query).map do |solution|
|
48
47
|
hsh = solution.to_h
|
49
|
-
hsh.update(hsh){ |k,v| Jekyll::Drops::RdfTerm.build_term_drop(v,
|
48
|
+
hsh.update(hsh){ |k,v| Jekyll::Drops::RdfTerm.build_term_drop(v, Jekyll::RdfHelper::site).add_necessities(Jekyll::RdfHelper::site, Jekyll::RdfHelper::page)}
|
50
49
|
hsh.collect{|k,v| [k.to_s, v]}.to_h
|
51
50
|
end
|
52
51
|
return result
|
@@ -21,11 +21,11 @@ module Jekyll
|
|
21
21
|
}
|
22
22
|
end
|
23
23
|
|
24
|
-
def parse_resources (resources
|
24
|
+
def parse_resources (resources)
|
25
25
|
@pageResources={};
|
26
26
|
@blanknodes=[]
|
27
27
|
resources.each do |uri|
|
28
|
-
resource = Jekyll::Drops::RdfResource.new(uri
|
28
|
+
resource = Jekyll::Drops::RdfResource.new(uri)
|
29
29
|
if(uri.instance_of? RDF::URI)
|
30
30
|
uriString = uri.to_s
|
31
31
|
if((uriString.include? "#") && (uriString.index("#") < (uriString.length - 1))) #sorting in uris with a #
|
@@ -60,7 +60,7 @@ module Jekyll
|
|
60
60
|
site.data['sparql'] = sparql
|
61
61
|
site.data['resources'] = []
|
62
62
|
|
63
|
-
parse_resources(resources
|
63
|
+
parse_resources(resources)
|
64
64
|
|
65
65
|
mapper = Jekyll::RdfTemplateMapper.new(@config['instance_template_mappings'], @config['class_template_mappings'], @config['default_template'], sparql)
|
66
66
|
|