EmbodimentLanguageComprehension Frames2Atoms

From OpenCog

Obsolete Documentation. The frame elements no longer exist in RelEx. They were removed because they never worked very well. This page should probably be blanked and removed, but is kept here for a little while because maybe it contains a useful idea. Feel free to kill this page.

This page collects a number of Framenet-net style Atom constructs corresponding to perceptions that the OpenPetBrain receives from the virtual world it interacts with.

Common definitions

In this subsection you will find a list of Frames and its respective hierarchy, represented in Atoms. These forms will be used to compose each embodiment perception in Frames format.

#Relation

// #Relation:Entity1
FrameElementLink
   DefinedFrameNode "#Relation"
   DefinedFrameElementNode "#Relation:Entity1"

// #Relation:Entity2
FrameElementLink
   DefinedFrameNode "#Relation"
   DefinedFrameElementNode "#Relation:Entity2"

// #Relation:Relation_type
FrameElementLink
   DefinedFrameNode "#Relation"
   DefinedFrameElementNode "#Relation:Relation_type"

#Trajector-Landmark

// #Relation <- #Trajector-Landmark
InheritanceLink
   DefinedFrameNode "#Trajector-Landmark"
   DefinedFrameNode "#Relation"

// #Trajector-Landmark:Landmark
FrameElementLink
   DefinedFrameNode "#Trajector-Landmark"
   DefinedFrameElementNode "#Trajector-Landmark:Landmark"

// #Trajector-Landmark:Profiled_region
FrameElementLink
   DefinedFrameNode "#Trajector-Landmark"
   DefinedFrameElementNode "#Trajector-Landmark:Profiled_region"

// #Trajector-Landmark:Trajector 
FrameElementLink
   DefinedFrameNode "#Trajector-Landmark"
   DefinedFrameElementNode "#Trajector-Landmark:Trajector"

#Locative_relation

// #Trajector-Landmark <- #Locative_relation
InheritanceLink
   DefinedFrameNode "#Locative_relation"
   DefinedFrameNode "#Trajector-Landmark"

// #State <- #Locative_relation
InheritanceLink
   DefinedFrameNode "#Locative_relation"
   DefinedFrameNode "#State"

// #Trajector-Landmark <- #Locative_relation
InheritanceLink
   DefinedFrameNode "#Locative_relation"
   DefinedFrameNode "#Trajector-Landmark"


// #Locative_relation:Figure
FrameElementLink
   DefinedFrameNode "#Locative_relation"
   DefinedFrameElementNode "#Locative_relation:Figure"

// #Locative_relation:Ground
FrameElementLink
   DefinedFrameNode "#Locative_relation"
   DefinedFrameElementNode "#Locative_relation:Ground"

// an adaptation of the original frame to handle two grounds (between)
// #Locative_relation:Ground_2
FrameElementLink
   DefinedFrameNode "#Locative_relation"
   DefinedFrameElementNode "#Locative_relation:Ground_2"

#Moving_in_place

// #Moving_in_place:Theme
FrameElementLink
   DefinedFrameNode "#Moving_in_place"
   DefinedFrameElementNode "#Moving_in_place:Theme"

// #Moving_in_place:Direction
FrameElementLink
   DefinedFrameNode "#Moving_in_place"
   DefinedFrameElementNode "#Moving_in_place:Direction"

// #Moving_in_place:Angle
FrameElementLink
   DefinedFrameNode "#Moving_in_place"
   DefinedFrameElementNode "#Moving_in_place:Angle"

// #Moving_in_place:Fixed_location
FrameElementLink
   DefinedFrameNode "#Moving_in_place"
   DefinedFrameElementNode "#Moving_in_place:Fixed_location"

#Substance

// #Physical_entity <- #Substance
InheritanceLink
   DefinedFrameNode "#Substance"
   DefinedFrameNode "#Physical_entity"

#Transitive_action

// #Event <- #Transitive_action
InheritanceLink
   DefinedFrameNode "#Transitive_action"
   DefinedFrameNode "#Event"

// #Objective_influence <- #Transitive_action
InheritanceLink
   DefinedFrameNode "#Transitive_action"
   DefinedFrameNode "#Objective_influence"

#Intentionally_act

// #Event <- #Intentionally_act
InheritanceLink
   DefinedFrameNode "#Intentionally_act"
   DefinedFrameNode "#Event"

// #Transitive_action <- #Intentionally_act
InheritanceLink
   DefinedFrameNode "#Intentionally_act"
   DefinedFrameNode "#Transitive_action"

#Intentionally_affect

// #Intentionally_act <- #Intentionally_affect
InheritanceLink
   DefinedFrameNode "#Intentionally_affect"
   DefinedFrameNode "#Intentionally_act"

#Ingestion

// #Ingest_substance <- #Ingestion
InheritanceLink
   DefinedFrameNode "#Ingestion"
   DefinedFrameNode "#Ingest_substance"

// #Manipulation <- #Ingestion
InheritanceLink
   DefinedFrameNode "#Ingestion"
   DefinedFrameNode "#Manipulation"

// #Ingestion:Ingestible
FrameElementLink
   DefinedFrameNode "#Ingestion"
   DefinedFrameElementNode "#Ingestion:Ingestible"

#Food

// #Physical_entity <- #Food
InheritanceLink
   DefinedFrameNode "#Food"
   DefinedFrameNode "#Physical_entity"

#Motion

// #Motion:Theme
FrameElementLink
   DefinedFrameNode "#Motion"
   DefinedFrameElementNode "#Motion:Theme"

