lib/rdf/reasoner/rdfs.rb in rdf-reasoner-0.5.3 vs lib/rdf/reasoner/rdfs.rb in rdf-reasoner-0.6.0
- old
+ new
@@ -72,11 +72,11 @@
statements = []
if self.predicate == RDF.type
if term = (RDF::Vocabulary.find_term(self.object) rescue nil)
term._entail_subClassOf do |t|
next if t.node? # Don't entail BNodes
- statements << RDF::Statement(self.to_h.merge(object: t, inferred: true))
+ statements << RDF::Statement(**self.to_h.merge(object: t, inferred: true))
end
end
#$stderr.puts("subClassf(#{self.predicate.pname}): #{statements.map(&:object).map {|r| r.respond_to?(:pname) ? r.pname : r.to_ntriples}}}")
end
statements.each {|s| yield s} if block_given?
@@ -141,11 +141,11 @@
terms
when RDF::Statement
statements = []
if term = (RDF::Vocabulary.find_term(self.predicate) rescue nil)
term._entail_subPropertyOf do |t|
- statements << RDF::Statement(self.to_h.merge(predicate: t, inferred: true))
+ statements << RDF::Statement(**self.to_h.merge(predicate: t, inferred: true))
end
#$stderr.puts("subPropertyOf(#{self.predicate.pname}): #{statements.map(&:object).map {|r| r.respond_to?(:pname) ? r.pname : r.to_ntriples}}}")
end
statements.each {|s| yield s} if block_given?
statements
@@ -206,11 +206,11 @@
when RDF::Statement
statements = []
if term = (RDF::Vocabulary.find_term(self.predicate) rescue nil)
term.domain.each do |t|
next if t.node? # Don't entail BNodes
- statements << RDF::Statement(self.to_h.merge(predicate: RDF.type, object: t, inferred: true))
+ statements << RDF::Statement(**self.to_h.merge(predicate: RDF.type, object: t, inferred: true))
end
end
#$stderr.puts("domain(#{self.predicate.pname}): #{statements.map(&:object).map {|r| r.respond_to?(:pname) ? r.pname : r.to_ntriples}}}")
statements.each {|s| yield s} if block_given?
statements
@@ -227,11 +227,11 @@
when RDF::Statement
statements = []
if object.resource? && term = (RDF::Vocabulary.find_term(self.predicate) rescue nil)
term.range.each do |t|
next if t.node? # Don't entail BNodes
- statements << RDF::Statement(self.to_h.merge(subject: self.object, predicate: RDF.type, object: t, inferred: true))
+ statements << RDF::Statement(**self.to_h.merge(subject: self.object, predicate: RDF.type, object: t, inferred: true))
end
end
#$stderr.puts("range(#{self.predicate.pname}): #{statements.map(&:object).map {|r| r.respond_to?(:pname) ? r.pname : r.to_ntriples}}")
statements.each {|s| yield s} if block_given?
statements
@@ -247,17 +247,17 @@
# @param [RDF::Resource] resource
# @param [RDF::Queryable] queryable
# @param [Hash{Symbol => Object}] options ({})
# @option options [Array<RDF::Vocabulary::Term>] :types
# Fully entailed types of resource, if not provided, they are queried
- def domain_compatible_rdfs?(resource, queryable, options = {})
+ def domain_compatible_rdfs?(resource, queryable, **options)
raise RDF::Reasoner::Error, "#{self} can't get domains" unless property?
domains = Array(self.domain).reject(&:node?) - [RDF::OWL.Thing, RDF::RDFS.Resource]
# Fully entailed types of the resource
types = options.fetch(:types) do
- queryable.query(subject: resource, predicate: RDF.type).
+ queryable.query({subject: resource, predicate: RDF.type}).
map {|s| (t = (RDF::Vocabulary.find_term(s.object)) rescue nil) && t.entail(:subClassOf)}.
flatten.
uniq.
compact
end unless domains.empty?
@@ -274,11 +274,11 @@
# @param [RDF::Resource] resource
# @param [RDF::Queryable] queryable
# @param [Hash{Symbol => Object}] options ({})
# @option options [Array<RDF::Vocabulary::Term>] :types
# Fully entailed types of resource, if not provided, they are queried
- def range_compatible_rdfs?(resource, queryable, options = {})
+ def range_compatible_rdfs?(resource, queryable, **options)
raise RDF::Reasoner::Error, "#{self} can't get ranges" unless property?
if !(ranges = Array(self.range).reject(&:node?) - [RDF::OWL.Thing, RDF::RDFS.Resource]).empty?
if resource.literal?
ranges.all? do |range|
if [RDF::RDFS.Literal, RDF.XMLLiteral, RDF.HTML].include?(range)
@@ -335,10 +335,10 @@
end
end
else
# Fully entailed types of the resource
types = options.fetch(:types) do
- queryable.query(subject: resource, predicate: RDF.type).
+ queryable.query({subject: resource, predicate: RDF.type}).
map {|s| (t = (RDF::Vocabulary.find_term(s.object) rescue nil)) && t.entail(:subClassOf)}.
flatten.
uniq.
compact
end