# This file describe the thematic roles of action verbs for the robot.
# the syntax is:
#
# action_name_as_it_appears_in_the_ontology (comma_delimited_list_of_synonyms) {
# performedBy subject
# predicate class_of_concept
# predicate [optional_preposition] class_of_concept
# [predicate class_of_concept]
# ...
# }
#
# the first predicate is always performedBy and introduce the subject of the 
# verb. The second predicate is bound to the direct object complement (if it 
# exists).
# Following ones are indirect complements, in the order they appear.
# If a predicate is preceded by a preposition, only a complement introduced by
# this preposition will be used.
# By default, all predicates are mandatory. If a predicate is inside square 
# brackets, it means it is optional.

pick {
performedBy Agent
actsOnObject Artifact
}


get (take) {
performedBy Agent
actsOnObject Artifact
}

put (place) {
performedBy Agent
actsOnObject Artifact
receivedBy [on] PhysicalSupport
}

bring {
performedBy Agent
actsOnObject Artifact
receivedBy Agent
}


give (hand) {
performedBy Agent
actsOnObject Artifact
receivedBy Agent
}

uncover {
performedby agent
actsOnObject artifact
}

throw {
performedby agent
actsOnObject artifact
receivedBy [to] PhysicalSupport
}

clean {
performedby agent
actsOnObject artifact
}

show {
performedBy Agent
actsOnObject Location 
[receivedBy Agent]
}

hide {
performedBy Agent
actsOnObject Artifact
[receivedBy Agent]
}

move (go,come) {
performedBy Agent
[actsOnObject Artifact]
hasGoal [to] Location
}

look {
performedBy Agent
hasGoal [at] Location
}

stop (halt) {
performedBy Agent
}

test {
performedBy Agent
}

think {
performedBy Agent
actsOnObject [on] Thing
}