// #Motion:Direction
FrameElementLink
   DefinedFrameNode "#Motion"
   DefinedFrameElementNode "#Motion:Direction"

#Dimension

// #Dimension:Dimension
FrameElementLink
   DefinedFrameNode "#Dimension"
   DefinedFrameElementNode "#Dimension:Dimension"

// #Dimension:Object 
FrameElementLink
   DefinedFrameNode "#Dimension"
   DefinedFrameElementNode "#Dimension:Object"

// #Dimension:Measurement 
FrameElementLink
   DefinedFrameNode "#Dimension"
   DefinedFrameElementNode "#Dimension:Measurement "

#Gradable_attributes

// #Gradable_attributes:Attribute
FrameElementLink
   DefinedFrameNode "#Gradable_attributes"
   DefinedFrameElementNode "#Gradable_attributes:Attribute"

// #Gradable_attributes:Degree
FrameElementLink
   DefinedFrameNode "#Gradable_attributes"
   DefinedFrameElementNode "#Gradable_attributes:Degree"

// #Gradable_attributes:Value
FrameElementLink
   DefinedFrameNode "#Gradable_attributes"
   DefinedFrameElementNode "#Gradable_attributes:Value"


#Position_on_a_scale

// #Gradable_attributes <- #Position_on_a_scale
InheritanceLink
   DefinedFrameNode "#Position_on_a_scale"
   DefinedFrameNode "#Gradable_attributes"

// #Position_on_a_scale:Value
FrameElementLink
   DefinedFrameNode "#Position_on_a_scale"
   DefinedFrameElementNode "#Position_on_a_scale:Value"

#Evaluative_comparison

// #Position_on_a_scale <- #Evaluative_comparison
InheritanceLink
   DefinedFrameNode "#Evaluative_comparison"
   DefinedFrameNode "#Position_on_a_scale"


// #Evaluative_comparison:Attribute 
FrameElementLink
   DefinedFrameNode "#Evaluative_comparison"
   DefinedFrameElementNode "#Evaluative_comparison:Attribute "

// #Evaluative_comparison:Profiled_attribute
FrameElementLink
   DefinedFrameNode "#Evaluative_comparison"
   DefinedFrameElementNode "#Evaluative_comparison:Profiled_attribute"

// #Evaluative_comparison:Profiled_item
FrameElementLink
   DefinedFrameNode "#Evaluative_comparison"
   DefinedFrameElementNode "#Evaluative_comparison:Profiled_item"

// #Evaluative_comparison:Standard_attribute
FrameElementLink
   DefinedFrameNode "#Evaluative_comparison"
   DefinedFrameElementNode "#Evaluative_comparison:Standard_attribute"

// #Evaluative_comparison:Standard_item
FrameElementLink
   DefinedFrameNode "#Evaluative_comparison"
   DefinedFrameElementNode "#Evaluative_comparison:Standard_item"

#Make_noise

// #Make_noise:Noisy_event
FrameElementLink
   DefinedFrameNode "#Make_noise"
   DefinedFrameElementNode "#Make_noise:Noisy_event"

// #Make_noise:Sound
FrameElementLink
   DefinedFrameNode "#Make_noise"
   DefinedFrameElementNode "#Make_noise:Sound"

// #Make_noise:Sound_source
FrameElementLink
   DefinedFrameNode "#Make_noise"
   DefinedFrameElementNode "#Make_noise:Sound_source"

// #Make_noise:Degree
FrameElementLink
   DefinedFrameNode "#Make_noise"
   DefinedFrameElementNode "#Make_noise:Degree"

// #Make_noise:Iterations
FrameElementLink
   DefinedFrameNode "#Make_noise"
   DefinedFrameElementNode "#Make_noise:Iterations"

#Possession

// #Possession:Owner
FrameElementLink
   DefinedFrameNode "#Possession"
   DefinedFrameElementNode "#Possession:Owner"

// #Possession:Possession
FrameElementLink
   DefinedFrameNode "#Possession"
   DefinedFrameElementNode "#Possession:Possession"

#Education_teaching

// #Intentionally_act <- #Education_teaching
InheritanceLink
   DefinedFrameNode "#Education_teaching"
   DefinedFrameNode "#Intentionally_act"


// #Education_teaching:Course
FrameElementLink
   DefinedFrameNode "#Education_teaching"
   DefinedFrameElementNode "#Education_teaching:Course"

// #Education_teaching:Fact
FrameElementLink
   DefinedFrameNode "#Education_teaching"
   DefinedFrameElementNode "#Education_teaching:Fact"

// #Education_teaching:Institution
FrameElementLink
   DefinedFrameNode "#Education_teaching"
   DefinedFrameElementNode "#Education_teaching:Institution"

// #Education_teaching:Material
FrameElementLink
   DefinedFrameNode "#Education_teaching"
   DefinedFrameElementNode "#Education_teaching:Material"

// #Education_teaching:Precept
FrameElementLink
   DefinedFrameNode "#Education_teaching"
   DefinedFrameElementNode "#Education_teaching:Precept"

// #Education_teaching:Qualification
FrameElementLink
   DefinedFrameNode "#Education_teaching"
   DefinedFrameElementNode "#Education_teaching:Qualification"

// #Education_teaching:Role
FrameElementLink
   DefinedFrameNode "#Education_teaching"
   DefinedFrameElementNode "#Education_teaching:Role"

// #Education_teaching:Skill
FrameElementLink
   DefinedFrameNode "#Education_teaching"
   DefinedFrameElementNode "#Education_teaching:Skill"

