Module: RoadForest::AffordanceClient
- Included in:
- TypeHandlers::RDFaWriter::AffordanceDecorator, TypeHandlers::RDFaWriter::AffordanceDecorator
- Defined in:
- lib/roadforest/type-handlers/rdfa-writer/environment-decorator.rb
Constant Summary collapse
Instance Method Summary collapse
- #affordance_node?(node, graph) ⇒ Boolean
- #affordance_present(aff) ⇒ Object
- #affordance_type_in_graph?(node, type, graph) ⇒ Boolean
- #affordances_in_graph?(graph) ⇒ Boolean
- #all_affordances ⇒ Object
- #has_affordance(node, type) ⇒ Object
- #parameterized_navigation_affordance_in_graph?(node, graph) ⇒ Boolean
- #payload_has_param(node) ⇒ Object
- #query_matches(query, graph) ⇒ Object
Instance Method Details
#affordance_node?(node, graph) ⇒ Boolean
59 60 61 62 63 64 65 66 |
# File 'lib/roadforest/type-handlers/rdfa-writer/environment-decorator.rb', line 59 def affordance_node?(node, graph) query = ::RDF::Query.new do pattern [node, ::RDF.type, :type] end !!( query.execute(graph).find do |solution| all_affordances.include?(solution[:type]) end) end |
#affordance_present(aff) ⇒ Object
25 26 27 28 29 |
# File 'lib/roadforest/type-handlers/rdfa-writer/environment-decorator.rb', line 25 def affordance_present(aff) ::RDF::Query.new do pattern [:any, ::RDF.type, aff ] end end |
#affordance_type_in_graph?(node, type, graph) ⇒ Boolean
68 69 70 71 72 73 74 75 76 |
# File 'lib/roadforest/type-handlers/rdfa-writer/environment-decorator.rb', line 68 def affordance_type_in_graph?(node, type, graph) #puts "\n#{__FILE__}:#{__LINE__} => \n#{graph.dump(:nquads)}" query_matches(has_affordance(node, type).tap{|value| #puts "#{__FILE__}:#{__LINE__} => #{[value.patterns, #value.execute(graph)].inspect}" }, graph).tap{|value| #puts "#{__FILE__}:#{__LINE__} => #{value.inspect}" } end |
#affordances_in_graph?(graph) ⇒ Boolean
52 53 54 55 56 57 |
# File 'lib/roadforest/type-handlers/rdfa-writer/environment-decorator.rb', line 52 def affordances_in_graph?(graph) all_affordances.each do |aff| return true if query_matches(affordance_present(aff), graph) end return false end |
#all_affordances ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/roadforest/type-handlers/rdfa-writer/environment-decorator.rb', line 7 def all_affordances @all_affordances ||= [ Af.Affordance, Af.Null, Af.Safe, Af.Idempotent, Af.Unsafe, Af.Navigate, Af.Embed, Af.Metadata, Af.Update, Af.Remove, Af.Create, Af.Mutate, ] end |
#has_affordance(node, type) ⇒ Object
31 32 33 34 35 36 37 38 39 |
# File 'lib/roadforest/type-handlers/rdfa-writer/environment-decorator.rb', line 31 def has_affordance(node, type) if type.is_a? Symbol type = Af[type] end ::RDF::Query.new do pattern([:node, ::RDF.type, type, nil]) pattern([:node, Af.target, node, nil]) end end |
#parameterized_navigation_affordance_in_graph?(node, graph) ⇒ Boolean
78 79 80 81 |
# File 'lib/roadforest/type-handlers/rdfa-writer/environment-decorator.rb', line 78 def (node, graph) return false #to be implemented query_matches(has_affordance(node, :Navigate) + payload_has_param(node), graph) end |
#payload_has_param(node) ⇒ Object
41 42 43 44 45 46 |
# File 'lib/roadforest/type-handlers/rdfa-writer/environment-decorator.rb', line 41 def payload_has_param(node) ::RDF::Query.new do pattern([:node, Af.payload, :context, nil]) pattern([ :param, ::RDF.type, Af.Parameter, :context ]) end end |
#query_matches(query, graph) ⇒ Object
48 49 50 |
# File 'lib/roadforest/type-handlers/rdfa-writer/environment-decorator.rb', line 48 def query_matches(query, graph) return (not graph.first(query).nil?) end |