lib/rdf/reasoner/rdfs.rb in rdf-reasoner-0.3.0 vs lib/rdf/reasoner/rdfs.rb in rdf-reasoner-0.4.0.beta1
- old
+ new
@@ -56,11 +56,11 @@
when RDF::Statement
statements = []
if self.predicate == RDF.type
if term = (RDF::Vocabulary.find_term(self.object) rescue nil)
term._entail_subClassOf do |t|
- statements << RDF::Statement.new(self.to_hash.merge(object: t))
+ statements << RDF::Statement(self.to_hash.merge(object: t))
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?
@@ -125,11 +125,11 @@
terms
when RDF::Statement
statements = []
if term = (RDF::Vocabulary.find_term(self.predicate) rescue nil)
term._entail_subPropertyOf do |t|
- statements << RDF::Statement.new(self.to_hash.merge(predicate: t))
+ statements << RDF::Statement(self.to_hash.merge(predicate: t))
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
@@ -144,11 +144,11 @@
case self
when RDF::Statement
statements = []
if term = (RDF::Vocabulary.find_term(self.predicate) rescue nil)
term.domain.each do |t|
- statements << RDF::Statement.new(self.to_hash.merge(predicate: RDF.type, object: t))
+ statements << RDF::Statement(self.to_hash.merge(predicate: RDF.type, object: t))
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
@@ -163,11 +163,11 @@
case self
when RDF::Statement
statements = []
if object.resource? && term = (RDF::Vocabulary.find_term(self.predicate) rescue nil)
term.range.each do |t|
- statements << RDF::Statement.new(self.to_hash.merge(subject: self.object, predicate: RDF.type, object: t))
+ statements << RDF::Statement(self.to_hash.merge(subject: self.object, predicate: RDF.type, object: t))
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
@@ -225,43 +225,43 @@
true # Don't bother checking for validity
elsif range.start_with?(RDF::XSD)
# XSD types are valid if the datatype matches, or they are plain and valid according to the grammar of the range
resource.datatype == range ||
resource.plain? && RDF::Literal.new(resource.value, datatype: range).valid?
- elsif range.start_with?(RDF::OGC)
+ elsif range.start_with?(RDF::Vocab::OGC)
case range
- when RDF::OGC.boolean_str
- [RDF::OGC.boolean_str, RDF::XSD.boolean].include?(resource.datatype) ||
+ when RDF::Vocab::OGC.boolean_str
+ [RDF::Vocab::OGC.boolean_str, RDF::XSD.boolean].include?(resource.datatype) ||
resource.plain? && RDF::Literal::Boolean.new(resource.value).valid?
- when RDF::OGC.date_time_str
+ when RDF::Vocab::OGC.date_time_str
# Schema.org date based on ISO 8601, mapped to appropriate XSD types for validation
case resource
when RDF::Literal::Date, RDF::Literal::Time, RDF::Literal::DateTime, RDF::Literal::Duration
resource.valid?
else
ISO_8601.match(resource.value)
end
- when RDF::OGC.determiner_str
+ when RDF::Vocab::OGC.determiner_str
# The lexical space: "", "the", "a", "an", and "auto".
resource.plain? && (%w(the a an auto) + [""]).include?(resource.value)
- when RDF::OGC.float_str
+ when RDF::Vocab::OGC.float_str
# A string representation of a 64-bit signed floating point number. Example lexical values include "1.234", "-1.234", "1.2e3", "-1.2e3", and "7E-10".
- [RDF::OGC.float_str, RDF::Literal::Double, RDF::Literal::Float].include?(resource.datatype) ||
+ [RDF::Vocab::OGC.float_str, RDF::Literal::Double, RDF::Literal::Float].include?(resource.datatype) ||
resource.plain? && RDF::Literal::Double.new(resource.value).valid?
- when RDF::OGC.integer_str
+ when RDF::Vocab::OGC.integer_str
resource.is_a?(RDF::Literal::Integer) ||
- [RDF::OGC.integer_str].include?(resource.datatype) ||
+ [RDF::Vocab::OGC.integer_str].include?(resource.datatype) ||
resource.plain? && RDF::Literal::Integer.new(resource.value).valid?
- when RDF::OGC.mime_type_str
+ when RDF::Vocab::OGC.mime_type_str
# Valid mime type strings \(e.g., "application/mp3"\).
- [RDF::OGC.mime_type_str].include?(resource.datatype) ||
+ [RDF::Vocab::OGC.mime_type_str].include?(resource.datatype) ||
resource.plain? && resource.value =~ %r(^[\w\-\+]+/[\w\-\+]+$)
- when RDF::OGC.string
+ when RDF::Vocab::OGC.string
resource.plain?
- when RDF::OGC.url
+ when RDF::Vocab::OGC.url
# A string of Unicode characters forming a valid URL having the http or https scheme.
u = RDF::URI(resource.value)
- resource.datatype == RDF::OGC.url ||
+ resource.datatype == RDF::Vocab::OGC.url ||
resource.datatype == RDF::XSD.anyURI ||
resource.simple? && u.valid? && u.scheme.to_s =~ /^https?$/
else
# Unknown datatype
false
\ No newline at end of file