// #Education_teaching:Student
FrameElementLink
   DefinedFrameNode "#Education_teaching"
   DefinedFrameElementNode "#Education_teaching:Student"

// #Education_teaching:Subject
FrameElementLink
   DefinedFrameNode "#Education_teaching"
   DefinedFrameElementNode "#Education_teaching:Subject"

// #Education_teaching:Teacher
FrameElementLink
   DefinedFrameNode "#Education_teaching"
   DefinedFrameElementNode "#Education_teaching:Teacher"

#State

// #State:Entity
FrameElementLink
   DefinedFrameNode "#State"
   DefinedFrameElementNode "#State:Entity"

// #State_of_entity:State
FrameElementLink
   DefinedFrameNode "#State"
   DefinedFrameElementNode "#State:State"

#State_of_entity

// #State <- #State_of_entity
InheritanceLink
   DefinedFrameNode "#State_of_entity"
   DefinedFrameNode "#State"


// #State_of_entity:Evaluation
FrameElementLink
   DefinedFrameNode "#State_of_entity"
   DefinedFrameElementNode "#State_of_entity:Evaluation"


#Manipulation

// #Intentionally_affect <- #Manipulation
InheritanceLink
   DefinedFrameNode "#Manipulation"
   DefinedFrameNode "#Intentionally_affect"


// #Manipulation:Agent
FrameElementLink
   DefinedFrameNode "#Manipulation"
   DefinedFrameElementNode "#Manipulation:Agent"

// #Manipulation:Event
FrameElementLink
   DefinedFrameNode "#Manipulation"
   DefinedFrameElementNode "#Manipulation:Event"

// #Manipulation:Bodypart_of_agent
FrameElementLink
   DefinedFrameNode "#Manipulation"
   DefinedFrameElementNode "#Manipulation:Bodypart_of_agent"

// #Manipulation:Entity
FrameElementLink
   DefinedFrameNode "#Manipulation"
   DefinedFrameElementNode "#Manipulation:Entity"

// #Manipulation:Time
FrameElementLink
   DefinedFrameNode "#Manipulation"
   DefinedFrameElementNode "#Manipulation:Time"

// #Manipulation:Duration
FrameElementLink
   DefinedFrameNode "#Manipulation"
   DefinedFrameElementNode "#Manipulation:Duration"

#Motion_directional

// #Motion <- #Motion_directional
InheritanceLink
   DefinedFrameNode "#Motion_directional"
   DefinedFrameNode "#Motion"


// #Motion_directional:Theme
FrameElementLink
   DefinedFrameNode "#Motion_directional"
   DefinedFrameElementNode "#Motion_directional:Theme"

// #Motion_directional:Direction
FrameElementLink
   DefinedFrameNode "#Motion_directional"
   DefinedFrameElementNode "#Motion_directional:Direction"

// #Motion_directional:Goal
FrameElementLink
   DefinedFrameNode "#Motion_directional"
   DefinedFrameElementNode "#Motion_directional:Goal"

// #Motion_directional:Path
FrameElementLink
   DefinedFrameNode "#Motion_directional"
   DefinedFrameElementNode "#Motion_directional:Path"

// #Motion_directional:Source
FrameElementLink
   DefinedFrameNode "#Motion_directional"
   DefinedFrameElementNode "#Motion_directional:Source"

#Obviousness

// #Gradable_attributes <- #Obviousness
InheritanceLink
   DefinedFrameNode "#Obviousness"
   DefinedFrameNode "#Gradable_attributes"



// #Obviousness:Attribute
FrameElementLink
   DefinedFrameNode "#Obviousness"
   DefinedFrameElementNode "#Obviousness:Attribute"

// #Obviousness:Degree
FrameElementLink
   DefinedFrameNode "#Obviousness"
   DefinedFrameElementNode "#Obviousness:Degree"

// #Obviousness:Phenomenon
FrameElementLink
   DefinedFrameNode "#Obviousness"
   DefinedFrameElementNode "#Obviousness:Phenomenon"

// #Obviousness:Perceiver
FrameElementLink
   DefinedFrameNode "#Obviousness"
   DefinedFrameElementNode "#Obviousness:Perceiver"

// #Obviousness:Location_of_protagonist
FrameElementLink
   DefinedFrameNode "#Obviousness"
   DefinedFrameElementNode "#Obviousness:Location_of_protagonist"

#Biological_urge

// #Gradable_attributes <- #Biological_urge
InheritanceLink
   DefinedFrameNode "#Biological_urge"
   DefinedFrameNode "#Gradable_attributes"


// #Biological_urge:Experiencer
FrameElementLink
   DefinedFrameNode "#Biological_urge"
   DefinedFrameElementNode "#Biological_urge:Experiencer"

// #Biological_urge:Expressor
FrameElementLink
   DefinedFrameNode "#Biological_urge"
   DefinedFrameElementNode "#Biological_urge:Expressor"


There are no available Framenet Frames for the following structures, so a custom representation will be used to describe them.

liquid

// #Substance <- liquid
InheritanceLink
   ConceptNode "liquid"
   DefinedFrameNode "#Substance"

ReferenceLink
   WordNode "#liquid"
   ConceptNode "liquid"

water

// liquid <- water
InheritanceLink
   ConceptNode "water"
   ConceptNode "liquid"

ReferenceLink
   WordNode "#water"
   ConceptNode "water

bone

// #Food <- bone
InheritanceLink
   ConceptNode "bone"
   DefinedFrameNode "#Food"

