Class Situation
In: app/models/situation.rb
Parent: ActiveRecord::Base

Methods

contact_list   iri   to_OWL   type_list  

Public Instance methods

[Source]

    # File app/models/situation.rb, line 50
50:   def contact_list
51:     self.contacts.map {|c| c.name}.uniq.join(',')
52:   end

[Source]

    # File app/models/situation.rb, line 12
12:   def iri
13: 
14:     "situation:s#{self.id}"
15:   end

[Source]

    # File app/models/situation.rb, line 16
16:   def to_OWL(xml)
17:     # define some identifiers for individuals
18:     me_iri = "agent:me""agent:me"
19:     # define some identifiers for roles
20:     company_iri = "situation:company""situation:company"    
21:     location_iri = "space:location""space:location"
22:     time_iri = "time:time""time:time"
23:     
24:     xml.comment! "Define situation #{self.name} individual"
25:     Owllink.add_class_assertion(xml,"situation:Situation",self.iri)
26:     xml.comment! "Define me"        
27:     Owllink.add_class_assertion(xml,"agent:Myself",me_iri)
28:     for contact in self.contacts
29:       xml.comment! "Define nearby person #{contact.name}"
30:       Owllink.add_class_assertion(xml,"agent:Anybody_else",contact.iri)
31:       xml.comment! "Define relation #{contact.relation.iri} between me and #{contact.name}"
32:       Owllink.add_objectproperty_assertion(xml,contact.relation.iri,me_iri,contact.iri)
33:       xml.comment! "Fill #{self.name} company role with #{contact.name}"
34:       Owllink.add_objectproperty_assertion(xml,company_iri,self.iri,contact.iri)
35:     end
36:     if self.contacts && self.contacts.length > 0
37:       xml.comment! "Close company role"
38:       Owllink.close_role(xml,self.iri,company_iri,self.contacts.length)
39:     end
40:     xml.comment! "Define place individual #{self.place.name}"    
41:     Owllink.add_class_assertion(xml,place.place_concept.iri,place.iri)
42:     xml.comment! "Fill #{self.name} location role with #{self.place.name}"
43:     Owllink.add_objectproperty_assertion(xml,location_iri,self.iri,place.iri)
44:     xml.comment! "Define daytime individual #{self.daytime.name}"
45:     Owllink.add_class_assertion(xml,daytime.daytime_concept.iri,daytime.iri)
46:     xml.comment! "Fill #{self.name} time role with #{self.daytime.name}"
47:     Owllink.add_objectproperty_assertion(xml,time_iri,self.iri,daytime.iri)
48:   end

[Source]

    # File app/models/situation.rb, line 54
54:   def type_list
55:     (self.types && !self.types.empty? ? self.types.map {|t| t.split(':')[1].sub("_"," ").titleize}.uniq.join(',') : '-')
56:   end

[Validate]