Class: ActiveSesame::RDFClass
- Inherits:
-
Object
- Object
- ActiveSesame::RDFClass
- Defined in:
- lib/active_sesame/rdf_class.rb
Overview
The represenation and means of exploring RDF Classes
Instance Attribute Summary collapse
-
#name ⇒ Object
readonly
Returns the value of attribute name.
-
#properties ⇒ Object
readonly
Returns the value of attribute properties.
-
#subclasses ⇒ Object
readonly
Returns the value of attribute subclasses.
-
#superclass ⇒ Object
readonly
Returns the value of attribute superclass.
Class Method Summary collapse
Instance Method Summary collapse
- #add_triple(*args) ⇒ Object
- #find_properties ⇒ Object
- #find_subclasses ⇒ Object
- #find_superclass ⇒ Object
-
#initialize(name) ⇒ RDFClass
constructor
A new instance of RDFClass.
Constructor Details
#initialize(name) ⇒ RDFClass
Returns a new instance of RDFClass.
18 19 20 21 22 23 |
# File 'lib/active_sesame/rdf_class.rb', line 18 def initialize(name) self.name = name self.properties = find_properties self.sublcasses = find_subclasses self.superclass = find_superclass end |
Instance Attribute Details
#name ⇒ Object (readonly)
Returns the value of attribute name.
7 8 9 |
# File 'lib/active_sesame/rdf_class.rb', line 7 def name @name end |
#properties ⇒ Object (readonly)
Returns the value of attribute properties.
7 8 9 |
# File 'lib/active_sesame/rdf_class.rb', line 7 def properties @properties end |
#subclasses ⇒ Object (readonly)
Returns the value of attribute subclasses.
7 8 9 |
# File 'lib/active_sesame/rdf_class.rb', line 7 def subclasses @subclasses end |
#superclass ⇒ Object (readonly)
Returns the value of attribute superclass.
7 8 9 |
# File 'lib/active_sesame/rdf_class.rb', line 7 def superclass @superclass end |
Class Method Details
.class_types ⇒ Object
14 15 16 |
# File 'lib/active_sesame/rdf_class.rb', line 14 def self.class_types ["rdf:Class", "owl:Class", "owl:Thing"] end |
.find(klass, options = {}) ⇒ Object
9 10 11 12 |
# File 'lib/active_sesame/rdf_class.rb', line 9 def self.find(klass, ={}) @@connection ||= Repository.new class_types.inject([]) {|memo, type| ResultParser.singular_values(@@connection.find_by_sparql("SELECT ?klass WHERE { ?klass rdf:type #{type} }")) } end |
Instance Method Details
#add_triple(*args) ⇒ Object
37 38 39 40 41 42 43 |
# File 'lib/active_sesame/rdf_class.rb', line 37 def add_triple(*args) if args.size == 3 Repository.save_triple(args[0], args[1], args[3]) elsif args.size == 1 and (args[0].class == Triple or args[0].class == Hash) Repository.save_triple(args[0][:subject], args[0][:predicate], args[0][:object]) end end |
#find_properties ⇒ Object
25 26 27 |
# File 'lib/active_sesame/rdf_class.rb', line 25 def find_properties ResultParser.singular_values(@@connection.find_by_sparql("SELECT ?property WHERE { #{self.name} rdf:property ?property }")) end |
#find_subclasses ⇒ Object
29 30 31 |
# File 'lib/active_sesame/rdf_class.rb', line 29 def find_subclasses ResultParser.singular_values(@@connection.find_by_sparql("SELECT ?subClasses WHERE { #{self.name} rdf:subClassOf ?subClasses }")) end |
#find_superclass ⇒ Object
33 34 35 |
# File 'lib/active_sesame/rdf_class.rb', line 33 def find_superclass ResultParser.singular_values(@@connection.find_by_sparql("SELECT ?super WHERE { ?super rdfs:subClassOf #{self.name} }")) end |