ReferenceLink
   WordNode "#bone"
   ConceptNode "bone"

Object types hierarchy

Each objects inside the virtual environment is represented by an atom of the hierarchy bellow. This hierarchy will be used by some predicates to infer some properties, like mobility.

// Object <- StaticObject
InheritanceLink 
   ConceptNode "StaticObject"
   ConceptNode "Object"

// StaticObject <- Structure
InheritanceLink 
   ConceptNode "Structure"
   ConceptNode "StaticObject"

// Object <- MovableObject
InheritanceLink 
   ConceptNode "MovableObject"
   ConceptNode "Object"

// MovableObject <- Item
InheritanceLink 
   ConceptNode "Item"
   ConceptNode "MovableObject"

// MovableObject <- Agent
InheritanceLink 
   ConceptNode "Agent"
   ConceptNode "MovableAgent"

// Agent <- Humanoid
InheritanceLink 
   ConceptNode "Humanoid"
   ConceptNode "Agent"

// Agent <- Pet
InheritanceLink 
   ConceptNode "Pet"
   ConceptNode "Agent"

// Agent <- Avatar
InheritanceLink 
   ConceptNode "Avatar"
   ConceptNode "Agent"

Predicates

is_drinkable(water_01)

// water <- water_01
InheritanceLink
    SemeNode "water_01"
    ConceptNode "water"

// #Ingestion:Ingestible = water
isAcceptableSecondArgLink
    DefinedFrameElementNode #Ingestion:Ingestible
    SemeNode "water_01"

is_edible(meat_01)

// meat <- meat_01
InheritanceLink
    SemeNode "meat_01"
    ConceptNode "meat"

// #Ingestion:Ingestible = meat
isAcceptableSecondArgLink
    DefinedFrameElementNode #Ingestion:Ingestible
    SemeNode "meat_01"

is_moving(Sally)

// #Motion <- is_moving
EvaluationLink
   DefinedFrameNode "#Motion"
   PredicateNode "Sally_is_moving"

EvaluationLink
   DefinedFrameElementNode "#Motion:Theme"
   PredicateNode "Sally_is_moving_Theme"

EvaluationLink
   DefinedFrameElementNode "#Motion:Direction"
   PredicateNode "Sally_is_moving_Direction"


FrameElementLink
   PredicateNode "Sally_is_moving"
   PredicateNode "Sally_is_moving_Theme"

FrameElementLink
   PredicateNode "Sally_is_moving"
   PredicateNode "Sally_is_moving_Direction"


EvaluationLink
   PredicateNode "Sally_is_moving_Theme"
   SemeNode "Sally"

EvaluationLink
   PredicateNode "Sally_is_moving_Direction"
   ListLink 
       NumberNode "$x"
       NumberNode "$y"
       NumberNode "$z"

is_small(blueBall)

// Fido dimension
InheritanceLink
   PredicateNode "Fido_dimension"
   DefinedFrameNode "#Dimension"

InheritanceLink
   PredicateNode "Fido_dimension_Dimension"
   DefinedFrameElementNode "#Dimension:Dimension"

InheritanceLink
   PredicateNode "Fido_dimension_Object"
   DefinedFrameElementNode "#Dimension:Object"

InheritanceLink
   PredicateNode "Fido_dimension_Measurement "
   DefinedFrameElementNode "#Dimension:Measurement "


FrameElementLink
   PredicateNode "Fido_dimension"
   PredicateNode "Fido_dimension_Dimension"

FrameElementLink
   PredicateNode "Fido_dimension"
   PredicateNode "Fido_dimension_Object"

FrameElementLink
   PredicateNode "Fido_dimension"
   PredicateNode "Fido_dimension_Measurement"


EvaluationLink
   PredicateNode "Fido_dimension_Dimension"
   ConceptNode "Volume"

EvaluationLink
   PredicateNode "Fido_dimension_Object"
   SemeNode "Fido"

EvaluationLink
   PredicateNode "Fido_dimension_Measurement"
   NumberNode "30"

// now prepare the blueBall dimension
InheritanceLink
   PredicateNode "blueBall_Dimension"
   DefinedFrameNode "#Dimension"

InheritanceLink
   PredicateNode "blueBall_Dimension:Dimension"
   DefinedFrameNode "#Dimension:Dimension"

InheritanceLink
   PredicateNode "blueBall_Dimension:Object"
   DefinedFrameNode "#Dimension:Object"

InheritanceLink
   PredicateNode "blueBall_Dimension:Measurement"
   DefinedFrameNode "#Dimension:Measurement"


FrameElementLink
   PredicateNode "blueBall_dimension"
   PredicateNode "blueBall_dimension_Dimension"

FrameElementLink
   PredicateNode "blueBall_dimension"
   PredicateNode "blueBall_dimension_Object"

FrameElementLink
   PredicateNode "blueBall_dimension"
   PredicateNode "blueBall_dimension_Measurement"


EvaluationLink
   PredicateNode "blueBall_dimension_Dimension"
   ConceptNode "Volume"

EvaluationLink
   PredicateNode "blueBall_dimension_Object"
   SemeNode "blueBall"

EvaluationLink
   PredicateNode "blueBall_dimension_Measurement"
   NumberNode "5"

// now make the comparison between Fido and the blueBall

InheritanceLink
   PredicateNode "blueBall_is_small"
   DefinedFrameNode "#Evaluative_comparison"

InheritanceLink
   PredicateNode "blueBall_is_small_Attribute"
   DefinedFrameElementNode "#Evaluative_comparison:Attribute"

