; Sun Jan 25 11:28:26 CST 2009 ; ;+ (version "3.4") ;+ (build "Build 519") (defclass %3ACLIPS_TOP_LEVEL_SLOT_CLASS "Fake class to save top-level slot information" (is-a USER) (role abstract) (single-slot evidence_code ;+ (comment "This is inspired by the GO evidence codes, but necessarily different. Currently we have:\n\nTAS - tracable author statement - use for traceable general statements. Use ANC for anecdotal statements (below).\n\nNAS - nontraceable author statement - from reviews, abstracts, etc. that can't be traced to another publication.\n\nANC - anecdotal statements - traceable reports of one of a kind behavior. Although these may appear in association with NAS, an anecdote must be a traceable first-hand account of the (an) author.\n\nTVR - traceable video record - links to a video source depicting the behavior\n\nTAR - traceable audio record - links to an audio source depicting the behavior (e.g., a vocalization). An audio report of a behavior (e.g. field notes) should be ANC. ") (type SYMBOL) (allowed-values TAS NAS ANC TVR TAR) ;+ (cardinality 0 1) ;+ (associated-facet EKB_01_00052) (create-accessor read-write)) (single-slot end_index ;+ (comment "The ending index of the supporting data. Again, use index_type to interpret this. Value may equal start_index.") (type STRING) ;+ (cardinality 0 1) (create-accessor read-write)) (single-slot sex (type SYMBOL) (allowed-values female male indeterminate) ;+ (cardinality 0 1) (create-accessor read-write)) (single-slot original ;+ (comment "Points to a serial source record for this (if known).") ;+ (type ANY) ;+ (cardinality 0 1) (create-accessor read-write)) (single-slot part_of (type INSTANCE) ;+ (allowed-classes) ;+ (cardinality 0 1) ;+ (inverse-slot parts) (create-accessor read-write)) (multislot instrument ;+ (comment "Currently intended as the body part involved with the action, if such can be identified. Could also refer to an external object such as a stick.") (type INSTANCE) ;+ (allowed-classes Physical_object) (create-accessor read-write)) (single-slot sensu ;+ (comment "This is where taxon relative relationships should be defined.") (type INSTANCE) ;+ (allowed-classes Taxon) ;+ (cardinality 0 1) (create-accessor read-write)) (single-slot follows ;+ (comment "Specifies a temporal object that follows this one in a sequence") (type INSTANCE) ;+ (allowed-classes) ;+ (cardinality 0 1) ;+ (inverse-slot precedes) (create-accessor read-write)) (single-slot source_URL ;+ (comment "A URL indicating the location of the digitized file.") (type STRING) ;+ (cardinality 0 1) (create-accessor read-write)) (multislot result ;+ (comment "The outcome of an action or event.") (type INSTANCE) ;+ (allowed-classes State) (create-accessor read-write)) (single-slot precedes ;+ (comment "Specifies a temporal object that preceeds this one in a sequence.") (type INSTANCE) ;+ (allowed-classes) ;+ (cardinality 0 1) ;+ (inverse-slot follows) (create-accessor read-write)) (single-slot taxon ;+ (comment "Analogous to the \"sensu\" modifier in GO terms. Like sensu, it can refer to a taxon; unlike GO, taxa above species are representable.") (type INSTANCE) ;+ (allowed-classes Taxon) ;+ (cardinality 0 1) (create-accessor read-write)) (single-slot period ;+ (comment "The period (cycle length in time) of the action.") (type FLOAT) ;+ (cardinality 1 1) (create-accessor read-write)) (single-slot author ;+ (comment "The login name of the person who created this term.") (type STRING) ;+ (cardinality 1 1) (create-accessor read-write)) (single-slot library_name ;+ (comment "The collection of sources (e.g. W. Maddison Habronattus videos)") (type STRING) ;+ (cardinality 1 1) (create-accessor read-write)) (single-slot library ;+ (comment "A collection or data repository") (type STRING) ;+ (cardinality 0 1) (create-accessor read-write)) (single-slot volume_name ;+ (comment "This contains the name of the volume (e.g., the tape label) of the source.") (type STRING) ;+ (cardinality 1 1) (create-accessor read-write)) (single-slot start_index ;+ (comment "The index at the start of the serial information of interest. Use index_type to figure out how to interpret this.") (type STRING) ;+ (cardinality 0 1) (create-accessor read-write)) (multislot parts (type INSTANCE) ;+ (allowed-classes) ;+ (inverse-slot part_of) (create-accessor read-write)) (single-slot locality ;+ (comment "Place where animal was collected or observed in field") (type STRING) ;+ (cardinality 1 1) (create-accessor read-write)) (single-slot actor ;+ (comment "The (animal) assigned responsibility for the action") (type INSTANCE) ;+ (allowed-classes Living_thing) ;+ (cardinality 0 1) (create-accessor read-write)) (single-slot index_type ;+ (comment "This should help the interpretation of the index string.") (type SYMBOL) (allowed-values count time time+frame) (default time+frame) ;+ (cardinality 1 1) (create-accessor read-write)) (single-slot creation_date ;+ (comment "The time this item was created, usually automatically generated by Protege.") (type STRING) ;+ (cardinality 1 1) (create-accessor read-write)) (single-slot comments ;+ (comment "Documentation or notes for a term.") (type STRING) ;+ (cardinality 0 1) (create-accessor read-write)) (single-slot evidence ;+ (comment "This points to supporting data for the term, if any.") (type INSTANCE) ;+ (allowed-classes Source) ;+ (cardinality 0 1) (create-accessor read-write)) (single-slot long_name ;+ (comment "A descriptive name of the data source or repository.") (type STRING) ;+ (cardinality 0 1) (create-accessor read-write)) (multislot contains ;+ (comment "Containment entails that the extent (either spatial or temporal) of the source is bounded by the extent of the source. It is weaker than parts and should be used for temporal cases where parts is uncertain.") (type INSTANCE) ;+ (allowed-classes) ;+ (inverse-slot contained_in) (create-accessor read-write)) (single-slot prototype (type INSTANCE) ;+ (allowed-classes %3ATHING) ;+ (cardinality 0 1) (create-accessor read-write)) (single-slot contained_in ;+ (comment "Containment entails that the extent (either spatial or temporal) of the source is bounded by the extent of the source. It is weaker than part_of and should be used for temporal cases where part_of is uncertain.") (type INSTANCE) ;+ (allowed-classes) ;+ (cardinality 0 1) ;+ (inverse-slot contains) (create-accessor read-write)) (single-slot target_part (type INSTANCE) ;+ (allowed-classes Anatomical_part) ;+ (cardinality 1 1) (create-accessor read-write))) (defclass Term "Most of the concepts in the ontology should be terms, which add a little bit of functionality (somewhat inspired by GO terms)." (is-a %3ASTANDARD-CLASS) (role concrete) (single-slot author ;+ (comment "The login name of the person who created this term.") (type STRING) ;+ (cardinality 1 1) (create-accessor read-write)) (single-slot evidence ;+ (comment "This points to supporting data for the term, if any.") (type INSTANCE) ;+ (allowed-classes Source) ;+ (cardinality 0 1) (create-accessor read-write)) (single-slot creation_date ;+ (comment "The time this item was created.") (type STRING) ;+ (cardinality 1 1) (create-accessor read-write))) (defclass Function "Terms describing the function (e.g., nutrition) of an action should be instances of this metaclass." (is-a Term) (role concrete)) (defclass Life_stage "Terms describing life history stages should be instances of this metaclass." (is-a Term) (role concrete)) (defclass Mechanism "Mechanistic explanations for a behavior term should be instances of this metaclass." (is-a Term) (role concrete)) (defclass Topography "Terms describing the \"shape\" or form of an action should be instances of this class. Terms derived from the 3-way topological action ontology probably belong as instances of this too." (is-a Term) (role concrete)) (defclass Term_with_prototype "This metaclass provides a slot for defining a prototypical instance of the class. This is part of an experiment with alternate representations for the \"summary\" nature of an ethogram." (is-a Term) (role concrete) (single-slot prototype (type INSTANCE) ;+ (allowed-classes %3ATHING) ;+ (cardinality 0 1) (create-accessor read-write))) (defclass Taxon "This is the concept metaclass used to define taxa or nodes in a phylogeny. It currently doesn't do anything special, but that will likely change when phylogenetic merging works." (is-a Term_with_prototype) (role concrete)) (defclass Sensu_term "Instances of this subclass of term have a sensu slot that should point at a taxon that defines the 'scope' of the action definition. Inspired by GO's sensu naming convention." (is-a Term) (role concrete) (single-slot sensu ;+ (comment "This is where taxon relative relationships should be defined.") (type INSTANCE) ;+ (allowed-classes Taxon) ;+ (cardinality 0 1) (create-accessor read-write))) (defclass Sensu_with_prototype "Has both prototype and sensu slots." (is-a Sensu_term Term_with_prototype) (role concrete)) (defclass Slot_with_evidence_code (is-a %3ASTANDARD-SLOT) (role concrete) (single-slot evidence_code ;+ (comment "This is inspired by the GO evidence codes, but necessarily different. Currently we have:\n\nTAS - tracable author statement - use for traceable general statements. Use ANC for anecdotal statements (below).\n\nNAS - nontraceable author statement - from reviews, abstracts, etc. that can't be traced to another publication.\n\nANC - anecdotal statements - traceable reports of one of a kind behavior. Although these may appear in association with NAS, an anecdote must be a traceable first-hand account of the (an) author.\n\nTVR - traceable video record - links to a video source depicting the behavior\n\nTAR - traceable audio record - links to an audio source depicting the behavior (e.g., a vocalization). An audio report of a behavior (e.g. field notes) should be ANC. ") (type SYMBOL) (allowed-values TAS NAS ANC TVR TAR) ;+ (cardinality 0 1) (create-accessor read-write))) (defclass Transitive_slot "A slot of this type is claimed to be transitive." (is-a %3ASTANDARD-SLOT) (role concrete)) (defclass Physical_entity "An entity that physically exists.\nThis tends to include locations since although locations don't have mass, they are \"observable\", and can have more or less well defined volumes and temporal extents. " (is-a USER) (role abstract)) (defclass Stuff "Physical material that is not an individual, such as sand or water." (is-a Physical_entity) (role concrete)) (defclass Physical_object "Physical individual - has definite mass, volume (probably a boundary), and a temporal extent." (is-a Physical_entity) (role concrete)) (defclass Living_thing "This is the set of descendents of the root of all life, not the root itself. Phylogeny is reflected in merged ontologies." (is-a Physical_object) (role concrete) (single-slot sex (type SYMBOL) (allowed-values female male indeterminate) ;+ (cardinality 0 1) (create-accessor read-write)) (single-slot locality ;+ (comment "Place where animal was collected or observed in field") (type STRING) ;+ (cardinality 1 1) (create-accessor read-write)) (single-slot comments ;+ (comment "Documentation or notes for a term.") (type STRING) ;+ (cardinality 0 1) (create-accessor read-write))) (defclass Anatomical_part "Part-of a living thing. This part-of relation is obviously transitive." (is-a Physical_object) (role concrete) (single-slot part_of (type INSTANCE) ;+ (allowed-classes Anatomical_part Living_thing) ;+ (cardinality 0 1) (create-accessor read-write)) (multislot parts (type INSTANCE) ;+ (allowed-classes Anatomical_part) (create-accessor read-write))) (defclass Abstact_entity "This should be the compliment of physical entity in the domain being modeled." (is-a USER) (role abstract)) (defclass Temporal_Entity "An entity existing in time. At this level no mechanism is provided for talking about endpoints, but the possiblility of partial ordering is provided for." (is-a Abstact_entity) (role concrete) (single-slot precedes ;+ (comment "Specifies a temporal object that preceeds this one in a sequence.") (type INSTANCE) ;+ (allowed-classes Temporal_Entity) ;+ (cardinality 0 1) (create-accessor read-write)) (single-slot follows ;+ (comment "Specifies a temporal object that follows this one in a sequence") (type INSTANCE) ;+ (allowed-classes Temporal_Entity) ;+ (cardinality 0 1) (create-accessor read-write))) (defclass Evidence "This is outside of the domain being modelled." (is-a USER) (role abstract)) (defclass Source "A data source or repository." (is-a Evidence) (role abstract)) (defclass Serially_indexed_object "This should really be about anything with a start and end; not just temporal objects and certainly not just data clips." (is-a Source) (role abstract) (single-slot end_index ;+ (comment "The ending index of the supporting data. Again, use index_type to interpret this. Value may equal start_index.") (type STRING) ;+ (cardinality 0 1) (create-accessor read-write)) (single-slot index_type ;+ (comment "This should help the interpretation of the index string.") (type SYMBOL) (allowed-values count time time+frame) (default time+frame) ;+ (cardinality 1 1) (create-accessor read-write)) (single-slot start_index ;+ (comment "The index at the start of the serial information of interest. Use index_type to figure out how to interpret this.") (type STRING) ;+ (cardinality 0 1) (create-accessor read-write))) (defclass Captured_source "This is like a serial source, except that the reference is to a digitized (captured) source. As such, it contains a URL field, and can refer to a serial_source from which it came." (is-a Serially_indexed_object) (role concrete) (single-slot source_URL ;+ (comment "A URL indicating the location of the digitized file.") (type STRING) ;+ (cardinality 0 1) (create-accessor read-write)) (single-slot %3ANAME (type STRING) ;+ (cardinality 0 1) (create-accessor read-write)) (single-slot original ;+ (comment "Points to a serial source record for this (if known).") (type INSTANCE) ;+ (allowed-classes Serial_source) ;+ (cardinality 0 1) (create-accessor read-write)) (single-slot long_name ;+ (comment "A descriptive name of the data source or repository.") (type STRING) ;+ (cardinality 0 1) (create-accessor read-write))) (defclass Serial_source "This refers to a source of raw data. It is currently set up for serial electronic sources: audio, video, etc." (is-a Serially_indexed_object) (role concrete) (single-slot index_type ;+ (comment "This should help the interpretation of the index string.") (type SYMBOL) (allowed-values count time time+frame) (default time) ;+ (cardinality 1 1) (create-accessor read-write)) (single-slot library_name ;+ (comment "The collection of sources (e.g. W. Maddison Habronattus videos)") (type STRING) ;+ (cardinality 1 1) (create-accessor read-write)) (single-slot %3ANAME (type STRING) ;+ (cardinality 0 1) (create-accessor read-write)) (single-slot volume_name ;+ (comment "This contains the name of the volume (e.g., the tape label) of the source.") (type STRING) ;+ (cardinality 1 1) (create-accessor read-write)) (single-slot long_name ;+ (comment "A descriptive name of the data source or repository.") (type STRING) ;+ (cardinality 0 1) (create-accessor read-write))) (defclass Indexed_temporal_entity "This class is sort of a short cut, allowing recorded events have start and end times, rather than creating independent evidence objects. This is not really correct, but the extra level of indirection makes data entry noticably more difficult." (is-a Serially_indexed_object Temporal_Entity) (role concrete) (single-slot evidence ;+ (comment "This points to supporting data for the term, if any.") (type INSTANCE) ;+ (allowed-classes Serially_indexed_object) ;+ (cardinality 0 1) (create-accessor read-write))) (defclass Event "A temporal entity that causes a change in the state of something. The result slot should point to a representation of the state that holds after the event." (is-a Indexed_temporal_entity) (role concrete) (multislot result ;+ (comment "The outcome of an action or event.") (type INSTANCE) ;+ (allowed-classes State) (create-accessor read-write)) (single-slot part_of (type INSTANCE) ;+ (allowed-classes Indexed_temporal_entity) ;+ (cardinality 0 1) (create-accessor read-write)) (multislot contains ;+ (comment "Containment entails that the extent (either spatial or temporal) of the source is bounded by the extent of the source. It is weaker than parts and should be used for temporal cases where parts is uncertain.") (type INSTANCE) ;+ (allowed-classes Indexed_temporal_entity) (create-accessor read-write)) (multislot parts (type INSTANCE) ;+ (allowed-classes Indexed_temporal_entity) (create-accessor read-write)) (single-slot contained_in ;+ (comment "Containment entails that the extent (either spatial or temporal) of the source is bounded by the extent of the source. It is weaker than part_of and should be used for temporal cases where part_of is uncertain.") (type INSTANCE) ;+ (allowed-classes Indexed_temporal_entity) ;+ (cardinality 0 1) (create-accessor read-write)) (single-slot comments ;+ (comment "Documentation or notes for a term.") (type STRING) ;+ (cardinality 0 1) (create-accessor read-write))) (defclass Action "An event initiated by and involving body changes by an animal." (is-a Event) (role concrete) (single-slot actor ;+ (comment "The (animal) assigned responsibility for the action") (type INSTANCE) ;+ (allowed-classes Living_thing) ;+ (cardinality 0 1) (create-accessor read-write)) (multislot instrument ;+ (comment "Currently intended as the body part involved with the action, if such can be identified. Could also refer to an external object such as a stick.") (type INSTANCE) ;+ (allowed-classes Physical_object) (create-accessor read-write))) (defclass External_event "Events not initiated by an actor." (is-a Event) (role concrete) (single-slot result ;+ (comment "The outcome of an action or event.") (type INSTANCE) ;+ (allowed-classes State) ;+ (cardinality 0 1) (create-accessor read-write))) (defclass Process "A placeholder for cyclic events or actions - this allows such events without explicit circularities." (is-a Indexed_temporal_entity) (role concrete)) (defclass Repeating_action "The basic type of process." (is-a Process Action) (role concrete) (single-slot period ;+ (comment "The period (cycle length in time) of the action.") (type FLOAT) ;+ (cardinality 1 1) (create-accessor read-write))) (defclass State "The compliment of event, a state represents a condition that holds over a temporal interval." (is-a Indexed_temporal_entity) (role concrete)) (defclass Body_part_position "A type of state for the positions of body parts." (is-a State) (role concrete) (single-slot target_part (type INSTANCE) ;+ (allowed-classes Anatomical_part) ;+ (cardinality 1 1) (create-accessor read-write)))