InheritanceLink
   PredicateNode "blueBall_is_small_Profiled_attribute"
   DefinedFrameElementNode "#Evaluative_comparison:Profiled_attribute"

InheritanceLink
   PredicateNode "blueBall_is_small_Standard_attribute"
   DefinedFrameElementNode "#Evaluative_comparison:Standard_attribute"

InheritanceLink
   PredicateNode "blueBall_is_small_Profiled_item"
   DefinedFrameElementNode "#Evaluative_comparison:Profiled_item"

InheritanceLink
   PredicateNode "blueBall_is_small_Standard_item"
   DefinedFrameElementNode "#Evaluative_comparison:Standard_item"

InheritanceLink
   PredicateNode "blueBall_is_small_Value"
   DefinedFrameElementNode "#Evaluative_comparison:Value"


EvaluationLink
   PredicateNode "blueBall_is_small_Attribute"
   ConceptNode "Volume"

EvaluationLink
   PredicateNode "blueBall_is_small_Profiled_attribute"
   ConceptNode "Volume"

EvaluationLink
   PredicateNode "blueBall_is_small_Standard_attribute"
   ConceptNode "Volume"


EvaluationLink
   PredicateNode "blueBall_is_small_Profiled_item"
   SemeNode "Fido"

EvaluationLink
   PredicateNode "blueBall_is_small_Standard_item"
   SemeNode "blueBall"

EvaluationLink
   PredicateNode "blueBall_is_small_Value"
   NumberNode "0.16" // proportion of the standard, based on the profiled

is_avatar(Sally)

InheritanceLink
    SemeNode "Sally"
    ConceptNode "Avatar"

is_agent(Fido)

InheritanceLink
    SemeNode "Fido"
    ConceptNode "Pet"

// following link to verify if Fido is an agent
InheritanceLink
    ConceptNode "Pet"
    ConceptNode "Agent"

is_object(blueBall)

InheritanceLink
    SemeNode "blueBall"
    ConceptNode "MovableObject"

// following link to verify if blueBall is an agent
InheritanceLink
    ConceptNode "MovableObject"
    ConceptNode "Object"

is_pee_place(barrel_01) and is_poo_place(barrel_01)

InheritanceLink
    SemeNode "barrel_01"
    ConceptNode "Structure"

// structures are pee and poo places

is_movable(Fido)

InheritanceLink
    SemeNode "Fido"
    ConceptNode "Pet"

// following link to verify if Fido is a movable object
InheritanceLink
    ConceptNode "Pet"
    ConceptNode "Agent"

InheritanceLink
    ConceptNode "Agent"
    ConceptNode "MovableObject"

// ok, Fido is movable

is_pickupable(blueBall)

EvaluationLink
    PredicateNode "blueBall_is_pickupable"
    ListLink
        InheritanceLink of is_small(blueBall)
        InheritanceLink of is_movable(blueBall)

is_owner(Sally, Fido)

InheritanceLink
   PredicateNode "Sally_Fido_is_owner"
   DefinedFrameNode "#Possession"

InheritanceLink
   PredicateNode "Sally_Fido_is_owner_Owner"
   DefinedFrameElementNode "#Possession:Owner"

InheritanceLink
   PredicateNode "Sally_Fido_is_owner_Possession"
   DefinedFrameElementNode "#Possession:Possession"


FrameElementLink
   PredicateNode "Sally_Fido_is_owner"
   PredicateNode "Sally_Fido_is_owner_Owner"

FrameElementLink
   PredicateNode "Sally_Fido_is_owner"
   PredicateNode "Sally_Fido_is_owner_Possession"


EvaluationLink
   PredicateNode "Sally_Fido_is_owner_Owner"
   SemeNode "Sally"

EvaluationLink
   PredicateNode "Sally_Fido_is_owner_Possession"
   SemeNode "Fido"

is_noisy(Fido)

InheritanceLink
   PredicateNode "Fido_is_noisy"
   DefinedFrameNode "#Make_noise"

InheritanceLink
   PredicateNode "Fido_is_noisy_Noisy_event"
   DefinedFrameElementNode "#Make_noise:Noisy_event"

InheritanceLink
   PredicateNode "Fido_is_noisy_Noisy_Sound"
   DefinedFrameElementNode "#Make_noise:Sound"

InheritanceLink
   PredicateNode "Fido_is_noisy_Noisy_Sound_source"
   DefinedFrameElementNode "#Make_noise:Sound_source"

InheritanceLink
   PredicateNode "Fido_is_noisy_Noisy_Degree"
   DefinedFrameElementNode "#Make_noise:Degree"

InheritanceLink
   PredicateNode "Fido_is_noisy_Noisy_Iterations"
   DefinedFrameElementNode "#Make_noise:Iterations"


FrameElementLink
   PredicateNode "Fido_is_noisy"
   PredicateNode "Fido_is_noisy_Noisy_event"

FrameElementLink
   PredicateNode "Fido_is_noisy"
   PredicateNode "Fido_is_noisy_Sound"

FrameElementLink
   PredicateNode "Fido_is_noisy"
   PredicateNode "Fido_is_noisy_Sound_source"

FrameElementLink
   PredicateNode "Fido_is_noisy"
   PredicateNode "Fido_is_noisy_Degree"

FrameElementLink
   PredicateNode "Fido_is_noisy"
   PredicateNode "Fido_is_noisy_Iterations"


EvaluationLink
   PredicateNode "Fido_is_noisy_Noisy_event"
   SemeNode "barking"

EvaluationLink
   PredicateNode "Fido_is_noisy_Sound"
   SemeNode "bark"

EvaluationLink
   PredicateNode "Fido_is_noisy_Sound_source"
   SemeNode "Fido"

EvaluationLink
   PredicateNode "Fido_is_noisy_Degree"
   SemeNode "high" // low/medium/high

EvaluationLink
   PredicateNode "Fido_is_noisy_Iterations"
   NumberNode "3"

is_learning(Fido)

InheritanceLink
   PredicateNode "Fido_is_learning"
   DefinedFrameNode "#Education_teaching"

InheritanceLink
   PredicateNode "Fido_is_learning_Course"
   DefinedFrameElementNode "#Education_teaching:Course"

InheritanceLink
   PredicateNode "Fido_is_learning_Fact"
   DefinedFrameElementNode "#Education_teaching:Fact"

InheritanceLink
   PredicateNode "Fido_is_learning_Institution"
   DefinedFrameElementNode "#Education_teaching:Institution"

InheritanceLink
   PredicateNode "Fido_is_learning_Material"
   DefinedFrameElementNode "#Education_teaching:Material"

InheritanceLink
   PredicateNode "Fido_is_learning_Skill"
   DefinedFrameElementNode "#Education_teaching:Skill"

InheritanceLink
   PredicateNode "Fido_is_learning_Student"
   DefinedFrameElementNode "#Education_teaching:Student"

InheritanceLink
   PredicateNode "Fido_is_learning_Teacher"
   DefinedFrameElementNode "#Education_teaching:Teacher"


FrameElementLink
   PredicateNode "Fido_is_learning"
   PredicateNode "Fido_is_learning_Course"

FrameElementLink
   PredicateNode "Fido_is_learning"
   PredicateNode "Fido_is_learning_Fact"

FrameElementLink
   PredicateNode "Fido_is_learning"
   PredicateNode "Fido_is_learning_Institution"

FrameElementLink
   PredicateNode "Fido_is_learning"
   PredicateNode "Fido_is_learning_Material"

FrameElementLink
   PredicateNode "Fido_is_learning"
   PredicateNode "Fido_is_learning_Skill"

FrameElementLink
   PredicateNode "Fido_is_learning"
   PredicateNode "Fido_is_learning_Student"

FrameElementLink
   PredicateNode "Fido_is_learning"
   PredicateNode "Fido_is_learning_Teacher"


// #Education_teaching:Course = learn fetch with Sally
EvaluationLink
   PredicateNode "Fido_is_learning_Course"
   SentenceNode "learn fetch with Sally"

// #Education_teaching:Fact = bring the thrown stick to me piece of information that is being taught by the teacher
EvaluationLink
   PredicateNode "Fido_is_learning_Fact"
   SentenceNode "bring the thrown stick to me" // piece of information that is being taught by the teacher

// #Education_teaching:Institution = Informal
EvaluationLink
   PredicateNode "Fido_is_learning_Institution"
   ConceptNode "Informal" // school/university/informal.. etc

// #Education_teaching:Material = Example
EvaluationLink
   PredicateNode "Fido_is_learning_Material"
   ConceptNode "Example"

// #Education_teaching:Skill = fetch
EvaluationLink
   PredicateNode "Fido_is_learning_Skill"
   ConceptNode "fetch"

// #Education_teaching:Student = Fido
EvaluationLink
   PredicateNode "Fido_is_learning_Student"
   SemeNode "Fido"

// #Education_teaching:Teacher = Sally
EvaluationLink
   PredicateNode "Fido_is_learning_Teacher"
   SemeNode "Sally"

is_agent_state(Maria), go_back_to_base

// #State_of_entity:Entity = Fido
InheritanceLink
   PredicateNode "Maria_is_agent_state"
   DefinedFrameNode "#State_of_entity"

InheritanceLink
   PredicateNode "Maria_is_agent_state_Entity"
   DefinedFrameElementNode "#State_of_entity:Entity"
   
InheritanceLink
   PredicateNode "Maria_is_agent_state_State"
   DefinedFrameElementNode "#State_of_entity:State"

InheritanceLink
   PredicateNode "Maria_is_agent_state_Evaluation"
   DefinedFrameElementNode "#State_of_entity:Evaluation"

FrameElementLink
   PredicateNode "Maria_is_agent_state"
   PredicateNode "Maria_is_agent_state_Entity"

FrameElementLink
   PredicateNode "Maria_is_agent_state"
   PredicateNode "Maria_is_agent_state_State"

FrameElementLink
   PredicateNode "Maria_is_agent_state"
   PredicateNode "Maria_is_agent_state_Evaluation"


EvaluationLink
   PredicateNode "Maria_is_agent_state_Entity"
   SemeNode "Fido"

// #State_of_entity:State = go_back_to_base[0] go_get_treasure[1] wait[2], etc.
EvaluationLink
   PredicateNode "Maria_is_agent_state_State"
   NumberNode "0"

// #State_of_entity:Evaluation = Playing Scavenger Hunt
EvaluationLink
   PredicateNode "Maria_is_agent_state_Evaluation"
   ConceptNode "Playing"

is_holding_something(Sally)

InheritanceLink
   PredicateNode "Sally_is_holding_something"
   DefinedFrameNode "#Manipulation"

InheritanceLink
   PredicateNode "Sally_is_holding_something_Agent"
   DefinedFrameElementNode "#Manipulation:Agent"

InheritanceLink
   PredicateNode "Sally_is_holding_something_Event"
   DefinedFrameElementNode "#Manipulation:Event"

InheritanceLink
   PredicateNode "Sally_is_holding_something_Entity"
   DefinedFrameElementNode "#Manipulation:Entity"

InheritanceLink
   PredicateNode "Sally_is_holding_something_Time"
   DefinedFrameElementNode "#Manipulation:Time"

InheritanceLink
   PredicateNode "Sally_is_holding_something_Duration"
   DefinedFrameElementNode "#Manipulation:Duration"


FrameElementLink
   PredicateNode "Sally_is_holding_something"
   PredicateNode "Sally_is_holding_something_Agent"

FrameElementLink
   PredicateNode "Sally_is_holding_something"
   PredicateNode "Sally_is_holding_something_Entity"

FrameElementLink
   PredicateNode "Sally_is_holding_something"
   PredicateNode "Sally_is_holding_something_Time"

FrameElementLink
   PredicateNode "Sally_is_holding_something"
   PredicateNode "Sally_is_holding_something_Duration"


// #Manipulation:Agent = Sally
EvaluationLink
   DefinedFrameElementNode "#Manipulation:Agent"
   SemeNode "Sally"

// #Manipulation:Event = holds
EvaluationLink
   DefinedFrameElementNode "#Manipulation:Event"
   ConceptNode "Holds"

// #Manipulation:Entity = blue ball
EvaluationLink
   DefinedFrameElementNode "#Manipulation:Entity"
   SemeNode "blueBall"

// #Manipulation:Time = start time
EvaluationLink
   DefinedFrameElementNode "#Manipulation:Time"
   NumberNode "00001"

// #Manipulation:Duration = how much time in minutes
EvaluationLink
   DefinedFrameElementNode "#Manipulation:Duration"
   NumberNode "5.6"

is_moving_toward(missile) The missile is coming in myFido direction.

InheritanceLink
   PredicateNode "missile_is_moving_toward"
   DefinedFrameNode "#Motion_directional"

InheritanceLink
   PredicateNode "missile_is_moving_toward_Theme"
   DefinedFrameElementNode "#Motion_directional:Theme"

InheritanceLink
   PredicateNode "missile_is_moving_toward_Direction"
   DefinedFrameElementNode "#Motion_directional:Direction"

InheritanceLink
   PredicateNode "missile_is_moving_toward_Goal"
   DefinedFrameElementNode "#Motion_directional:Goal"

InheritanceLink
   PredicateNode "missile_is_moving_toward_Path"
   DefinedFrameElementNode "#Motion_directional:Path"

InheritanceLink
   PredicateNode "missile_is_moving_toward_Source"
   DefinedFrameElementNode "#Motion_directional:Source"

FrameElementLink
   PredicateNode "missile_is_moving_toward"
   PredicateNode "missile_is_moving_toward_Source"

FrameElementLink
   PredicateNode "missile_is_moving_toward"
   PredicateNode "missile_is_moving_toward_Direction"

FrameElementLink
   PredicateNode "missile_is_moving_toward"
   PredicateNode "missile_is_moving_toward_Goal"

FrameElementLink
   PredicateNode "missile_is_moving_toward"
   PredicateNode "missile_is_moving_toward_Path"

FrameElementLink
   PredicateNode "missile_is_moving_toward"
   PredicateNode "missile_is_moving_toward_Source"

// #Motion_directional:Theme = Missile
EvaluationLink
   PredicateNode "missile_is_moving_toward_Theme"
   SemeNode "Missile"

// #Motion_directional:Direction = Vectorx,y,z
EvaluationLink
   PredicateNode "missile_is_moving_toward_Direction"
   ListLink
      NumberNode "$x"
      NumberNode "$y"
      NumberNode "$z"

// #Motion_directional:Goal = Fido
EvaluationLink
   PredicateNode "missile_is_moving_toward_Goal"
   SemeNode "Fido"

// #Motion_directional:Path = straightforward line
EvaluationLink
   PredicateNode "missile_is_moving_toward_Path"
   ConceptNode "Straightforward"

// #Motion_directional:Source = cannon the location the Theme occupies before the motion occurs
EvaluationLink
   PredicateNode "missile_is_moving_toward_Source"
   SemeNode "cannon"

inside_pet_fov(redBall)

InheritanceLink
   PredicateNode "redBall_is_inside_pet_fov"
   DefinedFrameNode "#Obviousness"

InheritanceLink
   PredicateNode "redBall_is_inside_pet_fov_Attribute"
   DefinedFrameElementNode "#Gradable_attributes:Attribute"

InheritanceLink
   PredicateNode "redBall_is_inside_pet_fov_Degree"
   DefinedFrameElementNode "#Gradable_attributes:Degree"

InheritanceLink
   PredicateNode "redBall_is_inside_pet_fov_Phenomenon"
   DefinedFrameElementNode "#Obviousness:Phenomenon"

InheritanceLink
   PredicateNode "redBall_is_inside_pet_fov_Perceiver"
   DefinedFrameElementNode "#Obviousness:Perceiver"

InheritanceLink
   PredicateNode "redBall_is_inside_pet_fov_Location_of_protagonist"
   DefinedFrameElementNode "#Obviousness:Location_of_protagonist"


FrameElementLink
   PredicateNode "redBall_is_inside_pet_fov"
   PredicateNode "redBall_is_inside_pet_fov_Attribute"

FrameElementLink
   PredicateNode "redBall_is_inside_pet_fov"
   PredicateNode "redBall_is_inside_pet_fov_Degree"

FrameElementLink
   PredicateNode "redBall_is_inside_pet_fov"
   PredicateNode "redBall_is_inside_pet_fov_Phenomenon"

FrameElementLink
   PredicateNode "redBall_is_inside_pet_fov"
   PredicateNode "redBall_is_inside_pet_fov_Perceiver"

FrameElementLink
   PredicateNode "redBall_is_inside_pet_fov"
   PredicateNode "redBall_is_inside_pet_fov_Location_of_protagonist"



// #Gradable_attributes:Attribute = visible
EvaluationLink
   PredicateNode "redBall_is_inside_pet_fov_Attribute"
   ConceptNode "Visible"

// #Gradable_attributes:Degree = Low/High
EvaluationLink
   PredicateNode "redBall_is_inside_pet_fov_Degree"
   ConceptNode "Low"

// #Obviousness:Phenomenon = redBall
EvaluationLink
   PredicateNode "redBall_is_inside_pet_fov_Phenomenon"
   SemeNode "redBall"

// #Obviousness:Perceiver = Fido
EvaluationLink
   PredicateNode "redBall_is_inside_pet_fov_Perceiver"
   SemeNode "Fido"

// #Obviousness:Location_of_protagonist = Vectorx,y,z
EvaluationLink
   PredicateNode "redBall_is_inside_pet_fov_Location_of_protagonist"
   ListLink 
      NumberNode "$x"
      NumberNode "$y"
      NumberNode "$z"

pee_urgency / poo_urgency / hunger / thirsty

// #Biological_urge <- poo_urgency
InheritanceLink
   PredicateNode "poo_urgency"
   DefinedFrameNode "#Biological_urge"

InheritanceLink
   PredicateNode "poo_urgency_Experiencer"
   DefinedFrameElementNode "#Biological_urge:Experiencer"

InheritanceLink
   PredicateNode "poo_urgency_Expressor"
   DefinedFrameElementNode "#Biological_urge:Expressor"

InheritanceLink
   PredicateNode "poo_urgency_Attribute"
   DefinedFrameElementNode "#Gradable_attributes:Attribute"

InheritanceLink
   PredicateNode "poo_urgency_Degree"
   DefinedFrameElementNode "#Gradable_attributes:Degree"

InheritanceLink
   PredicateNode "poo_urgency_Value"
   DefinedFrameElementNode "#Gradable_attributes:Value"


FrameElementLink
   PredicateNode "poo_urgency"
   PredicateNode "poo_urgency_Experiencer"

FrameElementLink
   PredicateNode "poo_urgency"
   PredicateNode "poo_urgency_Expressor"

FrameElementLink
   PredicateNode "poo_urgency"
   PredicateNode "poo_urgency_Attribute"

FrameElementLink
   PredicateNode "poo_urgency"
   PredicateNode "poo_urgency_Degree"

FrameElementLink
   PredicateNode "poo_urgency"
   PredicateNode "poo_urgency_Value"


// #Biological_urge:Experiencer = Fido
EvaluationLink
   PredicateNode "poo_urgency_Experiencer"
   SemeNode "Fido"

// #Biological_urge:Expressor = butt gesture, expression or body part indicating the event
EvaluationLink
   PredicateNode "poo_urgency_Expressor"
   ConceptNode "Butt"

// Gradable_attributes <- Biological_urge
// #Gradable_attributes:Atribute = poo
EvaluationLink
   PredicateNode "poo_urgency_Attribute"
   ConceptNode "Poo"

// #Gradable_attributes:Degree = low/medium/high
EvaluationLink
   PredicateNode "poo_urgency_Degree"
   ConceptNode "Low"

// #Gradable_attributes:Value =  0.5
EvaluationLink
   PredicateNode "poo_urgency_Value"
   NumberNode "0.5"


Spatial

implemented: next_to, near

non-implemented: against, beneath, above, below, behind, in_front_of, in, beyond, on_top_of

// barrel_01 is in front of Sally in_front_of(barrel_01, Sally)

InheritanceLink
   PredicateNode "barrel_01_Sally_in_front_of"
   DefinedFrameNode "#Locative_relation"

InheritanceLink
   PredicateNode "barrel_01_Sally_in_front_of_Figure"
   DefinedFrameElementNode "#Locative_relation:Figure"

InheritanceLink
   PredicateNode "barrel_01_Sally_in_front_of_Ground"
   DefinedFrameElementNode "#Locative_relation:Ground"

InheritanceLink
   PredicateNode "barrel_01_Sally_in_front_of_Relation_type"
   DefinedFrameElementNode "#Locative_relation:Relation_type"

FrameElementLink
   PredicateNode "barrel_01_Sally_in_front_of"
   PredicateNode "barrel_01_Sally_in_front_of_Figure"

FrameElementLink
   PredicateNode "barrel_01_Sally_in_front_of"
   PredicateNode "barrel_01_Sally_in_front_of_Ground"

FrameElementLink
   PredicateNode "barrel_01_Sally_in_front_of"
   PredicateNode "barrel_01_Sally_in_front_of_Relation_type"


EvaluationLink
   PredicateNode "barrel_01_Sally_in_front_of_Figure"
   SemeNode "barrel_01"

EvaluationLink
   PredicateNode "barrel_01_Sally_in_front_of_Ground"
   SemeNode "Sally"

EvaluationLink
   PredicateNode "barrel_01_Sally_in_front_of_Relation_type"
   ConceptNode "in_front_of"