diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index b41404e0..1ae4e84f 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,5 +1,13 @@ # Release Notes +## 3.0.0 +### Braking changes +* Remove SOMA namespace inconsistencies +
+ Details + Some entities used namespaces other than DUL or SOMA, e.g. SOMA-OBJ or SOMA-ACT, which caused problems for some systems that always expect the SOMA namespace. All SOMA entities are now in the SOMA namespace instead of a sub-namespace. +
+ ## 2.0.0 ### Braking changes * Removal of `IOLite` diff --git a/owl/SOMA-ACT.owl b/owl/SOMA-ACT.owl index ca903716..3a9e66e1 100644 --- a/owl/SOMA-ACT.owl +++ b/owl/SOMA-ACT.owl @@ -19,13 +19,6 @@ This module is chiefly concerned with defining a taxonomy of tasks, including ro Also defined here are execution state regions, i.e. flags with which to label the status of the execution of an action in terms of whether it is unfolding or completed, and if completed whether completed successfully or not.") -Declaration(Class(:Cleaning)) -Declaration(Class(:Flipping)) -Declaration(Class(:Pouring)) -Declaration(Class(:PouringInto)) -Declaration(Class(:PouringOnto)) -Declaration(Class(:Serving)) -Declaration(Class(:Stirring)) Declaration(Class(SOMA:AbductiveReasoning)) Declaration(Class(SOMA:Actuating)) Declaration(Class(SOMA:Answer)) @@ -42,6 +35,7 @@ Declaration(Class(SOMA:Capability)) Declaration(Class(SOMA:Catching)) Declaration(Class(SOMA:Channel)) Declaration(Class(SOMA:CheckingObjectPresence)) +Declaration(Class(SOMA:Cleaning)) Declaration(Class(SOMA:Closing)) Declaration(Class(SOMA:CommandingTask)) Declaration(Class(SOMA:CommunicationAction)) @@ -63,6 +57,7 @@ Declaration(Class(SOMA:Dropping)) Declaration(Class(SOMA:EndEffectorPositioning)) Declaration(Class(SOMA:ExecutionStateRegion)) Declaration(Class(SOMA:Fetching)) +Declaration(Class(SOMA:Flipping)) Declaration(Class(SOMA:Focusing)) Declaration(Class(SOMA:ForgettingIncorrectInformation)) Declaration(Class(SOMA:ForgettingIrrelevantInformation)) @@ -116,6 +111,9 @@ Declaration(Class(SOMA:PickingUp)) Declaration(Class(SOMA:Placing)) Declaration(Class(SOMA:Planning)) Declaration(Class(SOMA:Positioning)) +Declaration(Class(SOMA:Pouring)) +Declaration(Class(SOMA:PouringInto)) +Declaration(Class(SOMA:PouringOnto)) Declaration(Class(SOMA:Prediction)) Declaration(Class(SOMA:Premise)) Declaration(Class(SOMA:Proprioceiving)) @@ -139,11 +137,13 @@ Declaration(Class(SOMA:Retrospecting)) Declaration(Class(SOMA:SelectingItem)) Declaration(Class(SOMA:SelfReflection)) Declaration(Class(SOMA:Sender)) +Declaration(Class(SOMA:Serving)) Declaration(Class(SOMA:SettingGripper)) Declaration(Class(SOMA:Simulating)) Declaration(Class(SOMA:SituationTransition)) Declaration(Class(SOMA:Slicing)) Declaration(Class(SOMA:Squeezing)) +Declaration(Class(SOMA:Stirring)) Declaration(Class(SOMA:ThinkAloud)) Declaration(Class(SOMA:ThinkAloudActionTopic)) Declaration(Class(SOMA:ThinkAloudGeneralKnowledgeTopic)) @@ -157,6 +157,7 @@ Declaration(Class(SOMA:ThinkAloudTopic)) Declaration(Class(SOMA:Throwing)) Declaration(Class(SOMA:Transporting)) Declaration(Class()) +Declaration(ObjectProperty(SOMA:affects)) Declaration(ObjectProperty(SOMA:answers)) Declaration(ObjectProperty(SOMA:causes)) Declaration(ObjectProperty(SOMA:definesEventType)) @@ -166,6 +167,7 @@ Declaration(ObjectProperty(SOMA:hasAnswer)) Declaration(ObjectProperty(SOMA:hasExecutionState)) Declaration(ObjectProperty(SOMA:hasInitialSituation)) Declaration(ObjectProperty(SOMA:hasTerminalSituation)) +Declaration(ObjectProperty(SOMA:isAffectedBy)) Declaration(ObjectProperty(SOMA:isAskedBy)) Declaration(ObjectProperty(SOMA:isCreatedOutputOf)) Declaration(ObjectProperty(SOMA:isDirectReactionTo)) @@ -196,24 +198,32 @@ Declaration(NamedIndividual(SOMA:ExecutionState_Succeeded)) # Object Properties ############################ +# Object Property: SOMA:affects (affects) + +AnnotationAssertion(rdfs:comment SOMA:affects "Simple relationship between two actions to express that a variation in the course or outcome of the subject (the affector) would have resulted in a variation in the object (the affectee), e.g., a planning task that sets parameters such as goal position affects the subsequently executed pick-and-place task that uses that parameter.") +AnnotationAssertion(rdfs:label SOMA:affects "affects") +SubObjectPropertyOf(SOMA:affects ) +InverseObjectProperties(SOMA:affects SOMA:isAffectedBy) + # Object Property: SOMA:answers (answers) AnnotationAssertion(rdfs:label SOMA:answers "The relation between an answering message and the message it answers.") AnnotationAssertion(rdfs:label SOMA:answers "answers") SubObjectPropertyOf(SOMA:answers SOMA:relatesToAnotherRole) InverseObjectProperties(SOMA:answers SOMA:hasAnswer) -ObjectPropertyDomain(SOMA:answers SOMA:Message) +ObjectPropertyDomain(SOMA:answers SOMA:Answer) ObjectPropertyRange(SOMA:answers SOMA:Message) # Object Property: SOMA:causes (causes) -AnnotationAssertion(rdfs:label SOMA:causes "Simple relationship between two actions to express that the object (the reaction) would not have occured if it were not for the subject (the cause), e.g., a Communication Action classified as an Querying Task causes another Communication Task classified as an Answering Task and the latter would not have occured without the former. An example without Agents involved would be some domino stone would not have toppled without the first one toppling. +AnnotationAssertion(SOMA:UsageGuideline SOMA:causes "Simple relationship between two actions to express that the object (the reaction) would not have occured if it were not for the subject (the cause), e.g., a Communication Action classified as an Querying Task causes another Communication Task classified as an Answering Task and the latter would not have occured without the former. An example without Agents involved is some domino stone that would not have toppled without the first one toppling. When Agents are involved, the relation might be seen as an abstraction of the execution of some plan that arises from changing the agents goal that is due to perceiving the cause. However, currently it is unclear how to model such a pattern and therefore not included in SOMA. This relation is seen as transitive."@en) AnnotationAssertion(rdfs:label SOMA:causes "causes"@en) -SubObjectPropertyOf(SOMA:causes ) +SubObjectPropertyOf(SOMA:causes SOMA:affects) +InverseObjectProperties(SOMA:causes SOMA:isReactionTo) TransitiveObjectProperty(SOMA:causes) # Object Property: SOMA:definesEventType (defines event type) @@ -249,7 +259,7 @@ ObjectPropertyRange(SOMA:hasAction ) +# Object Property: SOMA:isAffectedBy (is affected by) + +AnnotationAssertion(rdfs:comment SOMA:isAffectedBy "Simple relationship between two actions to express that a variation in the course or outcome of the object (the affector) would have resulted in a variation in the subject (the affectee), e.g., a planning task that sets parameters such as goal position affects the subsequently executed pick-and-place task that uses that parameter.") +AnnotationAssertion(rdfs:label SOMA:isAffectedBy "is affected by") +SubObjectPropertyOf(SOMA:isAffectedBy ) + # Object Property: SOMA:isAskedBy (is asked by) -AnnotationAssertion(rdfs:comment SOMA:isAskedBy "A relation from a Query to the Agent who asks it."^^xsd:string) +AnnotationAssertion(rdfs:comment SOMA:isAskedBy "A relation from a Query to the Agent who asks it.") AnnotationAssertion(rdfs:label SOMA:isAskedBy "is asked by") SubObjectPropertyOf(SOMA:isAskedBy ) ObjectPropertyDomain(SOMA:isAskedBy SOMA:QueryingTask) @@ -319,7 +335,7 @@ ObjectPropertyRange(SOMA:isEventTypeDefinedIn ) @@ -341,7 +357,7 @@ When Agents are involved, the relation might be seen as an abstraction of the ex This relation is seen as transitive."@en) AnnotationAssertion(rdfs:label SOMA:isReactionTo "is reaction to") -SubObjectPropertyOf(SOMA:isReactionTo ) +SubObjectPropertyOf(SOMA:isReactionTo SOMA:isAffectedBy) TransitiveObjectProperty(SOMA:isReactionTo) ObjectPropertyDomain(SOMA:isReactionTo ) ObjectPropertyRange(SOMA:isReactionTo ) @@ -365,7 +381,7 @@ ObjectPropertyRange(SOMA:isTaskOfCreatedRole ) @@ -468,48 +484,6 @@ SubObjectPropertyOf()) - -# Class: :PouringInto (Pouring into) - -AnnotationAssertion(rdfs:comment :PouringInto "The task in which the agent pours the substance into another object."^^xsd:string) -AnnotationAssertion(rdfs:label :PouringInto "Pouring into"^^xsd:string) -SubClassOf(:PouringInto :Pouring) - -# Class: :PouringOnto (Pouring onto) - -AnnotationAssertion(rdfs:comment :PouringOnto "The task in which an agent pours the substance on top of an object"^^xsd:string) -AnnotationAssertion(rdfs:label :PouringOnto "Pouring onto"^^xsd:string) -SubClassOf(:PouringOnto :Pouring) - -# Class: :Serving (:Serving) - -AnnotationAssertion(rdfs:comment :Serving "The task in which the agent delivers an object to a physical agent"^^xsd:string) -SubClassOf(:Serving SOMA:Delivering) -SubClassOf(:Serving ObjectAllValuesFrom( ObjectIntersectionOf( ObjectUnionOf(ObjectSomeValuesFrom( ) ObjectSomeValuesFrom( ))))) - -# Class: :Stirring (:Stirring) - -AnnotationAssertion(rdfs:comment :Stirring "A task in which an agent dissolves small particles like sugar or salt in fluid"^^xsd:string) -SubClassOf(:Stirring SOMA:Mixing) -SubClassOf(:Stirring ObjectSomeValuesFrom(SOMA:isTaskAffordedBy SOMA:Composing)) - # Class: SOMA:AbductiveReasoning (Abductive reasoning) AnnotationAssertion(rdfs:comment SOMA:AbductiveReasoning "A task in which the Agent proceeds from some set of statements about a world, and attempts to obtain an explanation for these statements. This explanation is often an inferred cause, such as a final cause or intention. Further, it is often required that there be some guarantees that the explanation produced by AbductiveReasoning have some desirable property, such as being the simplest or most likely given the set of statements to explain.") @@ -534,7 +508,7 @@ SubClassOf(SOMA:Actuating SOMA:PhysicalTask) # Class: SOMA:Answer (Answer) -AnnotationAssertion(rdfs:comment SOMA:Answer "A role that is played by an Information Realization answering some query."^^xsd:string) +AnnotationAssertion(rdfs:comment SOMA:Answer "A role that is played by an Information Realization answering some query.") AnnotationAssertion(rdfs:label SOMA:Answer "Answer") SubClassOf(SOMA:Answer SOMA:Message) @@ -616,6 +590,12 @@ AnnotationAssertion(rdfs:comment SOMA:CheckingObjectPresence "A task by which an AnnotationAssertion(rdfs:label SOMA:CheckingObjectPresence "Checking object presence"@en) SubClassOf(SOMA:CheckingObjectPresence SOMA:Perceiving) +# Class: SOMA:Cleaning (SOMA:Cleaning) + +AnnotationAssertion(rdfs:comment SOMA:Cleaning "This task in which an agent restores all the objects to their destined locations, wiping a specific object") +SubClassOf(SOMA:Cleaning SOMA:ModifyingPhysicalObject) +SubClassOf(SOMA:Cleaning ObjectSomeValuesFrom(SOMA:isTaskAffordedBy SOMA:Purification)) + # Class: SOMA:Closing (SOMA:Closing) AnnotationAssertion(rdfs:comment SOMA:Closing "A task in which an Agent manipulates a container so as to block access to its interior.") @@ -772,6 +752,12 @@ DisjointClasses(SOMA:Fetching SOMA:Pulling) DisjointClasses(SOMA:Fetching SOMA:Pushing) DisjointClasses(SOMA:Fetching SOMA:Squeezing) +# Class: SOMA:Flipping (SOMA:Flipping) + +AnnotationAssertion(rdfs:comment SOMA:Flipping "The task in which the agent turns an object over by using a tool or by manipulating") +SubClassOf(SOMA:Flipping SOMA:Actuating) +SubClassOf(SOMA:Flipping ObjectSomeValuesFrom(SOMA:isTaskAffordedBy SOMA:Shifting)) + # Class: SOMA:Focusing (Focusing) AnnotationAssertion(rdfs:comment SOMA:Focusing "The mental task to center the attention to some subject.") @@ -878,7 +864,7 @@ AnnotationAssertion(rdfs:comment SOMA:InformationStorage "A mental task in which An example is learning new knowledge."@en) AnnotationAssertion(rdfs:label SOMA:InformationStorage "Information storage"@en) SubClassOf(SOMA:InformationStorage SOMA:MentalTask) -SubClassOf(SOMA:InformationStorage ObjectSomeValuesFrom(SOMA:isTaskOfInputRole ObjectIntersectionOf( SOMA:Knowledge))) +SubClassOf(SOMA:InformationStorage ObjectSomeValuesFrom(SOMA:isTaskOfInputRole ObjectIntersectionOf(SOMA:Knowledge SOMA:StoredObject))) # Class: SOMA:Instructions (Instructions) @@ -1099,8 +1085,8 @@ SubClassOf(SOMA:PhysicalAcquiring SOMA:ModifyingPhysicalObject) # Class: SOMA:PhysicalAction (Physical action) -AnnotationAssertion(rdfs:comment SOMA:PhysicalAction "An action performed by an agent by using its body in some way to interact with the physical world, e.g., through manipulation of objects, or by changing the posture."^^xsd:string) -AnnotationAssertion(rdfs:label SOMA:PhysicalAction "Physical action"^^xsd:string) +AnnotationAssertion(rdfs:comment SOMA:PhysicalAction "An action performed by an agent by using its body in some way to interact with the physical world, e.g., through manipulation of objects, or by changing the posture.") +AnnotationAssertion(rdfs:label SOMA:PhysicalAction "Physical action") SubClassOf(SOMA:PhysicalAction ) # Class: SOMA:PhysicalTask (Physical task) @@ -1131,6 +1117,24 @@ SubClassOf(SOMA:Planning ObjectSomeValuesFrom( SOMA:CommunicationTask)) +# Class: SOMA:Serving (SOMA:Serving) + +AnnotationAssertion(rdfs:comment SOMA:Serving "The task in which the agent delivers an object to a physical agent") +SubClassOf(SOMA:Serving SOMA:Delivering) +SubClassOf(SOMA:Serving ObjectAllValuesFrom( ObjectIntersectionOf( ObjectUnionOf(ObjectSomeValuesFrom( ) ObjectSomeValuesFrom( ))))) + # Class: SOMA:SettingGripper (Setting gripper) AnnotationAssertion(rdfs:comment SOMA:SettingGripper "A task by which an Agent arranges one/some/all of its grippers in some configuration.") @@ -1317,6 +1327,12 @@ SubClassOf(SOMA:Slicing SOMA:Cutting) AnnotationAssertion(rdfs:comment SOMA:Squeezing "A task in which an Agent applies pressure to an object they have in their grasp.") SubClassOf(SOMA:Squeezing SOMA:Actuating) +# Class: SOMA:Stirring (SOMA:Stirring) + +AnnotationAssertion(rdfs:comment SOMA:Stirring "A task in which an agent dissolves small particles like sugar or salt in fluid") +SubClassOf(SOMA:Stirring SOMA:Mixing) +SubClassOf(SOMA:Stirring ObjectSomeValuesFrom(SOMA:isTaskAffordedBy SOMA:Composing)) + # Class: SOMA:ThinkAloud (Think-aloud) AnnotationAssertion(rdfs:comment SOMA:ThinkAloud "A task in which an Agent, while in the course of performing some other task(s), reports on their own decision processes that guide this other task(s) for the benefit of an outside observer.") @@ -1447,7 +1463,7 @@ SubClassOf(Annotation(rdfs:comment "If something is a terminal situation then it SubClassOf(Annotation(rdfs:comment "If a transition has a terminal situation then it also has a manifestation.") ObjectSomeValuesFrom(SOMA:hasTerminalSituation ) ObjectSomeValuesFrom( )) SubObjectPropertyOf(ObjectPropertyChain(SOMA:causesTransition SOMA:hasInitialSituation ) SOMA:terminates) SubObjectPropertyOf(ObjectPropertyChain(SOMA:causesTransition SOMA:hasTerminalScene ) SOMA:directlyCauses) -SubObjectPropertyOf(ObjectPropertyChain( SOMA:hasInitialSituation SOMA:hasTerminalSituation ) SOMA:isReplacedBy) -SubObjectPropertyOf(ObjectPropertyChain( SOMA:hasTerminalSituation SOMA:hasInitialSituation ) SOMA:replaces) +SubObjectPropertyOf(ObjectPropertyChain( SOMA:isInitialSituationOf SOMA:hasTerminalSituation ) SOMA:isReplacedBy) +SubObjectPropertyOf(ObjectPropertyChain( SOMA:isTerminalSituationOf SOMA:hasInitialSituation ) SOMA:replaces) SubObjectPropertyOf(ObjectPropertyChain( SOMA:isInputRoleOf SOMA:isTaskOfCreatedRole ) SOMA:isDirectSourceFor) ) \ No newline at end of file diff --git a/owl/SOMA-Allen.owl b/owl/SOMA-Allen.owl index 90a4d262..05734169 100644 --- a/owl/SOMA-Allen.owl +++ b/owl/SOMA-Allen.owl @@ -29,42 +29,42 @@ Declaration(ObjectProperty(SOMA:starts)) # Object Properties ############################ -# Object Property: () +# Object Property: SOMA:after (SOMA:after) AsymmetricObjectProperty(SOMA:after) IrreflexiveObjectProperty(SOMA:after) -# Object Property: () +# Object Property: SOMA:before (SOMA:before) AsymmetricObjectProperty(SOMA:before) IrreflexiveObjectProperty(SOMA:before) -# Object Property: () +# Object Property: SOMA:contains (SOMA:contains) AsymmetricObjectProperty(SOMA:contains) IrreflexiveObjectProperty(SOMA:contains) -# Object Property: () +# Object Property: SOMA:during (SOMA:during) AsymmetricObjectProperty(SOMA:during) IrreflexiveObjectProperty(SOMA:during) -# Object Property: (finished by) +# Object Property: SOMA:finishedBy (finished by) AsymmetricObjectProperty(SOMA:finishedBy) IrreflexiveObjectProperty(SOMA:finishedBy) -# Object Property: () +# Object Property: SOMA:finishes (SOMA:finishes) AsymmetricObjectProperty(SOMA:finishes) IrreflexiveObjectProperty(SOMA:finishes) -# Object Property: (started by) +# Object Property: SOMA:startedBy (started by) AsymmetricObjectProperty(SOMA:startedBy) IrreflexiveObjectProperty(SOMA:startedBy) -# Object Property: () +# Object Property: SOMA:starts (SOMA:starts) AsymmetricObjectProperty(SOMA:starts) IrreflexiveObjectProperty(SOMA:starts) diff --git a/owl/SOMA-ELAN.owl b/owl/SOMA-ELAN.owl index 691bf00e..4356c339 100644 --- a/owl/SOMA-ELAN.owl +++ b/owl/SOMA-ELAN.owl @@ -14,13 +14,13 @@ Annotation(rdfs:comment "SOMA-ELAN.owl is chiefly concerned with providing a con SOMA-ELAN.owl should at least import SOMA-ACT.owl and therefore indirectly imports all other modules that SOMA-ACT depends on. This is because the controlled vocabulary is defined as alternative labels for concepts defined in the various modules of SOMA.") -Declaration(Class(:PrepareForBreakfast)) -Declaration(Class(:PrepareForDinner)) -Declaration(Class(:PrepareForLunch)) -Declaration(Class(:PrepareForMeal)) -Declaration(Class(:SettingTheTable)) -Declaration(DataProperty(:expectedNumberOfPeople)) -Declaration(DataProperty(:formalityLevel)) +Declaration(Class(SOMA:PrepareForBreakfast)) +Declaration(Class(SOMA:PrepareForDinner)) +Declaration(Class(SOMA:PrepareForLunch)) +Declaration(Class(SOMA:PrepareForMeal)) +Declaration(Class(SOMA:SettingTheTable)) +Declaration(DataProperty(SOMA:expectedNumberOfPeople)) +Declaration(DataProperty(SOMA:formalityLevel)) Declaration(AnnotationProperty(SOMA:ELANName)) Declaration(AnnotationProperty(SOMA:ELANUsageGuideline)) Declaration(AnnotationProperty(SOMA:UsageGuideline)) @@ -29,12 +29,12 @@ Declaration(AnnotationProperty(SOMA:nickname)) # Annotation Properties ############################ -# Annotation Property: () +# Annotation Property: SOMA:ELANName (SOMA:ELANName) AnnotationAssertion(rdfs:comment SOMA:ELANName "If present, used by the controlled vocabulary generation script to create a vocabulary entry. By default, the concept name itself is used for the vocabulary entry.") SubAnnotationPropertyOf(SOMA:ELANName SOMA:nickname) -# Annotation Property: () +# Annotation Property: SOMA:ELANUsageGuideline (SOMA:ELANUsageGuideline) AnnotationAssertion(rdfs:comment SOMA:ELANUsageGuideline "Provides a short description, similar to a definition, of a controlled vocabulary entry for ELAN.") SubAnnotationPropertyOf(SOMA:ELANUsageGuideline SOMA:UsageGuideline) @@ -45,21 +45,21 @@ SubAnnotationPropertyOf(SOMA:ELANUsageGuideline SOMA:UsageGuideline) # Data Properties ############################ -# Data Property: () +# Data Property: SOMA:expectedNumberOfPeople (SOMA:expectedNumberOfPeople) -AnnotationAssertion(rdfs:comment :expectedNumberOfPeople "Used by the description of a task that classifies some event, usually a social gathering such as a meal, or by a description of a task to prepare for such an event, to record the number of people expected to participate.") -SubDataPropertyOf(:expectedNumberOfPeople ) -DataPropertyDomain(:expectedNumberOfPeople ObjectIntersectionOf( ObjectSomeValuesFrom( ))) -DataPropertyRange(:expectedNumberOfPeople xsd:integer) +AnnotationAssertion(rdfs:comment SOMA:expectedNumberOfPeople "Used by the description of a task that classifies some event, usually a social gathering such as a meal, or by a description of a task to prepare for such an event, to record the number of people expected to participate.") +SubDataPropertyOf(SOMA:expectedNumberOfPeople ) +DataPropertyDomain(SOMA:expectedNumberOfPeople ObjectIntersectionOf( ObjectSomeValuesFrom( ))) +DataPropertyRange(SOMA:expectedNumberOfPeople xsd:integer) -# Data Property: () +# Data Property: SOMA:formalityLevel (SOMA:formalityLevel) -AnnotationAssertion(rdfs:comment :formalityLevel "Records the formality level in a description associated to some event, usually a social gathering such as a meal. +AnnotationAssertion(rdfs:comment SOMA:formalityLevel "Records the formality level in a description associated to some event, usually a social gathering such as a meal. The association between the Description and the Event can be direct (the Description is about the Event itself) but it can also be indirect in various ways. A typical example of the latter is where the Description is a Goal for a Task to prepare for the Event in question, as when the Goal of a SettingTheTable task would record the formality level of a meal, which will occur at some point after the task completes.") -SubDataPropertyOf(:formalityLevel ) -DataPropertyDomain(:formalityLevel ObjectIntersectionOf( ObjectSomeValuesFrom( ))) -DataPropertyRange(:formalityLevel xsd:string) +SubDataPropertyOf(SOMA:formalityLevel ) +DataPropertyDomain(SOMA:formalityLevel ObjectIntersectionOf( ObjectSomeValuesFrom( ))) +DataPropertyRange(SOMA:formalityLevel xsd:string) @@ -67,40 +67,40 @@ DataPropertyRange(:formalityLevel xsd:string) # Classes ############################ -# Class: () +# Class: SOMA:Arranging (SOMA:Arranging) -AnnotationAssertion(rdfs:comment :PrepareForBreakfast "Describes a goal to prepare a table or dining area for a breakfast.") -SubClassOf(:PrepareForBreakfast :PrepareForMeal) +AnnotationAssertion(SOMA:ELANName SOMA:Arranging "construction-arrange-objects") +AnnotationAssertion(SOMA:ELANUsageGuideline SOMA:Arranging "A task involving the arrangement of a collection of objects in a particular way.") -# Class: () +# Class: SOMA:PrepareForBreakfast (SOMA:PrepareForBreakfast) -AnnotationAssertion(rdfs:comment :PrepareForDinner "Describes a goal to prepare a table or dining area for a dinner.") -SubClassOf(:PrepareForDinner :PrepareForMeal) +AnnotationAssertion(rdfs:comment SOMA:PrepareForBreakfast "Describes a goal to prepare a table or dining area for a breakfast.") +SubClassOf(SOMA:PrepareForBreakfast SOMA:PrepareForMeal) -# Class: () +# Class: SOMA:PrepareForDinner (SOMA:PrepareForDinner) -AnnotationAssertion(rdfs:comment :PrepareForLunch "Describes a goal to prepare a table or dining area for a lunch.") -SubClassOf(:PrepareForLunch :PrepareForMeal) +AnnotationAssertion(rdfs:comment SOMA:PrepareForDinner "Describes a goal to prepare a table or dining area for a dinner.") +SubClassOf(SOMA:PrepareForDinner SOMA:PrepareForMeal) -# Class: () +# Class: SOMA:PrepareForLunch (SOMA:PrepareForLunch) -AnnotationAssertion(rdfs:comment :PrepareForMeal "A description of a goal to prepare for serving a meal by setting a table. +AnnotationAssertion(rdfs:comment SOMA:PrepareForLunch "Describes a goal to prepare a table or dining area for a lunch.") +SubClassOf(SOMA:PrepareForLunch SOMA:PrepareForMeal) -The meal will have a number of expected participants and a level of formality.") -SubClassOf(:PrepareForMeal ) -SubClassOf(:PrepareForMeal DataSomeValuesFrom(:expectedNumberOfPeople xsd:integer)) -SubClassOf(:PrepareForMeal DataSomeValuesFrom(:formalityLevel xsd:boolean)) +# Class: SOMA:PrepareForMeal (SOMA:PrepareForMeal) -# Class: () +AnnotationAssertion(rdfs:comment SOMA:PrepareForMeal "A description of a goal to prepare for serving a meal by setting a table. -AnnotationAssertion(rdfs:comment :SettingTheTable "The task to prepare a table for a meal.") -SubClassOf(:SettingTheTable SOMA:Arranging) -SubClassOf(:SettingTheTable ObjectSomeValuesFrom( :PrepareForMeal)) +The meal will have a number of expected participants and a level of formality.") +SubClassOf(SOMA:PrepareForMeal ) +SubClassOf(SOMA:PrepareForMeal DataSomeValuesFrom(SOMA:expectedNumberOfPeople xsd:integer)) +SubClassOf(SOMA:PrepareForMeal DataSomeValuesFrom(SOMA:formalityLevel xsd:boolean)) -# Class: () +# Class: SOMA:SettingTheTable (SOMA:SettingTheTable) -AnnotationAssertion(SOMA:ELANName SOMA:Arranging "construction-arrange-objects") -AnnotationAssertion(SOMA:ELANUsageGuideline SOMA:Arranging "A task involving the arrangement of a collection of objects in a particular way.") +AnnotationAssertion(rdfs:comment SOMA:SettingTheTable "The task to prepare a table for a meal.") +SubClassOf(SOMA:SettingTheTable SOMA:Arranging) +SubClassOf(SOMA:SettingTheTable ObjectSomeValuesFrom( SOMA:PrepareForMeal)) AnnotationAssertion(SOMA:ELANName SOMA:Actuating "move-object") diff --git a/owl/SOMA-HOME.owl b/owl/SOMA-HOME.owl index 0d861f1b..65f006bc 100644 --- a/owl/SOMA-HOME.owl +++ b/owl/SOMA-HOME.owl @@ -1,4 +1,4 @@ -Prefix(:=) +Prefix(:=) Prefix(dc:=) Prefix(owl:=) Prefix(rdf:=) @@ -12,34 +12,53 @@ Ontology( Import() Annotation(rdfs:comment "SOMA-HOME defines the concepts that are specific to home, e.g. kitchen environment, household items.") -Declaration(Class()) -Declaration(Class()) -Declaration(Class()) -Declaration(Class()) -Declaration(Class()) -Declaration(Class()) -Declaration(Class()) -Declaration(Class()) -Declaration(Class()) -Declaration(Class()) -Declaration(Class()) -Declaration(Class()) -Declaration(Class()) -Declaration(Class()) -Declaration(Class()) -Declaration(Class()) -Declaration(Class()) -Declaration(Class()) -Declaration(Class()) -Declaration(Class()) -Declaration(Class()) -Declaration(Class()) +Declaration(Class(SOMA:API_Specification)) +Declaration(Class(SOMA:AbductiveReasoning)) +Declaration(Class(SOMA:Accessor)) +Declaration(Class(SOMA:Accident)) +Declaration(Class(SOMA:ActionExecutionPlan)) +Declaration(Class(SOMA:Actuating)) +Declaration(Class(SOMA:AestheticDesign)) Declaration(Class(SOMA:Affordance)) +Declaration(Class(SOMA:AffordsBeingSitOn)) Declaration(Class(SOMA:AgentRole)) +Declaration(Class(SOMA:Agonist)) +Declaration(Class(SOMA:Algorithm)) +Declaration(Class(SOMA:Alteration)) +Declaration(Class(SOMA:AlterativeInteraction)) +Declaration(Class(SOMA:AlteredObject)) +Declaration(Class(SOMA:Amateurish)) +Declaration(Class(SOMA:Answer)) +Declaration(Class(SOMA:AnsweringTask)) +Declaration(Class(SOMA:Antagonist)) Declaration(Class(SOMA:Appliance)) +Declaration(Class(SOMA:Approaching)) +Declaration(Class(SOMA:ArchiveFile)) +Declaration(Class(SOMA:ArchiveFormat)) +Declaration(Class(SOMA:ArchiveText)) +Declaration(Class(SOMA:AreaSurveying)) +Declaration(Class(SOMA:Arm)) +Declaration(Class(SOMA:Armchair)) +Declaration(Class(SOMA:Arranging)) +Declaration(Class(SOMA:ArtificialAgent)) +Declaration(Class(SOMA:Assembling)) +Declaration(Class(SOMA:AssertionTask)) +Declaration(Class(SOMA:AssumingArmPose)) Declaration(Class(SOMA:AssumingPose)) +Declaration(Class(SOMA:AttentionShift)) +Declaration(Class(SOMA:AvoidedObject)) +Declaration(Class(SOMA:Avoiding)) Declaration(Class(SOMA:BakedGood)) +Declaration(Class(SOMA:Barrier)) +Declaration(Class(SOMA:BedsideTable)) +Declaration(Class(SOMA:BehavioralDiagnosis)) +Declaration(Class(SOMA:BeneficiaryRole)) +Declaration(Class(SOMA:Binding)) Declaration(Class(SOMA:Blade)) +Declaration(Class(SOMA:Blockage)) +Declaration(Class(SOMA:BlockedObject)) +Declaration(Class(SOMA:BodyMovement)) +Declaration(Class(SOMA:Boiling)) Declaration(Class(SOMA:Bottle)) Declaration(Class(SOMA:Bowl)) Declaration(Class(SOMA:Box)) @@ -48,20 +67,97 @@ Declaration(Class(SOMA:Bread)) Declaration(Class(SOMA:BreadKnife)) Declaration(Class(SOMA:BreakfastPlate)) Declaration(Class(SOMA:Building)) +Declaration(Class(SOMA:CanBeSatOn)) +Declaration(Class(SOMA:CanCut)) +Declaration(Class(SOMA:CanSit)) +Declaration(Class(SOMA:Capability)) +Declaration(Class(SOMA:Capacity)) Declaration(Class(SOMA:Carafe)) +Declaration(Class(SOMA:Catching)) +Declaration(Class(SOMA:CausalEventRole)) +Declaration(Class(SOMA:CausativeRole)) +Declaration(Class(SOMA:CausedMotionTheory)) Declaration(Class(SOMA:Ceiling)) +Declaration(Class(SOMA:CeramicCooktop)) Declaration(Class(SOMA:CerealBox)) +Declaration(Class(SOMA:Channel)) +Declaration(Class(SOMA:CheckingObjectPresence)) +Declaration(Class(SOMA:ChemicalProcess)) +Declaration(Class(SOMA:CircularCylinder)) +Declaration(Class(SOMA:Classifier)) +Declaration(Class(SOMA:ClausalObject)) +Declaration(Class(SOMA:Clean)) +Declaration(Class(SOMA:Cleaning)) +Declaration(Class(SOMA:Cleanliness)) +Declaration(Class(SOMA:CleanlinessRegion)) +Declaration(Class(SOMA:Client-Server_Specification)) +Declaration(Class(SOMA:ClientRole)) +Declaration(Class(SOMA:Closing)) Declaration(Class(SOMA:ClosingDisposition)) +Declaration(Class(SOMA:Clumsiness)) Declaration(Class(SOMA:CoffeeCarafe)) +Declaration(Class(SOMA:CoffeeTable)) +Declaration(Class(SOMA:CognitiveAgent)) +Declaration(Class(SOMA:CoilCooktop)) +Declaration(Class(SOMA:Collision)) +Declaration(Class(SOMA:Color)) +Declaration(Class(SOMA:ColorRegion)) +Declaration(Class(SOMA:CommandingTask)) +Declaration(Class(SOMA:CommitedObject)) +Declaration(Class(SOMA:CommunicationAction)) +Declaration(Class(SOMA:CommunicationReport)) +Declaration(Class(SOMA:CommunicationTask)) +Declaration(Class(SOMA:CommunicationTopic)) Declaration(Class(SOMA:Compartment)) +Declaration(Class(SOMA:Composing)) +Declaration(Class(SOMA:Computer_Language)) +Declaration(Class(SOMA:Computer_Program)) +Declaration(Class(SOMA:Conclusion)) +Declaration(Class(SOMA:ConditionalSuccedence)) +Declaration(Class(SOMA:Configuration)) +Declaration(Class(SOMA:ConnectedObject)) +Declaration(Class(SOMA:Connectivity)) +Declaration(Class(SOMA:Constructing)) +Declaration(Class(SOMA:ContactState)) +Declaration(Class(SOMA:Container)) Declaration(Class(SOMA:Containment)) +Declaration(Class(SOMA:ContainmentState)) +Declaration(Class(SOMA:ContainmentTheory)) +Declaration(Class(SOMA:ContinuousJoint)) +Declaration(Class(SOMA:ControlTheory)) +Declaration(Class(SOMA:Cooktop)) +Declaration(Class(SOMA:CounterfactualBinding)) Declaration(Class(SOMA:Countertop)) +Declaration(Class(SOMA:Cover)) +Declaration(Class(SOMA:Coverage)) +Declaration(Class(SOMA:CoverageTheory)) +Declaration(Class(SOMA:CoveredObject)) +Declaration(Class(SOMA:CoveringTheory)) +Declaration(Class(SOMA:CrackingTheory)) +Declaration(Class(SOMA:CreatedObject)) +Declaration(Class(SOMA:Creation)) Declaration(Class(SOMA:Crockery)) Declaration(Class(SOMA:Cup)) Declaration(Class(SOMA:Cupboard)) +Declaration(Class(SOMA:CutObject)) Declaration(Class(SOMA:Cutlery)) +Declaration(Class(SOMA:Cuttability)) +Declaration(Class(SOMA:Cutter)) +Declaration(Class(SOMA:Cutting)) Declaration(Class(SOMA:CuttingTool)) +Declaration(Class(SOMA:CylinderShape)) +Declaration(Class(SOMA:Database)) +Declaration(Class(SOMA:Deciding)) +Declaration(Class(SOMA:DeclarativeClause)) +Declaration(Class(SOMA:DeductiveReasoning)) +Declaration(Class(SOMA:Deformation)) +Declaration(Class(SOMA:Delivering)) +Declaration(Class(SOMA:DependentPlace)) +Declaration(Class(SOMA:Deposit)) +Declaration(Class(SOMA:DepositedObject)) Declaration(Class(SOMA:Deposition)) +Declaration(Class(SOMA:DerivingInformation)) +Declaration(Class(SOMA:DesignedChair)) Declaration(Class(SOMA:DesignedComponent)) Declaration(Class(SOMA:DesignedContainer)) Declaration(Class(SOMA:DesignedFurniture)) @@ -70,84 +166,886 @@ Declaration(Class(SOMA:DesignedSpade)) Declaration(Class(SOMA:DesignedTool)) Declaration(Class(SOMA:DessertFork)) Declaration(Class(SOMA:Destination)) +Declaration(Class(SOMA:DestroyedObject)) +Declaration(Class(SOMA:Destruction)) +Declaration(Class(SOMA:DetectedObject)) +Declaration(Class(SOMA:DeviceState)) +Declaration(Class(SOMA:DeviceStateRange)) +Declaration(Class(SOMA:DeviceTurnedOff)) +Declaration(Class(SOMA:DeviceTurnedOn)) +Declaration(Class(SOMA:DexterityDiagnosis)) +Declaration(Class(SOMA:Dicing)) +Declaration(Class(SOMA:Digital_File)) Declaration(Class(SOMA:DinnerPlate)) +Declaration(Class(SOMA:DirectedMotion)) +Declaration(Class(SOMA:Dirty)) +Declaration(Class(SOMA:Discourse)) Declaration(Class(SOMA:Dish)) Declaration(Class(SOMA:Dishwasher)) Declaration(Class(SOMA:DishwasherTab)) Declaration(Class(SOMA:Dispenser)) +Declaration(Class(SOMA:Disposition)) +Declaration(Class(SOMA:Distancing)) Declaration(Class(SOMA:Door)) Declaration(Class(SOMA:Drawer)) +Declaration(Class(SOMA:Dreaming)) +Declaration(Class(SOMA:Driving)) +Declaration(Class(SOMA:Dropping)) +Declaration(Class(SOMA:ESTSchemaTheory)) +Declaration(Class(SOMA:Effort)) +Declaration(Class(SOMA:ElectricCooktop)) +Declaration(Class(SOMA:EnclosedObject)) +Declaration(Class(SOMA:Enclosing)) +Declaration(Class(SOMA:EndEffectorPositioning)) +Declaration(Class(SOMA:Episode)) +Declaration(Class(SOMA:EventAdjacentRole)) +Declaration(Class(SOMA:ExcludedObject)) +Declaration(Class(SOMA:ExecutableFile)) +Declaration(Class(SOMA:ExecutableFormat)) +Declaration(Class(SOMA:ExecutableSchematicTheory)) +Declaration(Class(SOMA:ExecutableSoftware)) +Declaration(Class(SOMA:Executable_Code)) +Declaration(Class(SOMA:ExecutionStateRegion)) +Declaration(Class(SOMA:ExistingObjectRole)) +Declaration(Class(SOMA:ExperiencerRole)) +Declaration(Class(SOMA:ExtractedObject)) +Declaration(Class(SOMA:Extrinsic)) +Declaration(Class(SOMA:FactualBinding)) +Declaration(Class(SOMA:FailedAttempt)) +Declaration(Class(SOMA:FaultySoftware)) +Declaration(Class(SOMA:Feature)) +Declaration(Class(SOMA:Fetching)) +Declaration(Class(SOMA:FileConfiguration)) +Declaration(Class(SOMA:File_format)) +Declaration(Class(SOMA:Finger)) +Declaration(Class(SOMA:FixedJoint)) +Declaration(Class(SOMA:Flipping)) +Declaration(Class(SOMA:FloatingJoint)) Declaration(Class(SOMA:Floor)) +Declaration(Class(SOMA:Fluid)) +Declaration(Class(SOMA:FluidFlow)) +Declaration(Class(SOMA:Flying)) +Declaration(Class(SOMA:Focusing)) +Declaration(Class(SOMA:Foolishness)) +Declaration(Class(SOMA:ForceAttribute)) +Declaration(Class(SOMA:ForceInteraction)) +Declaration(Class(SOMA:ForgettingIncorrectInformation)) +Declaration(Class(SOMA:ForgettingIrrelevantInformation)) Declaration(Class(SOMA:Fork)) +Declaration(Class(SOMA:FormalLanguage)) Declaration(Class(SOMA:FreezerCompartment)) +Declaration(Class(SOMA:FrictionAttribute)) +Declaration(Class(SOMA:FunctionalControl)) +Declaration(Class(SOMA:FunctionalDesign)) +Declaration(Class(SOMA:FunctionalDiagnosis)) +Declaration(Class(SOMA:FunctionalPart)) +Declaration(Class(SOMA:FunctionalSpatialSchemaTheory)) +Declaration(Class(SOMA:GasCooktop)) +Declaration(Class(SOMA:GetTaskParameter)) Declaration(Class(SOMA:Glass)) +Declaration(Class(SOMA:GoalRole)) +Declaration(Class(SOMA:GraphDatabase)) +Declaration(Class(SOMA:GraphQueryLanguage)) +Declaration(Class(SOMA:GraspTransfer)) Declaration(Class(SOMA:Graspability)) +Declaration(Class(SOMA:Grasping)) +Declaration(Class(SOMA:GraspingMotion)) +Declaration(Class(SOMA:GreenColor)) +Declaration(Class(SOMA:Gripper)) +Declaration(Class(SOMA:Hand)) +Declaration(Class(SOMA:HardwareDiagnosis)) +Declaration(Class(SOMA:HasQualityRegion)) +Declaration(Class(SOMA:Head)) +Declaration(Class(SOMA:HeadMovement)) +Declaration(Class(SOMA:HeadTurning)) +Declaration(Class(SOMA:HingeJoint)) +Declaration(Class(SOMA:Holding)) +Declaration(Class(SOMA:HostRole)) Declaration(Class(SOMA:Hotplate)) +Declaration(Class(SOMA:Human-readable_Programming_Language)) +Declaration(Class(SOMA:HumanActivityRecording)) +Declaration(Class(SOMA:IllocutionaryTask)) +Declaration(Class(SOMA:ImageSchemaTheory)) +Declaration(Class(SOMA:Imagining)) +Declaration(Class(SOMA:Impediment)) +Declaration(Class(SOMA:ImperativeClause)) +Declaration(Class(SOMA:Inability)) +Declaration(Class(SOMA:IncludedObject)) +Declaration(Class(SOMA:IncompatibleSoftware)) +Declaration(Class(SOMA:InductionCooktop)) +Declaration(Class(SOMA:InductiveReasoning)) +Declaration(Class(SOMA:Infeasibility)) +Declaration(Class(SOMA:InferenceRules)) +Declaration(Class(SOMA:InformationAcquisition)) +Declaration(Class(SOMA:InformationDismissal)) +Declaration(Class(SOMA:InformationRetrieval)) +Declaration(Class(SOMA:InformationStorage)) +Declaration(Class(SOMA:InsertedObject)) Declaration(Class(SOMA:Insertion)) +Declaration(Class(SOMA:Instructions)) +Declaration(Class(SOMA:Instrument)) +Declaration(Class(SOMA:InterfaceComponentRole)) +Declaration(Class(SOMA:InterfaceSpecification)) +Declaration(Class(SOMA:IntermediateGrasp)) +Declaration(Class(SOMA:Interpreting)) +Declaration(Class(SOMA:InterrogativeClause)) +Declaration(Class(SOMA:Intrinsic)) +Declaration(Class(SOMA:Introspecting)) +Declaration(Class(SOMA:Item)) Declaration(Class(SOMA:JamJar)) Declaration(Class(SOMA:Jar)) +Declaration(Class(SOMA:Joint)) +Declaration(Class(SOMA:JointLimit)) +Declaration(Class(SOMA:JointState)) +Declaration(Class(SOMA:KineticFrictionAttribute)) +Declaration(Class(SOMA:KinoDynamicData)) Declaration(Class(SOMA:Kitchen)) +Declaration(Class(SOMA:KitchenCabinet)) Declaration(Class(SOMA:KitchenKnife)) +Declaration(Class(SOMA:KitchenUnit)) Declaration(Class(SOMA:Knife)) +Declaration(Class(SOMA:Knowledge)) +Declaration(Class(SOMA:KnowledgeRepresentationLanguage)) +Declaration(Class(SOMA:Labeling)) +Declaration(Class(SOMA:Language)) +Declaration(Class(SOMA:Leaning)) +Declaration(Class(SOMA:Learning)) +Declaration(Class(SOMA:Leg)) Declaration(Class(SOMA:Lid)) +Declaration(Class(SOMA:Lifting)) +Declaration(Class(SOMA:Limb)) +Declaration(Class(SOMA:LimbMotion)) +Declaration(Class(SOMA:LinguisticObject)) Declaration(Class(SOMA:Linkage)) +Declaration(Class(SOMA:LinkageState)) +Declaration(Class(SOMA:LinkedObject)) +Declaration(Class(SOMA:Localization)) +Declaration(Class(SOMA:Location)) +Declaration(Class(SOMA:LocatumRole)) +Declaration(Class(SOMA:Locomotion)) +Declaration(Class(SOMA:LocutionaryAction)) +Declaration(Class(SOMA:LookingAt)) +Declaration(Class(SOMA:LookingFor)) +Declaration(Class(SOMA:Lowering)) +Declaration(Class(SOMA:Manipulating)) +Declaration(Class(SOMA:Markup_Language)) +Declaration(Class(SOMA:MassAttribute)) +Declaration(Class(SOMA:Masterful)) +Declaration(Class(SOMA:Material)) +Declaration(Class(SOMA:MedicalDiagnosis)) +Declaration(Class(SOMA:Memorizing)) +Declaration(Class(SOMA:MentalAction)) +Declaration(Class(SOMA:MentalTask)) +Declaration(Class(SOMA:MeshShape)) +Declaration(Class(SOMA:MeshShapeData)) +Declaration(Class(SOMA:Message)) +Declaration(Class(SOMA:MetaCognitionEvaluationTopic)) +Declaration(Class(SOMA:MetaCognitionMemoryTopic)) +Declaration(Class(SOMA:MetaCognitionPlanningTopic)) +Declaration(Class(SOMA:MetaCognitionTopic)) +Declaration(Class(SOMA:MetacognitiveControlling)) +Declaration(Class(SOMA:MetacognitiveMonitoring)) Declaration(Class(SOMA:MilkBottle)) Declaration(Class(SOMA:MilkPack)) +Declaration(Class(SOMA:Mixing)) +Declaration(Class(SOMA:MixingTheory)) +Declaration(Class(SOMA:ModifyingPhysicalObject)) +Declaration(Class(SOMA:MonitoringJointState)) +Declaration(Class(SOMA:Motion)) +Declaration(Class(SOMA:MovableJoint)) +Declaration(Class(SOMA:MovedObject)) +Declaration(Class(SOMA:MovingAway)) +Declaration(Class(SOMA:MovingTo)) +Declaration(Class(SOMA:Natural_Language)) +Declaration(Class(SOMA:Natural_Language_Text)) +Declaration(Class(SOMA:Navigating)) +Declaration(Class(SOMA:NetForce)) Declaration(Class(SOMA:NutellaJar)) +Declaration(Class(SOMA:Obstacle)) +Declaration(Class(SOMA:Ontology)) +Declaration(Class(SOMA:Ontology_Language)) +Declaration(Class(SOMA:Opening)) +Declaration(Class(SOMA:Orienting)) +Declaration(Class(SOMA:Origin)) Declaration(Class(SOMA:Oven)) Declaration(Class(SOMA:Pack)) Declaration(Class(SOMA:Pan)) Declaration(Class(SOMA:Pancake)) Declaration(Class(SOMA:PancakeMix)) +Declaration(Class(SOMA:ParkingArms)) Declaration(Class(SOMA:PastaBowl)) +Declaration(Class(SOMA:PathRole)) +Declaration(Class(SOMA:Patient)) Declaration(Class(SOMA:PepperShaker)) +Declaration(Class(SOMA:Perceiving)) +Declaration(Class(SOMA:PerformerRole)) +Declaration(Class(SOMA:PhaseTransition)) +Declaration(Class(SOMA:Phrase)) +Declaration(Class(SOMA:PhysicalAccessibility)) +Declaration(Class(SOMA:PhysicalAcquiring)) +Declaration(Class(SOMA:PhysicalAction)) +Declaration(Class(SOMA:PhysicalBlockage)) +Declaration(Class(SOMA:PhysicalEffector)) +Declaration(Class(SOMA:PhysicalExistence)) +Declaration(Class(SOMA:PhysicalQuality)) +Declaration(Class(SOMA:PhysicalState)) +Declaration(Class(SOMA:PhysicalTask)) +Declaration(Class(SOMA:PhysicsProcess)) +Declaration(Class(SOMA:PickingUp)) +Declaration(Class(SOMA:Placing)) +Declaration(Class(SOMA:PlacingTheory)) +Declaration(Class(SOMA:PlanarJoint)) +Declaration(Class(SOMA:Planning)) Declaration(Class(SOMA:Plate)) +Declaration(Class(SOMA:PluginRole)) +Declaration(Class(SOMA:PluginSpecification)) +Declaration(Class(SOMA:Positioning)) +Declaration(Class(SOMA:PosturalMoving)) Declaration(Class(SOMA:Pot)) +Declaration(Class(SOMA:Pourable)) +Declaration(Class(SOMA:PouredObject)) +Declaration(Class(SOMA:Pouring)) +Declaration(Class(SOMA:PouringInto)) +Declaration(Class(SOMA:PouringOnto)) +Declaration(Class(SOMA:PowerGrasp)) +Declaration(Class(SOMA:PrecisionGrasp)) +Declaration(Class(SOMA:Prediction)) +Declaration(Class(SOMA:PrehensileEffector)) +Declaration(Class(SOMA:PrehensileMotion)) +Declaration(Class(SOMA:Premise)) +Declaration(Class(SOMA:PreservativeInteraction)) +Declaration(Class(SOMA:PrismaticJoint)) +Declaration(Class(SOMA:ProcessFlow)) +Declaration(Class(SOMA:ProcessType)) +Declaration(Class(SOMA:Programming_Language)) +Declaration(Class(SOMA:Progression)) +Declaration(Class(SOMA:Proprioceiving)) +Declaration(Class(SOMA:Prospecting)) +Declaration(Class(SOMA:Protector)) +Declaration(Class(SOMA:ProximalTheory)) +Declaration(Class(SOMA:Pulling)) +Declaration(Class(SOMA:Purification)) +Declaration(Class(SOMA:Pushing)) +Declaration(Class(SOMA:PushingAway)) +Declaration(Class(SOMA:PushingDown)) +Declaration(Class(SOMA:PuttingDown)) +Declaration(Class(SOMA:QualityTransition)) +Declaration(Class(SOMA:Query)) +Declaration(Class(SOMA:QueryAnsweringTask)) +Declaration(Class(SOMA:QueryEngine)) +Declaration(Class(SOMA:QueryLanguage)) +Declaration(Class(SOMA:QueryingTask)) Declaration(Class(SOMA:Rack)) Declaration(Class(SOMA:RaspberryJamJar)) +Declaration(Class(SOMA:Reaching)) +Declaration(Class(SOMA:Reasoner)) +Declaration(Class(SOMA:Reasoning)) +Declaration(Class(SOMA:Receiver)) +Declaration(Class(SOMA:RecipientRole)) +Declaration(Class(SOMA:RecordedEpisode)) +Declaration(Class(SOMA:RedColor)) Declaration(Class(SOMA:Refrigerator)) +Declaration(Class(SOMA:Reification)) +Declaration(Class(SOMA:RelationAdjacentRole)) +Declaration(Class(SOMA:RelationalDatabase)) +Declaration(Class(SOMA:RelationalQueryLanguage)) +Declaration(Class(SOMA:RelatumRole)) +Declaration(Class(SOMA:Releasing)) +Declaration(Class(SOMA:ReleasingMotion)) +Declaration(Class(SOMA:RelevantPart)) +Declaration(Class(SOMA:Remembering)) +Declaration(Class(SOMA:RemovedObject)) +Declaration(Class(SOMA:Replanning)) +Declaration(Class(SOMA:ResourceRole)) +Declaration(Class(SOMA:RestrictedObject)) +Declaration(Class(SOMA:Restrictor)) +Declaration(Class(SOMA:ResultRole)) +Declaration(Class(SOMA:Retracting)) +Declaration(Class(SOMA:Retrospecting)) +Declaration(Class(SOMA:RevoluteJoint)) +Declaration(Class(SOMA:RoleFillerBinding)) +Declaration(Class(SOMA:RoleRoleBinding)) Declaration(Class(SOMA:Room)) Declaration(Class(SOMA:RoomSurface)) +Declaration(Class(SOMA:Rubbing)) Declaration(Class(SOMA:SaladBowl)) Declaration(Class(SOMA:SaltShaker)) +Declaration(Class(SOMA:Scene)) +Declaration(Class(SOMA:SchematicTheory)) +Declaration(Class(SOMA:SelectedObject)) +Declaration(Class(SOMA:SelectingItem)) +Declaration(Class(SOMA:SelfReflection)) +Declaration(Class(SOMA:Sender)) +Declaration(Class(SOMA:ServerRole)) +Declaration(Class(SOMA:Serving)) +Declaration(Class(SOMA:Setpoint)) +Declaration(Class(SOMA:SettingGripper)) Declaration(Class(SOMA:Shaker)) +Declaration(Class(SOMA:Shape)) +Declaration(Class(SOMA:ShapeRegion)) +Declaration(Class(SOMA:ShapedObject)) Declaration(Class(SOMA:Shaping)) +Declaration(Class(SOMA:Sharpness)) +Declaration(Class(SOMA:Shifting)) +Declaration(Class(SOMA:Simulating)) +Declaration(Class(SOMA:Simulation_Reasoner)) +Declaration(Class(SOMA:Sink)) +Declaration(Class(SOMA:Sitting)) +Declaration(Class(SOMA:SittingDestination)) +Declaration(Class(SOMA:SituationTransition)) +Declaration(Class(SOMA:Size)) +Declaration(Class(SOMA:Slicing)) +Declaration(Class(SOMA:Sluggishness)) +Declaration(Class(SOMA:SocialQuality)) +Declaration(Class(SOMA:SocialState)) +Declaration(Class(SOMA:Sofa)) +Declaration(Class(SOMA:Software)) +Declaration(Class(SOMA:SoftwareDiagnosis)) +Declaration(Class(SOMA:SoftwareInstance)) +Declaration(Class(SOMA:SoftwareLibrary)) +Declaration(Class(SOMA:SoftwareRole)) +Declaration(Class(SOMA:Software_Configuration)) Declaration(Class(SOMA:SoupPot)) +Declaration(Class(SOMA:SourceMaterialRole)) +Declaration(Class(SOMA:SourcePathGoalTheory)) +Declaration(Class(SOMA:Source_Code)) +Declaration(Class(SOMA:SpatialRelationRole)) +Declaration(Class(SOMA:SpatioTemporalRole)) Declaration(Class(SOMA:Spatula)) +Declaration(Class(SOMA:SphereShape)) Declaration(Class(SOMA:Spoon)) +Declaration(Class(SOMA:Squeezing)) +Declaration(Class(SOMA:Standing)) +Declaration(Class(SOMA:State)) +Declaration(Class(SOMA:StateTransition)) +Declaration(Class(SOMA:StateType)) +Declaration(Class(SOMA:StaticFrictionAttribute)) +Declaration(Class(SOMA:StatisticalReasoner)) +Declaration(Class(SOMA:Status)) +Declaration(Class(SOMA:StatusFailure)) +Declaration(Class(SOMA:StimulusRole)) +Declaration(Class(SOMA:Stirring)) +Declaration(Class(SOMA:Storage)) +Declaration(Class(SOMA:StoredObject)) Declaration(Class(SOMA:Stove)) +Declaration(Class(SOMA:StructuralDesign)) +Declaration(Class(SOMA:Structured_Text)) +Declaration(Class(SOMA:SubCognitiveAgent)) +Declaration(Class(SOMA:Succedence)) +Declaration(Class(SOMA:SuccessDiagnosis)) +Declaration(Class(SOMA:Successfulness)) Declaration(Class(SOMA:SugarDispenser)) +Declaration(Class(SOMA:SupportState)) +Declaration(Class(SOMA:SupportTheory)) +Declaration(Class(SOMA:SupportedObject)) +Declaration(Class(SOMA:Supporter)) Declaration(Class(SOMA:Surface)) +Declaration(Class(SOMA:Swimming)) +Declaration(Class(SOMA:SymbolicReasoner)) +Declaration(Class(SOMA:System)) Declaration(Class(SOMA:Table)) Declaration(Class(SOMA:TableFork)) Declaration(Class(SOMA:TableKnife)) Declaration(Class(SOMA:TableSpoon)) Declaration(Class(SOMA:Tableware)) +Declaration(Class(SOMA:Tap)) +Declaration(Class(SOMA:Tapping)) +Declaration(Class(SOMA:TaskInvocation)) +Declaration(Class(SOMA:Taxis)) Declaration(Class(SOMA:TeaSpoon)) +Declaration(Class(SOMA:TechnicalDiagnosis)) +Declaration(Class(SOMA:Temperature)) +Declaration(Class(SOMA:TemperatureRegion)) Declaration(Class(SOMA:Tempering)) Declaration(Class(SOMA:TemperingByCooling)) Declaration(Class(SOMA:TemperingByHeating)) +Declaration(Class(SOMA:Text)) +Declaration(Class(SOMA:ThinkAloud)) +Declaration(Class(SOMA:ThinkAloudActionTopic)) +Declaration(Class(SOMA:ThinkAloudGeneralKnowledgeTopic)) +Declaration(Class(SOMA:ThinkAloudKnowledgeTopic)) +Declaration(Class(SOMA:ThinkAloudObstructionTopic)) +Declaration(Class(SOMA:ThinkAloudOpinionTopic)) +Declaration(Class(SOMA:ThinkAloudPerceptionTopic)) +Declaration(Class(SOMA:ThinkAloudPlanTopic)) +Declaration(Class(SOMA:ThinkAloudSceneKnowledgeTopic)) +Declaration(Class(SOMA:ThinkAloudTopic)) +Declaration(Class(SOMA:Threshold)) +Declaration(Class(SOMA:Throwing)) +Declaration(Class(SOMA:TimeRole)) +Declaration(Class(SOMA:Tool)) +Declaration(Class(SOMA:Transient)) +Declaration(Class(SOMA:Transporting)) Declaration(Class(SOMA:TrashContainer)) +Declaration(Class(SOMA:Triplestore)) +Declaration(Class(SOMA:Turning)) +Declaration(Class(SOMA:UnavailableSoftware)) +Declaration(Class(SOMA:UndirectedMotion)) +Declaration(Class(SOMA:Unsuccessfulness)) +Declaration(Class(SOMA:Vaporizing)) +Declaration(Class(SOMA:Variability)) +Declaration(Class(SOMA:VideoData)) +Declaration(Class(SOMA:Walking)) Declaration(Class(SOMA:Wall)) +Declaration(Class(SOMA:Wardrobe)) Declaration(Class(SOMA:WaterBottle)) Declaration(Class(SOMA:WaterGlass)) Declaration(Class(SOMA:WineBottle)) Declaration(Class(SOMA:WineGlass)) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) Declaration(Class()) Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(ObjectProperty(SOMA:affects)) +Declaration(ObjectProperty(SOMA:affordanceDefines)) +Declaration(ObjectProperty(SOMA:affordanceDefinesTask)) +Declaration(ObjectProperty(SOMA:affordsBearer)) +Declaration(ObjectProperty(SOMA:affordsConcept)) +Declaration(ObjectProperty(SOMA:affordsPerformer)) +Declaration(ObjectProperty(SOMA:affordsSetpoint)) +Declaration(ObjectProperty(SOMA:affordsTask)) Declaration(ObjectProperty(SOMA:affordsTrigger)) +Declaration(ObjectProperty(SOMA:after)) +Declaration(ObjectProperty(SOMA:answers)) +Declaration(ObjectProperty(SOMA:before)) +Declaration(ObjectProperty(SOMA:causes)) +Declaration(ObjectProperty(SOMA:causesTransition)) +Declaration(ObjectProperty(SOMA:coOccurs)) +Declaration(ObjectProperty(SOMA:contains)) +Declaration(ObjectProperty(SOMA:containsEvent)) +Declaration(ObjectProperty(SOMA:containsObject)) +Declaration(ObjectProperty(SOMA:coversObject)) Declaration(ObjectProperty(SOMA:definesBearer)) +Declaration(ObjectProperty(SOMA:definesEventType)) +Declaration(ObjectProperty(SOMA:definesInput)) +Declaration(ObjectProperty(SOMA:definesOutput)) +Declaration(ObjectProperty(SOMA:definesParameter)) +Declaration(ObjectProperty(SOMA:definesParticipant)) +Declaration(ObjectProperty(SOMA:definesPerformer)) +Declaration(ObjectProperty(SOMA:definesProcess)) +Declaration(ObjectProperty(SOMA:definesSetpoint)) Declaration(ObjectProperty(SOMA:definesTrigger)) +Declaration(ObjectProperty(SOMA:derivedFrom)) +Declaration(ObjectProperty(SOMA:describesQuality)) +Declaration(ObjectProperty(SOMA:directlyCauses)) +Declaration(ObjectProperty(SOMA:directlyDerivedFrom)) +Declaration(ObjectProperty(SOMA:during)) +Declaration(ObjectProperty(SOMA:encodes)) +Declaration(ObjectProperty(SOMA:finishedBy)) +Declaration(ObjectProperty(SOMA:finishes)) +Declaration(ObjectProperty(SOMA:firstMember)) +Declaration(ObjectProperty(SOMA:givesMeaningTo)) +Declaration(ObjectProperty(SOMA:hasAction)) +Declaration(ObjectProperty(SOMA:hasAlterationResult)) +Declaration(ObjectProperty(SOMA:hasAnswer)) +Declaration(ObjectProperty(SOMA:hasBinding)) +Declaration(ObjectProperty(SOMA:hasBindingFiller)) +Declaration(ObjectProperty(SOMA:hasBindingRole)) +Declaration(ObjectProperty(SOMA:hasChildLink)) +Declaration(ObjectProperty(SOMA:hasColor)) Declaration(ObjectProperty(SOMA:hasDisposition)) +Declaration(ObjectProperty(SOMA:hasEndLink)) +Declaration(ObjectProperty(SOMA:hasExecutionState)) +Declaration(ObjectProperty(SOMA:hasFeature)) +Declaration(ObjectProperty(SOMA:hasFirstStep)) +Declaration(ObjectProperty(SOMA:hasFrictionAttribute)) +Declaration(ObjectProperty(SOMA:hasGoal)) +Declaration(ObjectProperty(SOMA:hasInitialScene)) +Declaration(ObjectProperty(SOMA:hasInitialSituation)) +Declaration(ObjectProperty(SOMA:hasInitialState)) +Declaration(ObjectProperty(SOMA:hasInputParameter)) +Declaration(ObjectProperty(SOMA:hasJointLimit)) +Declaration(ObjectProperty(SOMA:hasJointState)) +Declaration(ObjectProperty(SOMA:hasLink)) +Declaration(ObjectProperty(SOMA:hasLocalization)) +Declaration(ObjectProperty(SOMA:hasMassAttribute)) +Declaration(ObjectProperty(SOMA:hasNetForce)) +Declaration(ObjectProperty(SOMA:hasNextStep)) +Declaration(ObjectProperty(SOMA:hasOutputParameter)) +Declaration(ObjectProperty(SOMA:hasParentLink)) +Declaration(ObjectProperty(SOMA:hasPhase)) Declaration(ObjectProperty(SOMA:hasPhysicalComponent)) +Declaration(ObjectProperty(SOMA:hasPredecessor)) +Declaration(ObjectProperty(SOMA:hasPreviousStep)) +Declaration(ObjectProperty(SOMA:hasProcessType)) +Declaration(ObjectProperty(SOMA:hasQuale)) +Declaration(ObjectProperty(SOMA:hasRootLink)) +Declaration(ObjectProperty(SOMA:hasShape)) Declaration(ObjectProperty(SOMA:hasShapeRegion)) +Declaration(ObjectProperty(SOMA:hasSoftwareAgent)) +Declaration(ObjectProperty(SOMA:hasSpaceRegion)) +Declaration(ObjectProperty(SOMA:hasStateType)) +Declaration(ObjectProperty(SOMA:hasStatus)) +Declaration(ObjectProperty(SOMA:hasStep)) +Declaration(ObjectProperty(SOMA:hasSuccedence)) +Declaration(ObjectProperty(SOMA:hasSuccessor)) +Declaration(ObjectProperty(SOMA:hasTask)) +Declaration(ObjectProperty(SOMA:hasTerminalScene)) +Declaration(ObjectProperty(SOMA:hasTerminalSituation)) +Declaration(ObjectProperty(SOMA:hasTerminalState)) +Declaration(ObjectProperty(SOMA:includesConcept)) +Declaration(ObjectProperty(SOMA:includesRecord)) +Declaration(ObjectProperty(SOMA:includesSituation)) +Declaration(ObjectProperty(SOMA:interactsWith)) +Declaration(ObjectProperty(SOMA:involvesArtifact)) +Declaration(ObjectProperty(SOMA:involvesEffector)) +Declaration(ObjectProperty(SOMA:involvesPlace)) +Declaration(ObjectProperty(SOMA:isAffectedBy)) +Declaration(ObjectProperty(SOMA:isAlterationResultOf)) +Declaration(ObjectProperty(SOMA:isAnsweredBy)) +Declaration(ObjectProperty(SOMA:isArtifactInvolvedIn)) +Declaration(ObjectProperty(SOMA:isAskedBy)) +Declaration(ObjectProperty(SOMA:isBearerAffordedBy)) +Declaration(ObjectProperty(SOMA:isBearerDefinedIn)) +Declaration(ObjectProperty(SOMA:isCausedByEvent)) +Declaration(ObjectProperty(SOMA:isChildLinkOf)) +Declaration(ObjectProperty(SOMA:isColorOf)) +Declaration(ObjectProperty(SOMA:isConceptAffordedBy)) +Declaration(ObjectProperty(SOMA:isConceptIncludedIn)) +Declaration(ObjectProperty(SOMA:isContainedIn)) +Declaration(ObjectProperty(SOMA:isCoveredByObject)) +Declaration(ObjectProperty(SOMA:isCreatedOutputOf)) +Declaration(ObjectProperty(SOMA:isDefinedInAffordance)) +Declaration(ObjectProperty(SOMA:isDepositOf)) +Declaration(ObjectProperty(SOMA:isDesignFor)) +Declaration(ObjectProperty(SOMA:isDesignedBy)) +Declaration(ObjectProperty(SOMA:isDirectReactionTo)) +Declaration(ObjectProperty(SOMA:isDirectSourceFor)) +Declaration(ObjectProperty(SOMA:isDispositionOf)) +Declaration(ObjectProperty(SOMA:isEffectorInvolvedIn)) +Declaration(ObjectProperty(SOMA:isEndLinkOf)) +Declaration(ObjectProperty(SOMA:isEventTypeDefinedIn)) +Declaration(ObjectProperty(SOMA:isExecutorDefinedIn)) +Declaration(ObjectProperty(SOMA:isFeatureOf)) +Declaration(ObjectProperty(SOMA:isFirstStepOf)) +Declaration(ObjectProperty(SOMA:isGivenMeaningBy)) +Declaration(ObjectProperty(SOMA:isInitialSceneOf)) +Declaration(ObjectProperty(SOMA:isInitialSituationOf)) +Declaration(ObjectProperty(SOMA:isInitialStateOf)) +Declaration(ObjectProperty(SOMA:isInputParameterFor)) +Declaration(ObjectProperty(SOMA:isInputRoleOf)) +Declaration(ObjectProperty(SOMA:isInsideOf)) +Declaration(ObjectProperty(SOMA:isJointLimitOf)) +Declaration(ObjectProperty(SOMA:isJointStateOf)) +Declaration(ObjectProperty(SOMA:isLinkOf)) +Declaration(ObjectProperty(SOMA:isLinkedTo)) +Declaration(ObjectProperty(SOMA:isLocalizationOf)) +Declaration(ObjectProperty(SOMA:isMassAttributeOf)) +Declaration(ObjectProperty(SOMA:isMovedByAgent)) +Declaration(ObjectProperty(SOMA:isNetForceOf)) +Declaration(ObjectProperty(SOMA:isOccurrenceOf)) +Declaration(ObjectProperty(SOMA:isOccurringIn)) +Declaration(ObjectProperty(SOMA:isOntopOf)) +Declaration(ObjectProperty(SOMA:isOutputParameterFor)) +Declaration(ObjectProperty(SOMA:isOutputRoleOf)) +Declaration(ObjectProperty(SOMA:isParameterDefinedIn)) +Declaration(ObjectProperty(SOMA:isParentLinkOf)) +Declaration(ObjectProperty(SOMA:isPerformedBy)) +Declaration(ObjectProperty(SOMA:isPerformerAffordedBy)) +Declaration(ObjectProperty(SOMA:isPerformerDefinedIn)) +Declaration(ObjectProperty(SOMA:isPhysicallyContainedIn)) +Declaration(ObjectProperty(SOMA:isPlaceInvolvedIn)) +Declaration(ObjectProperty(SOMA:isPlanFor)) +Declaration(ObjectProperty(SOMA:isProcessDefinedIn)) +Declaration(ObjectProperty(SOMA:isProcessTypeOf)) +Declaration(ObjectProperty(SOMA:isQualeOf)) +Declaration(ObjectProperty(SOMA:isQualityDescribedBy)) +Declaration(ObjectProperty(SOMA:isReactionTo)) +Declaration(ObjectProperty(SOMA:isRecordIncludedBy)) +Declaration(ObjectProperty(SOMA:isReplacedBy)) +Declaration(ObjectProperty(SOMA:isRootLinkOf)) +Declaration(ObjectProperty(SOMA:isSetpointAffordedBy)) +Declaration(ObjectProperty(SOMA:isSetpointDefinedIn)) +Declaration(ObjectProperty(SOMA:isShapeOf)) +Declaration(ObjectProperty(SOMA:isShapeRegionOf)) +Declaration(ObjectProperty(SOMA:isSituationIncludedIn)) +Declaration(ObjectProperty(SOMA:isSourceFor)) +Declaration(ObjectProperty(SOMA:isSpaceRegionFor)) +Declaration(ObjectProperty(SOMA:isStateTypeOf)) +Declaration(ObjectProperty(SOMA:isStepOf)) +Declaration(ObjectProperty(SOMA:isSupportedBy)) +Declaration(ObjectProperty(SOMA:isTaskAffordedBy)) +Declaration(ObjectProperty(SOMA:isTaskDefinedInAffordance)) +Declaration(ObjectProperty(SOMA:isTaskOfCreatedRole)) +Declaration(ObjectProperty(SOMA:isTaskOfInputRole)) +Declaration(ObjectProperty(SOMA:isTaskOfOutputRole)) +Declaration(ObjectProperty(SOMA:isTerminalSceneOf)) +Declaration(ObjectProperty(SOMA:isTerminalSituationOf)) +Declaration(ObjectProperty(SOMA:isTerminalStateOf)) +Declaration(ObjectProperty(SOMA:isTerminatedBy)) +Declaration(ObjectProperty(SOMA:isTriggerAffordedBy)) +Declaration(ObjectProperty(SOMA:isTriggerDefinedIn)) +Declaration(ObjectProperty(SOMA:meets)) +Declaration(ObjectProperty(SOMA:metBy)) +Declaration(ObjectProperty(SOMA:movesObject)) +Declaration(ObjectProperty(SOMA:overlappedBy)) +Declaration(ObjectProperty(SOMA:overlappedOn)) +Declaration(ObjectProperty(SOMA:relatesToAnotherRole)) +Declaration(ObjectProperty(SOMA:replaces)) +Declaration(ObjectProperty(SOMA:simultaneous)) +Declaration(ObjectProperty(SOMA:startedBy)) +Declaration(ObjectProperty(SOMA:starts)) +Declaration(ObjectProperty(SOMA:supports)) +Declaration(ObjectProperty(SOMA:terminates)) +Declaration(ObjectProperty(SOMA:transitionsBack)) +Declaration(ObjectProperty(SOMA:transitionsFrom)) +Declaration(ObjectProperty(SOMA:transitionsTo)) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) Declaration(ObjectProperty()) Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(ObjectProperty()) +Declaration(DataProperty(SOMA:hasColorValue)) +Declaration(DataProperty(SOMA:hasDataFormat)) +Declaration(DataProperty(SOMA:hasDepth)) +Declaration(DataProperty(SOMA:hasEventBegin)) +Declaration(DataProperty(SOMA:hasEventEnd)) +Declaration(DataProperty(SOMA:hasEventTime)) +Declaration(DataProperty(SOMA:hasFilePath)) +Declaration(DataProperty(SOMA:hasForceValue)) +Declaration(DataProperty(SOMA:hasFrictionValue)) +Declaration(DataProperty(SOMA:hasHSVValue)) +Declaration(DataProperty(SOMA:hasHeight)) +Declaration(DataProperty(SOMA:hasIntervalBegin)) +Declaration(DataProperty(SOMA:hasIntervalEnd)) +Declaration(DataProperty(SOMA:hasIntervalTime)) +Declaration(DataProperty(SOMA:hasJointEffort)) +Declaration(DataProperty(SOMA:hasJointEffortLimit)) +Declaration(DataProperty(SOMA:hasJointParameter)) +Declaration(DataProperty(SOMA:hasJointPosition)) +Declaration(DataProperty(SOMA:hasJointPositionMax)) +Declaration(DataProperty(SOMA:hasJointPositionMin)) +Declaration(DataProperty(SOMA:hasJointVelocity)) +Declaration(DataProperty(SOMA:hasJointVelocityLimit)) +Declaration(DataProperty(SOMA:hasLength)) +Declaration(DataProperty(SOMA:hasMassValue)) +Declaration(DataProperty(SOMA:hasNameString)) +Declaration(DataProperty(SOMA:hasPersistentIdentifier)) +Declaration(DataProperty(SOMA:hasPositionData)) +Declaration(DataProperty(SOMA:hasPriority)) +Declaration(DataProperty(SOMA:hasRGBValue)) +Declaration(DataProperty(SOMA:hasRadius)) +Declaration(DataProperty(SOMA:hasReferenceFrame)) +Declaration(DataProperty(SOMA:hasShapeParameter)) +Declaration(DataProperty(SOMA:hasShapeScale)) +Declaration(DataProperty(SOMA:hasSpaceParameter)) +Declaration(DataProperty(SOMA:hasWidth)) +Declaration(DataProperty(SOMA:isReificationOf)) +Declaration(DataProperty()) +Declaration(DataProperty()) +Declaration(DataProperty()) +Declaration(DataProperty()) +Declaration(DataProperty()) +Declaration(NamedIndividual(SOMA:ExecutionState_Active)) +Declaration(NamedIndividual(SOMA:ExecutionState_Cancelled)) +Declaration(NamedIndividual(SOMA:ExecutionState_Failed)) +Declaration(NamedIndividual(SOMA:ExecutionState_Paused)) +Declaration(NamedIndividual(SOMA:ExecutionState_Pending)) +Declaration(NamedIndividual(SOMA:ExecutionState_Succeeded)) +Declaration(NamedIndividual(SOMA:FailWFNoContinuation)) +Declaration(NamedIndividual(SOMA:FailWFNondeterministicContinuation)) +Declaration(NamedIndividual(SOMA:FailWFUninterpretableTask)) +Declaration(NamedIndividual(SOMA:RDFType)) +Declaration(AnnotationProperty(dc:creator)) +Declaration(AnnotationProperty(dc:date)) +Declaration(AnnotationProperty(SOMA:UsageGuideline)) +Declaration(AnnotationProperty(SOMA:nickname)) +Declaration(AnnotationProperty(SOMA:symbol)) +Declaration(Datatype(SOMA:array_boolean)) +Declaration(Datatype(SOMA:array_double)) +Declaration(Datatype(SOMA:array_float)) +Declaration(Datatype(SOMA:array_int)) +Declaration(Datatype(SOMA:array_string)) +Declaration(Datatype(SOMA:array_uint)) @@ -155,127 +1053,33 @@ Declaration(ObjectProperty( () +# Class: SOMA:AffordsBeingSitOn (SOMA:AffordsBeingSitOn) -AnnotationAssertion(rdfs:comment "A reified relation between a furniture-like object (the bearer), the sitting task it affords, and an agent that can assume a sitting pose (trigger).") -SubClassOf( SOMA:Affordance) -SubClassOf( ObjectSomeValuesFrom( )) -SubClassOf( ObjectAllValuesFrom(SOMA:definesBearer )) -SubClassOf( ObjectAllValuesFrom(SOMA:definesTrigger ObjectIntersectionOf(SOMA:AgentRole ObjectAllValuesFrom( ObjectSomeValuesFrom(SOMA:hasDisposition ))))) -SubClassOf( ObjectAllValuesFrom( )) - -# Class: () - -AnnotationAssertion(rdfs:comment "A more comfortable chair that includes sides to support arms.") -SubClassOf( ) - -# Class: () - -AnnotationAssertion(rdfs:comment "A small table typically located next to a bed.") -SubClassOf( SOMA:Table) - -# Class: () - -AnnotationAssertion(rdfs:comment "The disposition to support an agent being in a sitting pose. Typically provided by chairs, stools, etc.") -SubClassOf( SOMA:Deposition) -SubClassOf( ObjectSomeValuesFrom( )) - -# Class: () - -AnnotationAssertion(rdfs:comment "The capability of an agent to assume a sitting pose.") -SubClassOf( ) - -# Class: () - -AnnotationAssertion(rdfs:comment "A cooktop that uses heated ceramic elements.") -SubClassOf( ) - -# Class: () - -AnnotationAssertion(rdfs:comment "A small and low table which is typically used as a shelf for small items such as cups, and located in front of a sofa.") -SubClassOf( SOMA:Table) - -# Class: () - -AnnotationAssertion(rdfs:comment "A cooktop that uses heated metal coils.") -SubClassOf( ) - -# Class: () - -AnnotationAssertion(rdfs:comment "A typically circular surface where food is cooked.") -SubClassOf( SOMA:DesignedComponent) - -# Class: () - -AnnotationAssertion(rdfs:comment "A piece of furniture designed for one person to sit on.") -SubClassOf( SOMA:DesignedFurniture) -SubClassOf( ObjectExactCardinality(1 SOMA:hasDisposition )) - -# Class: () - -AnnotationAssertion(rdfs:comment "A cooktop that uses electricity for heating.") -SubClassOf( ) - -# Class: () - -AnnotationAssertion(rdfs:comment "A cooktop that uses burning gas for heating.") -SubClassOf( ) - -# Class: () - -AnnotationAssertion(rdfs:comment "A type of cooktop where heat is induced in the cookware. Only special induction cookware can be used with this type of cooktop.") -SubClassOf( ) - -# Class: () - -AnnotationAssertion(rdfs:comment "A cupboard designed to be used in kitchen environments.") -SubClassOf( SOMA:Cupboard) - -# Class: () - -AnnotationAssertion(rdfs:comment "A piece of a fitted furniture typically containing cupboards, a sink, and an oven.") -SubClassOf( SOMA:DesignedFurniture) - -# Class: () - -AnnotationAssertion(rdfs:comment "A large bowl used to direct the flow of liquid into a drain, typically has a tap used to fill the sink with water, and a plug used to block the drain.") -SubClassOf( SOMA:DesignedComponent) - -# Class: () - -AnnotationAssertion(rdfs:comment "A task where an agents assumes a sitting pose.") -SubClassOf( SOMA:AssumingPose) - -# Class: () - -AnnotationAssertion(rdfs:comment "The destination of an agent assuming a sitting pose. Typically a chair or stool would fill this role.") -SubClassOf( SOMA:Destination) -SubClassOf( ObjectAllValuesFrom( ObjectSomeValuesFrom(SOMA:hasDisposition ))) - -# Class: () - -AnnotationAssertion(rdfs:comment "A comfortable seat for two or more people to sit on.") -SubClassOf( SOMA:DesignedFurniture) -SubClassOf( ObjectExactCardinality(1 SOMA:hasDisposition )) - -# Class: () - -AnnotationAssertion(rdfs:comment "A component designed to control the flow of water from a pipe.") -SubClassOf( SOMA:DesignedComponent) - -# Class: () - -AnnotationAssertion(rdfs:comment "A cupboard which is typically used for hanging clothes.") -SubClassOf( SOMA:Cupboard) +AnnotationAssertion(rdfs:comment SOMA:AffordsBeingSitOn "A reified relation between a furniture-like object (the bearer), the sitting task it affords, and an agent that can assume a sitting pose (trigger).") +SubClassOf(SOMA:AffordsBeingSitOn SOMA:Affordance) +SubClassOf(SOMA:AffordsBeingSitOn ObjectSomeValuesFrom( SOMA:CanBeSatOn)) +SubClassOf(SOMA:AffordsBeingSitOn ObjectAllValuesFrom(SOMA:definesBearer SOMA:SittingDestination)) +SubClassOf(SOMA:AffordsBeingSitOn ObjectAllValuesFrom(SOMA:definesTrigger ObjectIntersectionOf(SOMA:AgentRole ObjectAllValuesFrom( ObjectSomeValuesFrom(SOMA:hasDisposition SOMA:CanSit))))) +SubClassOf(SOMA:AffordsBeingSitOn ObjectAllValuesFrom( SOMA:Sitting)) # Class: SOMA:Appliance (SOMA:Appliance) SubClassOf(SOMA:Appliance ) +# Class: SOMA:Armchair (SOMA:Armchair) + +AnnotationAssertion(rdfs:comment SOMA:Armchair "A more comfortable chair that includes sides to support arms.") +SubClassOf(SOMA:Armchair SOMA:DesignedChair) + # Class: SOMA:BakedGood (SOMA:BakedGood) SubClassOf(SOMA:BakedGood SOMA:Dish) +# Class: SOMA:BedsideTable (SOMA:BedsideTable) + +AnnotationAssertion(rdfs:comment SOMA:BedsideTable "A small table typically located next to a bed.") +SubClassOf(SOMA:BedsideTable SOMA:Table) + # Class: SOMA:Blade (SOMA:Blade) AnnotationAssertion(rdfs:comment SOMA:Blade "A flat cutting edge of an object used to cut through other objects, such as the blade of a ventilator cutting through the air.") @@ -316,6 +1120,17 @@ SubClassOf(SOMA:BreakfastPlate SOMA:Plate) AnnotationAssertion(rdfs:comment SOMA:Building "A structure with a roof and walls.") SubClassOf(SOMA:Building SOMA:DesignedContainer) +# Class: SOMA:CanBeSatOn (SOMA:CanBeSatOn) + +AnnotationAssertion(rdfs:comment SOMA:CanBeSatOn "The disposition to support an agent being in a sitting pose. Typically provided by chairs, stools, etc.") +SubClassOf(SOMA:CanBeSatOn SOMA:Deposition) +SubClassOf(SOMA:CanBeSatOn ObjectSomeValuesFrom( SOMA:AffordsBeingSitOn)) + +# Class: SOMA:CanSit (SOMA:CanSit) + +AnnotationAssertion(rdfs:comment SOMA:CanSit "The capability of an agent to assume a sitting pose.") +SubClassOf(SOMA:CanSit SOMA:Capability) + # Class: SOMA:Carafe (SOMA:Carafe) AnnotationAssertion(rdfs:comment SOMA:Carafe "A container used to hold and pour some beverage.") @@ -328,6 +1143,11 @@ SubClassOf(SOMA:Ceiling SOMA:RoomSurface) DisjointClasses(SOMA:Ceiling SOMA:Floor) DisjointClasses(SOMA:Ceiling SOMA:Wall) +# Class: SOMA:CeramicCooktop (SOMA:CeramicCooktop) + +AnnotationAssertion(rdfs:comment SOMA:CeramicCooktop "A cooktop that uses heated ceramic elements.") +SubClassOf(SOMA:CeramicCooktop SOMA:ElectricCooktop) + # Class: SOMA:CerealBox (SOMA:CerealBox) AnnotationAssertion(rdfs:comment SOMA:CerealBox "A box which holds, or at least is intended to usually hold, cereal flakes.") @@ -347,10 +1167,25 @@ SubClassOf(SOMA:ClosingDisposition SOMA:Linkage) AnnotationAssertion(rdfs:comment SOMA:CoffeeCarafe "A carafe which holds, or at least is intended to usually hold, coffee.") SubClassOf(SOMA:CoffeeCarafe SOMA:Carafe) +# Class: SOMA:CoffeeTable (SOMA:CoffeeTable) + +AnnotationAssertion(rdfs:comment SOMA:CoffeeTable "A small and low table which is typically used as a shelf for small items such as cups, and located in front of a sofa.") +SubClassOf(SOMA:CoffeeTable SOMA:Table) + +# Class: SOMA:CoilCooktop (SOMA:CoilCooktop) + +AnnotationAssertion(rdfs:comment SOMA:CoilCooktop "A cooktop that uses heated metal coils.") +SubClassOf(SOMA:CoilCooktop SOMA:ElectricCooktop) + # Class: SOMA:Compartment (SOMA:Compartment) SubClassOf(SOMA:Compartment SOMA:DesignedComponent) +# Class: SOMA:Cooktop (SOMA:Cooktop) + +AnnotationAssertion(rdfs:comment SOMA:Cooktop "A typically circular surface where food is cooked.") +SubClassOf(SOMA:Cooktop SOMA:DesignedComponent) + # Class: SOMA:Countertop (SOMA:Countertop) AnnotationAssertion(rdfs:comment SOMA:Countertop "A flat surface for working on.") @@ -386,6 +1221,12 @@ SubClassOf(SOMA:Cutlery SOMA:Tableware) SubClassOf(SOMA:CuttingTool SOMA:DesignedTool) SubClassOf(SOMA:CuttingTool ObjectSomeValuesFrom(SOMA:hasDisposition SOMA:Shaping)) +# Class: SOMA:DesignedChair (SOMA:DesignedChair) + +AnnotationAssertion(rdfs:comment SOMA:DesignedChair "A piece of furniture designed for one person to sit on.") +SubClassOf(SOMA:DesignedChair SOMA:DesignedFurniture) +SubClassOf(SOMA:DesignedChair ObjectExactCardinality(1 SOMA:hasDisposition SOMA:CanBeSatOn)) + # Class: SOMA:DesignedComponent (Designed component) SubClassOf(SOMA:DesignedComponent ) @@ -456,6 +1297,11 @@ AnnotationAssertion(rdfs:comment SOMA:Drawer "A storage compartment without a li SubClassOf(SOMA:Drawer SOMA:DesignedComponent) SubClassOf(SOMA:Drawer SOMA:DesignedContainer) +# Class: SOMA:ElectricCooktop (SOMA:ElectricCooktop) + +AnnotationAssertion(rdfs:comment SOMA:ElectricCooktop "A cooktop that uses electricity for heating.") +SubClassOf(SOMA:ElectricCooktop SOMA:Cooktop) + # Class: SOMA:Floor (SOMA:Floor) AnnotationAssertion(rdfs:comment SOMA:Floor "The lower interior surface of a room.") @@ -473,6 +1319,11 @@ SubClassOf(SOMA:Fork ObjectSomeValuesFrom(SOMA:hasPhysicalComponent SOMA:Designe AnnotationAssertion(rdfs:comment SOMA:FreezerCompartment "A freezer compartment used to regulate the temperature of contained objects to a value below zero degree Celsius.") SubClassOf(SOMA:FreezerCompartment SOMA:Compartment) +# Class: SOMA:GasCooktop (SOMA:GasCooktop) + +AnnotationAssertion(rdfs:comment SOMA:GasCooktop "A cooktop that uses burning gas for heating.") +SubClassOf(SOMA:GasCooktop SOMA:Cooktop) + # Class: SOMA:Glass (SOMA:Glass) AnnotationAssertion(rdfs:comment SOMA:Glass "A container made usually from glass or transparent plastic which is used to hold, typically cold, beverages.") @@ -483,6 +1334,11 @@ SubClassOf(SOMA:Glass SOMA:Crockery) AnnotationAssertion(rdfs:comment SOMA:Hotplate "A flat heated surface used for cooking food or keeping it hot.") SubClassOf(SOMA:Hotplate SOMA:DesignedComponent) +# Class: SOMA:InductionCooktop (SOMA:InductionCooktop) + +AnnotationAssertion(rdfs:comment SOMA:InductionCooktop "A type of cooktop where heat is induced in the cookware. Only special induction cookware can be used with this type of cooktop.") +SubClassOf(SOMA:InductionCooktop SOMA:ElectricCooktop) + # Class: SOMA:JamJar (SOMA:JamJar) AnnotationAssertion(rdfs:comment SOMA:JamJar "A jar which holds, or at least is intended to usually hold, jam.") @@ -499,11 +1355,21 @@ AnnotationAssertion(rdfs:comment SOMA:Kitchen "A designated room to perform the SubClassOf(SOMA:Kitchen SOMA:Room) SubClassOf(SOMA:Kitchen ObjectSomeValuesFrom(SOMA:hasDisposition SOMA:Containment)) +# Class: SOMA:KitchenCabinet (SOMA:KitchenCabinet) + +AnnotationAssertion(rdfs:comment SOMA:KitchenCabinet "A cupboard designed to be used in kitchen environments.") +SubClassOf(SOMA:KitchenCabinet SOMA:Cupboard) + # Class: SOMA:KitchenKnife (SOMA:KitchenKnife) AnnotationAssertion(rdfs:comment SOMA:KitchenKnife "A tool designed to be used for kitchen related common tasks. Such as smearing a bread or cutting a cucumber.") SubClassOf(SOMA:KitchenKnife SOMA:Knife) +# Class: SOMA:KitchenUnit (SOMA:KitchenUnit) + +AnnotationAssertion(rdfs:comment SOMA:KitchenUnit "A piece of a fitted furniture typically containing cupboards, a sink, and an oven.") +SubClassOf(SOMA:KitchenUnit SOMA:DesignedFurniture) + # Class: SOMA:Knife (SOMA:Knife) AnnotationAssertion(rdfs:comment SOMA:Knife "An instrument composed of a blade fixed into a handle, used for cutting or as a weapon.") @@ -612,6 +1478,28 @@ SubClassOf(SOMA:SaltShaker SOMA:Shaker) AnnotationAssertion(rdfs:comment SOMA:Shaker "A container used for storing fine grained substances such as salt or paper.") SubClassOf(SOMA:Shaker SOMA:DesignedContainer) +# Class: SOMA:Sink (SOMA:Sink) + +AnnotationAssertion(rdfs:comment SOMA:Sink "A large bowl used to direct the flow of liquid into a drain, typically has a tap used to fill the sink with water, and a plug used to block the drain.") +SubClassOf(SOMA:Sink SOMA:DesignedComponent) + +# Class: SOMA:Sitting (SOMA:Sitting) + +AnnotationAssertion(rdfs:comment SOMA:Sitting "A task where an agents assumes a sitting pose.") +SubClassOf(SOMA:Sitting SOMA:AssumingPose) + +# Class: SOMA:SittingDestination (SOMA:SittingDestination) + +AnnotationAssertion(rdfs:comment SOMA:SittingDestination "The destination of an agent assuming a sitting pose. Typically a chair or stool would fill this role.") +SubClassOf(SOMA:SittingDestination SOMA:Destination) +SubClassOf(SOMA:SittingDestination ObjectAllValuesFrom( ObjectSomeValuesFrom(SOMA:hasDisposition SOMA:CanBeSatOn))) + +# Class: SOMA:Sofa (SOMA:Sofa) + +AnnotationAssertion(rdfs:comment SOMA:Sofa "A comfortable seat for two or more people to sit on.") +SubClassOf(SOMA:Sofa SOMA:DesignedFurniture) +SubClassOf(SOMA:Sofa ObjectExactCardinality(1 SOMA:hasDisposition SOMA:CanBeSatOn)) + # Class: SOMA:SoupPot (SOMA:SoupPot) AnnotationAssertion(rdfs:comment SOMA:SoupPot "A pot which holds, or at least is intended to usually hold, soup.") @@ -669,6 +1557,11 @@ DisjointClasses(SOMA:TableSpoon SOMA:TeaSpoon) SubClassOf(SOMA:Tableware SOMA:DesignedTool) +# Class: SOMA:Tap (SOMA:Tap) + +AnnotationAssertion(rdfs:comment SOMA:Tap "A component designed to control the flow of water from a pipe.") +SubClassOf(SOMA:Tap SOMA:DesignedComponent) + # Class: SOMA:TeaSpoon (SOMA:TeaSpoon) AnnotationAssertion(rdfs:comment SOMA:TeaSpoon "A spoon relatively smaller in size used for string a cup of tea or measuring a volume. Specifically for cooking or medicine purposes, the volume is defined as 5ml.") @@ -694,6 +1587,11 @@ SubClassOf(SOMA:TrashContainer SOMA:DesignedContainer) AnnotationAssertion(rdfs:comment SOMA:Wall "An upright surface of a building or room.") SubClassOf(SOMA:Wall SOMA:RoomSurface) +# Class: SOMA:Wardrobe (SOMA:Wardrobe) + +AnnotationAssertion(rdfs:comment SOMA:Wardrobe "A cupboard which is typically used for hanging clothes.") +SubClassOf(SOMA:Wardrobe SOMA:Cupboard) + # Class: SOMA:WaterBottle (SOMA:WaterBottle) AnnotationAssertion(rdfs:comment SOMA:WaterBottle "A bottle which holds, or at least is intended to usually hold, water.") diff --git a/owl/SOMA-OBJ.owl b/owl/SOMA-OBJ.owl index e12ecdbd..107c6342 100644 --- a/owl/SOMA-OBJ.owl +++ b/owl/SOMA-OBJ.owl @@ -32,41 +32,22 @@ This is related to a design decision between \"primacy of objects\" and \"primac We do not argue here that one of these approaches is better -- they seem equally powerful in terms of what they can express. Our decision for primacy of objects is merely an aesthetic choice based on what seemed more intuitive.") -Declaration(Class(:ArtificialAgent)) -Declaration(Class(:CanCut)) -Declaration(Class(:Capability)) -Declaration(Class(:ContinuousJoint)) -Declaration(Class(:CutObject)) -Declaration(Class(:Cuttability)) -Declaration(Class(:Cutter)) -Declaration(Class(:FixedJoint)) -Declaration(Class(:FloatingJoint)) -Declaration(Class(:ForceAttribute)) -Declaration(Class(:HingeJoint)) -Declaration(Class(:Joint)) -Declaration(Class(:JointLimit)) -Declaration(Class(:JointState)) -Declaration(Class(:MovableJoint)) -Declaration(Class(:NetForce)) -Declaration(Class(:PlanarJoint)) -Declaration(Class(:Pourable)) -Declaration(Class(:PouredObject)) -Declaration(Class(:PrismaticJoint)) -Declaration(Class(:RevoluteJoint)) -Declaration(Class(:Storage)) -Declaration(Class(:StoredObject)) Declaration(Class(SOMA:Accessor)) Declaration(Class(SOMA:AestheticDesign)) Declaration(Class(SOMA:Affordance)) +Declaration(Class(SOMA:AgentRole)) Declaration(Class(SOMA:AlteredObject)) Declaration(Class(SOMA:Appliance)) Declaration(Class(SOMA:Arm)) +Declaration(Class(SOMA:ArtificialAgent)) Declaration(Class(SOMA:AvoidedObject)) Declaration(Class(SOMA:Barrier)) Declaration(Class(SOMA:BeneficiaryRole)) Declaration(Class(SOMA:Blockage)) Declaration(Class(SOMA:BlockedObject)) Declaration(Class(SOMA:BoxShape)) +Declaration(Class(SOMA:CanCut)) +Declaration(Class(SOMA:Capability)) Declaration(Class(SOMA:Capacity)) Declaration(Class(SOMA:CausalEventRole)) Declaration(Class(SOMA:CausativeRole)) @@ -82,10 +63,14 @@ Declaration(Class(SOMA:ConnectedObject)) Declaration(Class(SOMA:Connectivity)) Declaration(Class(SOMA:Container)) Declaration(Class(SOMA:Containment)) +Declaration(Class(SOMA:ContinuousJoint)) Declaration(Class(SOMA:Cover)) Declaration(Class(SOMA:Coverage)) Declaration(Class(SOMA:CoveredObject)) Declaration(Class(SOMA:CreatedObject)) +Declaration(Class(SOMA:CutObject)) +Declaration(Class(SOMA:Cuttability)) +Declaration(Class(SOMA:Cutter)) Declaration(Class(SOMA:CylinderShape)) Declaration(Class(SOMA:DependentPlace)) Declaration(Class(SOMA:Deposit)) @@ -115,6 +100,9 @@ Declaration(Class(SOMA:ExtractedObject)) Declaration(Class(SOMA:Extrinsic)) Declaration(Class(SOMA:Feature)) Declaration(Class(SOMA:Finger)) +Declaration(Class(SOMA:FixedJoint)) +Declaration(Class(SOMA:FloatingJoint)) +Declaration(Class(SOMA:ForceAttribute)) Declaration(Class(SOMA:FrictionAttribute)) Declaration(Class(SOMA:FunctionalDesign)) Declaration(Class(SOMA:FunctionalPart)) @@ -125,6 +113,7 @@ Declaration(Class(SOMA:Gripper)) Declaration(Class(SOMA:Hand)) Declaration(Class(SOMA:HasQualityRegion)) Declaration(Class(SOMA:Head)) +Declaration(Class(SOMA:HingeJoint)) Declaration(Class(SOMA:Impediment)) Declaration(Class(SOMA:IncludedObject)) Declaration(Class(SOMA:InsertedObject)) @@ -132,6 +121,9 @@ Declaration(Class(SOMA:Insertion)) Declaration(Class(SOMA:Instrument)) Declaration(Class(SOMA:Intrinsic)) Declaration(Class(SOMA:Item)) +Declaration(Class(SOMA:Joint)) +Declaration(Class(SOMA:JointLimit)) +Declaration(Class(SOMA:JointState)) Declaration(Class(SOMA:KineticFrictionAttribute)) Declaration(Class(SOMA:Leg)) Declaration(Class(SOMA:Limb)) @@ -143,7 +135,9 @@ Declaration(Class(SOMA:LocatumRole)) Declaration(Class(SOMA:MassAttribute)) Declaration(Class(SOMA:Material)) Declaration(Class(SOMA:MeshShape)) +Declaration(Class(SOMA:MovableJoint)) Declaration(Class(SOMA:MovedObject)) +Declaration(Class(SOMA:NetForce)) Declaration(Class(SOMA:Obstacle)) Declaration(Class(SOMA:Origin)) Declaration(Class(SOMA:PathRole)) @@ -151,7 +145,11 @@ Declaration(Class(SOMA:Patient)) Declaration(Class(SOMA:PerformerRole)) Declaration(Class(SOMA:PhysicalEffector)) Declaration(Class(SOMA:PhysicalQuality)) +Declaration(Class(SOMA:PlanarJoint)) +Declaration(Class(SOMA:Pourable)) +Declaration(Class(SOMA:PouredObject)) Declaration(Class(SOMA:PrehensileEffector)) +Declaration(Class(SOMA:PrismaticJoint)) Declaration(Class(SOMA:Protector)) Declaration(Class(SOMA:Purification)) Declaration(Class(SOMA:QualityTransition)) @@ -165,6 +163,7 @@ Declaration(Class(SOMA:ResourceRole)) Declaration(Class(SOMA:RestrictedObject)) Declaration(Class(SOMA:Restrictor)) Declaration(Class(SOMA:ResultRole)) +Declaration(Class(SOMA:RevoluteJoint)) Declaration(Class(SOMA:Room)) Declaration(Class(SOMA:RoomSurface)) Declaration(Class(SOMA:SelectedObject)) @@ -183,6 +182,8 @@ Declaration(Class(SOMA:SpatioTemporalRole)) Declaration(Class(SOMA:SphereShape)) Declaration(Class(SOMA:StaticFrictionAttribute)) Declaration(Class(SOMA:StimulusRole)) +Declaration(Class(SOMA:Storage)) +Declaration(Class(SOMA:StoredObject)) Declaration(Class(SOMA:StructuralDesign)) Declaration(Class(SOMA:SupportedObject)) Declaration(Class(SOMA:Supporter)) @@ -197,23 +198,6 @@ Declaration(Class(SOMA:Variability)) Declaration(Class()) Declaration(Class()) Declaration(Class()) -Declaration(ObjectProperty(:hasChildLink)) -Declaration(ObjectProperty(:hasEndLink)) -Declaration(ObjectProperty(:hasJointLimit)) -Declaration(ObjectProperty(:hasJointState)) -Declaration(ObjectProperty(:hasLink)) -Declaration(ObjectProperty(:hasNetForce)) -Declaration(ObjectProperty(:hasParentLink)) -Declaration(ObjectProperty(:hasRootLink)) -Declaration(ObjectProperty(:isChildLinkOf)) -Declaration(ObjectProperty(:isEndLinkOf)) -Declaration(ObjectProperty(:isJointLimitOf)) -Declaration(ObjectProperty(:isJointStateOf)) -Declaration(ObjectProperty(:isLinkOf)) -Declaration(ObjectProperty(:isMassAttributeOf)) -Declaration(ObjectProperty(:isNetForceOf)) -Declaration(ObjectProperty(:isParentLinkOf)) -Declaration(ObjectProperty(:isRootLinkOf)) Declaration(ObjectProperty(SOMA:affordanceDefines)) Declaration(ObjectProperty(SOMA:affordanceDefinesTask)) Declaration(ObjectProperty(SOMA:affordsBearer)) @@ -231,14 +215,22 @@ Declaration(ObjectProperty(SOMA:definesSetpoint)) Declaration(ObjectProperty(SOMA:definesTrigger)) Declaration(ObjectProperty(SOMA:describesQuality)) Declaration(ObjectProperty(SOMA:hasAlterationResult)) +Declaration(ObjectProperty(SOMA:hasChildLink)) Declaration(ObjectProperty(SOMA:hasColor)) Declaration(ObjectProperty(SOMA:hasDisposition)) +Declaration(ObjectProperty(SOMA:hasEndLink)) Declaration(ObjectProperty(SOMA:hasFeature)) Declaration(ObjectProperty(SOMA:hasFrictionAttribute)) +Declaration(ObjectProperty(SOMA:hasJointLimit)) +Declaration(ObjectProperty(SOMA:hasJointState)) +Declaration(ObjectProperty(SOMA:hasLink)) Declaration(ObjectProperty(SOMA:hasLocalization)) Declaration(ObjectProperty(SOMA:hasMassAttribute)) +Declaration(ObjectProperty(SOMA:hasNetForce)) +Declaration(ObjectProperty(SOMA:hasParentLink)) Declaration(ObjectProperty(SOMA:hasPhysicalComponent)) Declaration(ObjectProperty(SOMA:hasQuale)) +Declaration(ObjectProperty(SOMA:hasRootLink)) Declaration(ObjectProperty(SOMA:hasShape)) Declaration(ObjectProperty(SOMA:hasShapeRegion)) Declaration(ObjectProperty(SOMA:hasSpaceRegion)) @@ -246,24 +238,33 @@ Declaration(ObjectProperty(SOMA:involvesEffector)) Declaration(ObjectProperty(SOMA:isAlterationResultOf)) Declaration(ObjectProperty(SOMA:isBearerAffordedBy)) Declaration(ObjectProperty(SOMA:isBearerDefinedIn)) +Declaration(ObjectProperty(SOMA:isChildLinkOf)) Declaration(ObjectProperty(SOMA:isColorOf)) Declaration(ObjectProperty(SOMA:isConceptAffordedBy)) Declaration(ObjectProperty(SOMA:isDefinedInAffordance)) Declaration(ObjectProperty(SOMA:isDepositOf)) Declaration(ObjectProperty(SOMA:isDispositionOf)) Declaration(ObjectProperty(SOMA:isEffectorInvolvedIn)) +Declaration(ObjectProperty(SOMA:isEndLinkOf)) Declaration(ObjectProperty(SOMA:isExecutorDefinedIn)) Declaration(ObjectProperty(SOMA:isFeatureOf)) Declaration(ObjectProperty(SOMA:isInsideOf)) +Declaration(ObjectProperty(SOMA:isJointLimitOf)) +Declaration(ObjectProperty(SOMA:isJointStateOf)) +Declaration(ObjectProperty(SOMA:isLinkOf)) Declaration(ObjectProperty(SOMA:isLinkedTo)) Declaration(ObjectProperty(SOMA:isLocalizationOf)) +Declaration(ObjectProperty(SOMA:isMassAttributeOf)) +Declaration(ObjectProperty(SOMA:isNetForceOf)) Declaration(ObjectProperty(SOMA:isOntopOf)) Declaration(ObjectProperty(SOMA:isParameterDefinedIn)) +Declaration(ObjectProperty(SOMA:isParentLinkOf)) Declaration(ObjectProperty(SOMA:isPerformerAffordedBy)) Declaration(ObjectProperty(SOMA:isPerformerDefinedIn)) Declaration(ObjectProperty(SOMA:isPhysicallyContainedIn)) Declaration(ObjectProperty(SOMA:isQualeOf)) Declaration(ObjectProperty(SOMA:isQualityDescribedBy)) +Declaration(ObjectProperty(SOMA:isRootLinkOf)) Declaration(ObjectProperty(SOMA:isSetpointAffordedBy)) Declaration(ObjectProperty(SOMA:isSetpointDefinedIn)) Declaration(ObjectProperty(SOMA:isShapeOf)) @@ -280,22 +281,21 @@ Declaration(ObjectProperty(SOMA:transitionsFrom)) Declaration(ObjectProperty(SOMA:transitionsTo)) Declaration(ObjectProperty()) Declaration(ObjectProperty()) -Declaration(DataProperty(:hasForceValue)) -Declaration(DataProperty(:hasJointEffort)) -Declaration(DataProperty(:hasJointEffortLimit)) -Declaration(DataProperty(:hasJointParameter)) -Declaration(DataProperty(:hasJointPosition)) -Declaration(DataProperty(:hasJointPositionMax)) -Declaration(DataProperty(:hasJointPositionMin)) -Declaration(DataProperty(:hasJointVelocity)) -Declaration(DataProperty(:hasJointVelocityLimit)) -Declaration(DataProperty(:hasShapeScale)) Declaration(DataProperty(SOMA:hasColorValue)) Declaration(DataProperty(SOMA:hasDepth)) Declaration(DataProperty(SOMA:hasFilePath)) +Declaration(DataProperty(SOMA:hasForceValue)) Declaration(DataProperty(SOMA:hasFrictionValue)) Declaration(DataProperty(SOMA:hasHSVValue)) Declaration(DataProperty(SOMA:hasHeight)) +Declaration(DataProperty(SOMA:hasJointEffort)) +Declaration(DataProperty(SOMA:hasJointEffortLimit)) +Declaration(DataProperty(SOMA:hasJointParameter)) +Declaration(DataProperty(SOMA:hasJointPosition)) +Declaration(DataProperty(SOMA:hasJointPositionMax)) +Declaration(DataProperty(SOMA:hasJointPositionMin)) +Declaration(DataProperty(SOMA:hasJointVelocity)) +Declaration(DataProperty(SOMA:hasJointVelocityLimit)) Declaration(DataProperty(SOMA:hasLength)) Declaration(DataProperty(SOMA:hasMassValue)) Declaration(DataProperty(SOMA:hasPositionData)) @@ -303,6 +303,7 @@ Declaration(DataProperty(SOMA:hasRGBValue)) Declaration(DataProperty(SOMA:hasRadius)) Declaration(DataProperty(SOMA:hasReferenceFrame)) Declaration(DataProperty(SOMA:hasShapeParameter)) +Declaration(DataProperty(SOMA:hasShapeScale)) Declaration(DataProperty(SOMA:hasSpaceParameter)) Declaration(DataProperty(SOMA:hasWidth)) @@ -310,151 +311,6 @@ Declaration(DataProperty(SOMA:hasWidth)) # Object Properties ############################ -# Object Property: :hasChildLink (has child link) - -AnnotationAssertion(rdfs:comment :hasChildLink "Relates a joint to the link it connects which is closer to the end of the kinematic chain."^^xsd:string) -AnnotationAssertion(rdfs:label :hasChildLink "has child link"^^xsd:string) -SubObjectPropertyOf(:hasChildLink ) -InverseObjectProperties(:hasChildLink :isChildLinkOf) -ObjectPropertyDomain(:hasChildLink :Joint) -ObjectPropertyRange(:hasChildLink ) - -# Object Property: :hasEndLink (has end link) - -AnnotationAssertion(rdfs:comment :hasEndLink "Relates an object to kinematic components at the end of the kinematic chain."^^xsd:string) -AnnotationAssertion(rdfs:label :hasEndLink "has end link"^^xsd:string) -SubObjectPropertyOf(:hasEndLink :hasLink) -InverseObjectProperties(:hasEndLink :isEndLinkOf) -ObjectPropertyDomain(:hasEndLink ) -ObjectPropertyRange(:hasEndLink ) - -# Object Property: :hasJointLimit (has joint limit) - -AnnotationAssertion(rdfs:comment :hasJointLimit "Relates a joint to its physical limits."^^xsd:string) -AnnotationAssertion(rdfs:label :hasJointLimit "has joint limit"^^xsd:string) -SubObjectPropertyOf(:hasJointLimit ) -InverseObjectProperties(:hasJointLimit :isJointLimitOf) -ObjectPropertyDomain(:hasJointLimit :Joint) -ObjectPropertyRange(:hasJointLimit :JointLimit) - -# Object Property: :hasJointState (has joint state) - -AnnotationAssertion(rdfs:comment :hasJointState "Relates a joint to its state."^^xsd:string) -AnnotationAssertion(rdfs:label :hasJointState "has joint state"^^xsd:string) -SubObjectPropertyOf(:hasJointState ) -InverseObjectProperties(:hasJointState :isJointStateOf) -ObjectPropertyDomain(:hasJointState :Joint) -ObjectPropertyRange(:hasJointState :JointState) - -# Object Property: :hasLink (has link) - -AnnotationAssertion(rdfs:comment :hasLink "Relates an object to its kinematic components."^^xsd:string) -AnnotationAssertion(rdfs:label :hasLink "has link"^^xsd:string) -SubObjectPropertyOf(:hasLink ) -InverseObjectProperties(:hasLink :isLinkOf) -ObjectPropertyDomain(:hasLink ) -ObjectPropertyRange(:hasLink ) - -# Object Property: :hasNetForce (has net force) - -AnnotationAssertion(rdfs:comment :hasNetForce "A relation between a physical object and the total force acting on it."^^xsd:string) -AnnotationAssertion(rdfs:label :hasNetForce "has net force"^^xsd:string) -SubObjectPropertyOf(:hasNetForce ) -InverseObjectProperties(:hasNetForce :isNetForceOf) -ObjectPropertyDomain(:hasNetForce ) -ObjectPropertyRange(:hasNetForce :NetForce) - -# Object Property: :hasParentLink (has parent link) - -AnnotationAssertion(rdfs:comment :hasParentLink "Relates a joint to the link it connects which is closer to the root of the kinematic chain."^^xsd:string) -AnnotationAssertion(rdfs:label :hasParentLink "has parent link"^^xsd:string) -SubObjectPropertyOf(:hasParentLink ) -InverseObjectProperties(:hasParentLink :isParentLinkOf) -ObjectPropertyDomain(:hasParentLink :Joint) -ObjectPropertyRange(:hasParentLink ) - -# Object Property: :hasRootLink (has root link) - -AnnotationAssertion(rdfs:comment :hasRootLink "Relates an object to kinematic components at the root of the kinematic chain."^^xsd:string) -AnnotationAssertion(rdfs:label :hasRootLink "has root link"^^xsd:string) -SubObjectPropertyOf(:hasRootLink :hasLink) -InverseObjectProperties(:hasRootLink :isRootLinkOf) -ObjectPropertyDomain(:hasRootLink ) -ObjectPropertyRange(:hasRootLink ) - -# Object Property: :isChildLinkOf (is child link of) - -AnnotationAssertion(rdfs:comment :isChildLinkOf "Relates a joint to the link it connects which is closer to the end of the kinematic chain."^^xsd:string) -AnnotationAssertion(rdfs:label :isChildLinkOf "is child link of"^^xsd:string) -SubObjectPropertyOf(:isChildLinkOf ) -ObjectPropertyDomain(:isChildLinkOf ) -ObjectPropertyRange(:isChildLinkOf :Joint) - -# Object Property: :isEndLinkOf (is end link of) - -AnnotationAssertion(rdfs:comment :isEndLinkOf "Relates an object to kinematic components at the end of the kinematic chain."^^xsd:string) -AnnotationAssertion(rdfs:label :isEndLinkOf "is end link of"^^xsd:string) -SubObjectPropertyOf(:isEndLinkOf :isLinkOf) -ObjectPropertyDomain(:isEndLinkOf ) -ObjectPropertyRange(:isEndLinkOf ) - -# Object Property: :isJointLimitOf (is joint limit of) - -AnnotationAssertion(rdfs:comment :isJointLimitOf "Relates a joint to its physical limits."^^xsd:string) -AnnotationAssertion(rdfs:label :isJointLimitOf "is joint limit of"^^xsd:string) -SubObjectPropertyOf(:isJointLimitOf ) -ObjectPropertyDomain(:isJointLimitOf :JointLimit) -ObjectPropertyRange(:isJointLimitOf :Joint) - -# Object Property: :isJointStateOf (is joint state of) - -AnnotationAssertion(rdfs:comment :isJointStateOf "Relates a joint to its state."^^xsd:string) -AnnotationAssertion(rdfs:label :isJointStateOf "is joint state of"^^xsd:string) -SubObjectPropertyOf(:isJointStateOf ) -ObjectPropertyDomain(:isJointStateOf :JointState) -ObjectPropertyRange(:isJointStateOf :Joint) - -# Object Property: :isLinkOf (is link of) - -AnnotationAssertion(rdfs:comment :isLinkOf "Relates an object to its kinematic components."^^xsd:string) -AnnotationAssertion(rdfs:label :isLinkOf "is link of"^^xsd:string) -SubObjectPropertyOf(:isLinkOf ) -ObjectPropertyDomain(:isLinkOf ) -ObjectPropertyRange(:isLinkOf ) - -# Object Property: :isMassAttributeOf (is mass attribute of) - -AnnotationAssertion(rdfs:comment :isMassAttributeOf "A relation between physical objects and their mass."^^xsd:string) -AnnotationAssertion(rdfs:label :isMassAttributeOf "is mass attribute of"^^xsd:string) -SubObjectPropertyOf(:isMassAttributeOf ) -InverseObjectProperties(:isMassAttributeOf SOMA:hasMassAttribute) -ObjectPropertyDomain(:isMassAttributeOf SOMA:MassAttribute) -ObjectPropertyRange(:isMassAttributeOf ) - -# Object Property: :isNetForceOf (is net force of) - -AnnotationAssertion(rdfs:comment :isNetForceOf "A relation between a physical object and the total force acting on it."^^xsd:string) -AnnotationAssertion(rdfs:label :isNetForceOf "is net force of"^^xsd:string) -SubObjectPropertyOf(:isNetForceOf ) -ObjectPropertyDomain(:isNetForceOf :NetForce) -ObjectPropertyRange(:isNetForceOf ) - -# Object Property: :isParentLinkOf (is parent link of) - -AnnotationAssertion(rdfs:comment :isParentLinkOf "Relates a joint to the link it connects which is closer to the root of the kinematic chain."^^xsd:string) -AnnotationAssertion(rdfs:label :isParentLinkOf "is parent link of"^^xsd:string) -SubObjectPropertyOf(:isParentLinkOf ) -ObjectPropertyDomain(:isParentLinkOf ) -ObjectPropertyRange(:isParentLinkOf :Joint) - -# Object Property: :isRootLinkOf (is root link of) - -AnnotationAssertion(rdfs:comment :isRootLinkOf "Relates an object to kinematic components at the root of the kinematic chain."^^xsd:string) -AnnotationAssertion(rdfs:label :isRootLinkOf "is root link of"^^xsd:string) -SubObjectPropertyOf(:isRootLinkOf :isLinkOf) -ObjectPropertyDomain(:isRootLinkOf ) -ObjectPropertyRange(:isRootLinkOf ) - # Object Property: SOMA:affordanceDefines (affordance defines) AnnotationAssertion(rdfs:comment SOMA:affordanceDefines "A relation between an Affordance and a Concept (often an EventType).") @@ -492,7 +348,6 @@ InverseObjectProperties(SOMA:affordsConcept SOMA:isConceptAffordedBy) ObjectPropertyDomain(SOMA:affordsConcept SOMA:Disposition) ObjectPropertyRange(SOMA:affordsConcept ) - # Object Property: SOMA:affordsPerformer (affords performer) AnnotationAssertion(rdfs:comment SOMA:affordsPerformer "Relates a disposition to the performer role defined by the affordance describing the disposition."@en) @@ -603,6 +458,15 @@ InverseObjectProperties(SOMA:hasAlterationResult SOMA:isAlterationResultOf) ObjectPropertyDomain(SOMA:hasAlterationResult ) ObjectPropertyRange(SOMA:hasAlterationResult ) +# Object Property: SOMA:hasChildLink (has child link) + +AnnotationAssertion(rdfs:comment SOMA:hasChildLink "Relates a joint to the link it connects which is closer to the end of the kinematic chain.") +AnnotationAssertion(rdfs:label SOMA:hasChildLink "has child link") +SubObjectPropertyOf(SOMA:hasChildLink ) +InverseObjectProperties(SOMA:hasChildLink SOMA:isChildLinkOf) +ObjectPropertyDomain(SOMA:hasChildLink SOMA:Joint) +ObjectPropertyRange(SOMA:hasChildLink ) + # Object Property: SOMA:hasColor (has color) AnnotationAssertion(rdfs:comment SOMA:hasColor "Relates an object to its color quality.") @@ -621,6 +485,15 @@ InverseObjectProperties(SOMA:hasDisposition SOMA:isDispositionOf) ObjectPropertyDomain(SOMA:hasDisposition ) ObjectPropertyRange(SOMA:hasDisposition SOMA:Disposition) +# Object Property: SOMA:hasEndLink (has end link) + +AnnotationAssertion(rdfs:comment SOMA:hasEndLink "Relates an object to kinematic components at the end of the kinematic chain.") +AnnotationAssertion(rdfs:label SOMA:hasEndLink "has end link") +SubObjectPropertyOf(SOMA:hasEndLink SOMA:hasLink) +InverseObjectProperties(SOMA:hasEndLink SOMA:isEndLinkOf) +ObjectPropertyDomain(SOMA:hasEndLink ) +ObjectPropertyRange(SOMA:hasEndLink ) + # Object Property: SOMA:hasFeature (has feature) AnnotationAssertion(rdfs:comment SOMA:hasFeature "Associates a physical object to one of its features.") @@ -638,6 +511,33 @@ SubObjectPropertyOf(SOMA:hasFrictionAttribute ) ObjectPropertyRange(SOMA:hasFrictionAttribute SOMA:FrictionAttribute) +# Object Property: SOMA:hasJointLimit (has joint limit) + +AnnotationAssertion(rdfs:comment SOMA:hasJointLimit "Relates a joint to its physical limits.") +AnnotationAssertion(rdfs:label SOMA:hasJointLimit "has joint limit") +SubObjectPropertyOf(SOMA:hasJointLimit ) +InverseObjectProperties(SOMA:hasJointLimit SOMA:isJointLimitOf) +ObjectPropertyDomain(SOMA:hasJointLimit SOMA:Joint) +ObjectPropertyRange(SOMA:hasJointLimit SOMA:JointLimit) + +# Object Property: SOMA:hasJointState (has joint state) + +AnnotationAssertion(rdfs:comment SOMA:hasJointState "Relates a joint to its state.") +AnnotationAssertion(rdfs:label SOMA:hasJointState "has joint state") +SubObjectPropertyOf(SOMA:hasJointState ) +InverseObjectProperties(SOMA:hasJointState SOMA:isJointStateOf) +ObjectPropertyDomain(SOMA:hasJointState SOMA:Joint) +ObjectPropertyRange(SOMA:hasJointState SOMA:JointState) + +# Object Property: SOMA:hasLink (has link) + +AnnotationAssertion(rdfs:comment SOMA:hasLink "Relates an object to its kinematic components.") +AnnotationAssertion(rdfs:label SOMA:hasLink "has link") +SubObjectPropertyOf(SOMA:hasLink ) +InverseObjectProperties(SOMA:hasLink SOMA:isLinkOf) +ObjectPropertyDomain(SOMA:hasLink ) +ObjectPropertyRange(SOMA:hasLink ) + # Object Property: SOMA:hasLocalization (has localization) AnnotationAssertion(rdfs:comment SOMA:hasLocalization "Relates an object to its localization quality.") @@ -652,9 +552,28 @@ ObjectPropertyRange(SOMA:hasLocalization SOMA:Localization) AnnotationAssertion(rdfs:comment SOMA:hasMassAttribute "A relation between physical objects and their mass.") AnnotationAssertion(rdfs:label SOMA:hasMassAttribute "has mass attribute") SubObjectPropertyOf(SOMA:hasMassAttribute ) +InverseObjectProperties(SOMA:hasMassAttribute SOMA:isMassAttributeOf) ObjectPropertyDomain(SOMA:hasMassAttribute ) ObjectPropertyRange(SOMA:hasMassAttribute SOMA:MassAttribute) +# Object Property: SOMA:hasNetForce (has net force) + +AnnotationAssertion(rdfs:comment SOMA:hasNetForce "A relation between a physical object and the total force acting on it.") +AnnotationAssertion(rdfs:label SOMA:hasNetForce "has net force") +SubObjectPropertyOf(SOMA:hasNetForce ) +InverseObjectProperties(SOMA:hasNetForce SOMA:isNetForceOf) +ObjectPropertyDomain(SOMA:hasNetForce ) +ObjectPropertyRange(SOMA:hasNetForce SOMA:NetForce) + +# Object Property: SOMA:hasParentLink (has parent link) + +AnnotationAssertion(rdfs:comment SOMA:hasParentLink "Relates a joint to the link it connects which is closer to the root of the kinematic chain.") +AnnotationAssertion(rdfs:label SOMA:hasParentLink "has parent link") +SubObjectPropertyOf(SOMA:hasParentLink ) +InverseObjectProperties(SOMA:hasParentLink SOMA:isParentLinkOf) +ObjectPropertyDomain(SOMA:hasParentLink SOMA:Joint) +ObjectPropertyRange(SOMA:hasParentLink ) + # Object Property: SOMA:hasQuale (has quale) AnnotationAssertion(rdfs:comment SOMA:hasQuale "Relates a quality to its \"value\", called quale, which is an atomic quality region.") @@ -664,6 +583,15 @@ InverseObjectProperties(SOMA:hasQuale SOMA:isQualeOf) ObjectPropertyDomain(SOMA:hasQuale ) ObjectPropertyRange(SOMA:hasQuale ) +# Object Property: SOMA:hasRootLink (has root link) + +AnnotationAssertion(rdfs:comment SOMA:hasRootLink "Relates an object to kinematic components at the root of the kinematic chain.") +AnnotationAssertion(rdfs:label SOMA:hasRootLink "has root link") +SubObjectPropertyOf(SOMA:hasRootLink SOMA:hasLink) +InverseObjectProperties(SOMA:hasRootLink SOMA:isRootLinkOf) +ObjectPropertyDomain(SOMA:hasRootLink ) +ObjectPropertyRange(SOMA:hasRootLink ) + # Object Property: SOMA:hasShape (has shape) AnnotationAssertion(rdfs:comment SOMA:hasShape "Relates an object to its shape quality.") @@ -693,7 +621,7 @@ ObjectPropertyRange(SOMA:hasSpaceRegion ) InverseObjectProperties(SOMA:involvesEffector SOMA:isEffectorInvolvedIn) @@ -724,6 +652,14 @@ SubObjectPropertyOf(SOMA:isBearerDefinedIn ) ObjectPropertyRange(SOMA:isBearerDefinedIn SOMA:Affordance) +# Object Property: SOMA:isChildLinkOf (is child link of) + +AnnotationAssertion(rdfs:comment SOMA:isChildLinkOf "Relates a joint to the link it connects which is closer to the end of the kinematic chain.") +AnnotationAssertion(rdfs:label SOMA:isChildLinkOf "is child link of") +SubObjectPropertyOf(SOMA:isChildLinkOf ) +ObjectPropertyDomain(SOMA:isChildLinkOf ) +ObjectPropertyRange(SOMA:isChildLinkOf SOMA:Joint) + # Object Property: SOMA:isColorOf (is color of) AnnotationAssertion(rdfs:comment SOMA:isColorOf "Relates a color quality to the object the color belongs to.") @@ -767,12 +703,20 @@ ObjectPropertyRange(SOMA:isDispositionOf ) ObjectPropertyDomain(SOMA:isEffectorInvolvedIn SOMA:PhysicalEffector) ObjectPropertyRange(SOMA:isEffectorInvolvedIn ) +# Object Property: SOMA:isEndLinkOf (is end link of) + +AnnotationAssertion(rdfs:comment SOMA:isEndLinkOf "Relates an object to kinematic components at the end of the kinematic chain.") +AnnotationAssertion(rdfs:label SOMA:isEndLinkOf "is end link of") +SubObjectPropertyOf(SOMA:isEndLinkOf SOMA:isLinkOf) +ObjectPropertyDomain(SOMA:isEndLinkOf ) +ObjectPropertyRange(SOMA:isEndLinkOf ) + # Object Property: SOMA:isFeatureOf (is feature of) AnnotationAssertion(rdfs:comment SOMA:isFeatureOf "Associates a feature to the physical object it belongs to.") @@ -791,6 +735,30 @@ TransitiveObjectProperty(SOMA:isInsideOf) ObjectPropertyDomain(SOMA:isInsideOf ) ObjectPropertyRange(SOMA:isInsideOf ) +# Object Property: SOMA:isJointLimitOf (is joint limit of) + +AnnotationAssertion(rdfs:comment SOMA:isJointLimitOf "Relates a joint to its physical limits.") +AnnotationAssertion(rdfs:label SOMA:isJointLimitOf "is joint limit of") +SubObjectPropertyOf(SOMA:isJointLimitOf ) +ObjectPropertyDomain(SOMA:isJointLimitOf SOMA:JointLimit) +ObjectPropertyRange(SOMA:isJointLimitOf SOMA:Joint) + +# Object Property: SOMA:isJointStateOf (is joint state of) + +AnnotationAssertion(rdfs:comment SOMA:isJointStateOf "Relates a joint to its state.") +AnnotationAssertion(rdfs:label SOMA:isJointStateOf "is joint state of") +SubObjectPropertyOf(SOMA:isJointStateOf ) +ObjectPropertyDomain(SOMA:isJointStateOf SOMA:JointState) +ObjectPropertyRange(SOMA:isJointStateOf SOMA:Joint) + +# Object Property: SOMA:isLinkOf (is link of) + +AnnotationAssertion(rdfs:comment SOMA:isLinkOf "Relates an object to its kinematic components.") +AnnotationAssertion(rdfs:label SOMA:isLinkOf "is link of") +SubObjectPropertyOf(SOMA:isLinkOf ) +ObjectPropertyDomain(SOMA:isLinkOf ) +ObjectPropertyRange(SOMA:isLinkOf ) + # Object Property: SOMA:isLinkedTo (is linked to) AnnotationAssertion(rdfs:comment SOMA:isLinkedTo "A spatial relation holding between objects that are linked with each other such that they resist spatial separation.") @@ -808,6 +776,22 @@ SubObjectPropertyOf(SOMA:isLocalizationOf ) +# Object Property: SOMA:isMassAttributeOf (is mass attribute of) + +AnnotationAssertion(rdfs:comment SOMA:isMassAttributeOf "A relation between physical objects and their mass.") +AnnotationAssertion(rdfs:label SOMA:isMassAttributeOf "is mass attribute of") +SubObjectPropertyOf(SOMA:isMassAttributeOf ) +ObjectPropertyDomain(SOMA:isMassAttributeOf SOMA:MassAttribute) +ObjectPropertyRange(SOMA:isMassAttributeOf ) + +# Object Property: SOMA:isNetForceOf (is net force of) + +AnnotationAssertion(rdfs:comment SOMA:isNetForceOf "A relation between a physical object and the total force acting on it.") +AnnotationAssertion(rdfs:label SOMA:isNetForceOf "is net force of") +SubObjectPropertyOf(SOMA:isNetForceOf ) +ObjectPropertyDomain(SOMA:isNetForceOf SOMA:NetForce) +ObjectPropertyRange(SOMA:isNetForceOf ) + # Object Property: SOMA:isOntopOf (is ontop of) AnnotationAssertion(rdfs:comment SOMA:isOntopOf "A spatial relation holding between an object (the deposit), and objects that are located ontop of it.") @@ -824,6 +808,13 @@ SubObjectPropertyOf(SOMA:isParameterDefinedIn ) ObjectPropertyRange(SOMA:isParameterDefinedIn ) +# Object Property: SOMA:isParentLinkOf (is parent link of) + +AnnotationAssertion(rdfs:comment SOMA:isParentLinkOf "Relates a joint to the link it connects which is closer to the root of the kinematic chain.") +AnnotationAssertion(rdfs:label SOMA:isParentLinkOf "is parent link of") +SubObjectPropertyOf(SOMA:isParentLinkOf ) +ObjectPropertyDomain(SOMA:isParentLinkOf ) +ObjectPropertyRange(SOMA:isParentLinkOf SOMA:Joint) # Object Property: SOMA:isPerformerAffordedBy (is performer afforded by) @@ -843,8 +834,8 @@ ObjectPropertyRange(SOMA:isPerformerDefinedIn ) ObjectPropertyDomain(SOMA:isPhysicallyContainedIn ) ObjectPropertyRange(SOMA:isPhysicallyContainedIn ) @@ -865,6 +856,14 @@ SubObjectPropertyOf(SOMA:isQualityDescribedBy ) ObjectPropertyRange(SOMA:isQualityDescribedBy ) +# Object Property: SOMA:isRootLinkOf (is root link of) + +AnnotationAssertion(rdfs:comment SOMA:isRootLinkOf "Relates an object to kinematic components at the root of the kinematic chain.") +AnnotationAssertion(rdfs:label SOMA:isRootLinkOf "is root link of") +SubObjectPropertyOf(SOMA:isRootLinkOf SOMA:isLinkOf) +ObjectPropertyDomain(SOMA:isRootLinkOf ) +ObjectPropertyRange(SOMA:isRootLinkOf ) + # Object Property: SOMA:isSetpointAffordedBy (is setpoint afforded by) AnnotationAssertion(rdfs:comment SOMA:isSetpointAffordedBy "Relates a disposition to the setpoint parameter defined by the affordance describing the disposition.") @@ -984,90 +983,6 @@ ObjectPropertyRange(SOMA:transitionsTo ) -DataPropertyDomain(:hasForceValue :ForceAttribute) -DataPropertyRange(:hasForceValue SOMA:array_double) - -# Data Property: :hasJointEffort (has joint effort) - -AnnotationAssertion(rdfs:comment :hasJointEffort "The effort applied in a joint given in N (prismatic joint) or N*m (hinged joints)."^^xsd:string) -AnnotationAssertion(rdfs:label :hasJointEffort "has joint effort"^^xsd:string) -SubDataPropertyOf(:hasJointEffort :hasJointParameter) -DataPropertyDomain(:hasJointEffort :JointState) -DataPropertyRange(:hasJointEffort xsd:double) - -# Data Property: :hasJointEffortLimit (has joint effort limit) - -AnnotationAssertion(rdfs:comment :hasJointEffortLimit "The maximum effort applied in a joint given in N (prismatic joint) or N*m (hinged joints)."^^xsd:string) -AnnotationAssertion(rdfs:label :hasJointEffortLimit "has joint effort limit"^^xsd:string) -SubDataPropertyOf(:hasJointEffortLimit :hasJointParameter) -DataPropertyDomain(:hasJointEffortLimit :JointLimit) -DataPropertyRange(:hasJointEffortLimit xsd:double) - -# Data Property: :hasJointParameter (has joint parameter) - -AnnotationAssertion(rdfs:comment :hasJointParameter "Assigns a value for an attribute of a joint."^^xsd:string) -AnnotationAssertion(rdfs:label :hasJointParameter "has joint parameter"^^xsd:string) -SubDataPropertyOf(:hasJointParameter ) -DataPropertyDomain(:hasJointParameter ) -DataPropertyRange(:hasJointParameter xsd:double) - -# Data Property: :hasJointPosition (has joint position) - -AnnotationAssertion(rdfs:comment :hasJointPosition "The position of a joint given in m (prismatic joints) or rad (hinged joints)."^^xsd:string) -AnnotationAssertion(rdfs:label :hasJointPosition "has joint position"^^xsd:string) -SubDataPropertyOf(:hasJointPosition :hasJointParameter) -DataPropertyDomain(:hasJointPosition :JointState) -DataPropertyRange(:hasJointPosition xsd:double) - -# Data Property: :hasJointPositionMax (has joint position max) - -AnnotationAssertion(rdfs:comment :hasJointPositionMax "The maximum position of a joint given in m (prismatic joints) or rad (hinged joints)."^^xsd:string) -AnnotationAssertion(rdfs:label :hasJointPositionMax "has joint position max"^^xsd:string) -SubDataPropertyOf(:hasJointPositionMax :hasJointParameter) -DataPropertyDomain(:hasJointPositionMax :JointLimit) -DataPropertyRange(:hasJointPositionMax xsd:double) - -# Data Property: :hasJointPositionMin (has joint position min) - -AnnotationAssertion(rdfs:comment :hasJointPositionMin "The minimum position of a joint given in m (prismatic joints) or rad (hinged joints)."^^xsd:string) -AnnotationAssertion(rdfs:label :hasJointPositionMin "has joint position min"^^xsd:string) -SubDataPropertyOf(:hasJointPositionMin :hasJointParameter) -DataPropertyDomain(:hasJointPositionMin :JointLimit) -DataPropertyRange(:hasJointPositionMin xsd:double) - -# Data Property: :hasJointVelocity (has joint velocity) - -AnnotationAssertion(rdfs:comment :hasJointVelocity "The velocity of a joint given in m/s (prismatic joints) or rad/s (hinged joints)."^^xsd:string) -AnnotationAssertion(rdfs:label :hasJointVelocity "has joint velocity"^^xsd:string) -SubDataPropertyOf(:hasJointVelocity :hasJointParameter) -DataPropertyDomain(:hasJointVelocity :JointState) -DataPropertyRange(:hasJointVelocity xsd:double) - -# Data Property: :hasJointVelocityLimit (has joint velocity limit) - -AnnotationAssertion(rdfs:comment :hasJointVelocityLimit "The maximum velocity of a joint given in m/s (prismatic joints) or rad/s (hinged joints)."^^xsd:string) -AnnotationAssertion(rdfs:label :hasJointVelocityLimit "has joint velocity limit"^^xsd:string) -SubDataPropertyOf(:hasJointVelocityLimit :hasJointParameter) -DataPropertyDomain(:hasJointVelocityLimit :JointLimit) -DataPropertyRange(:hasJointVelocityLimit xsd:double) - -# Data Property: :hasShapeScale (has shape scale) - -AnnotationAssertion(rdfs:comment :hasShapeScale "The scale of a shape, given as a vector of three real numbers to adjust x, y, z components of vertex vectors. In cases where a shape needs to be flipped compared to the shape described by a mesh, one of the scale components will be negative. - -It is often the case that shapes need to be altered from their description in a shape file, and a typical example of this is scaling a mesh. - -In robotics, it is not uncommon to encounter shapes that are flipped compared to the shape in a mesh file. This is because robots often have bilateral symmetry, thus it makes sense to reuse the same meshes for corresponding links of the left and right arms.") -AnnotationAssertion(rdfs:label :hasShapeScale "has shape scale") -SubDataPropertyOf(:hasShapeScale SOMA:hasShapeParameter) -DataPropertyDomain(:hasShapeScale SOMA:ShapeRegion) -DataPropertyRange(:hasShapeScale SOMA:array_double) - # Data Property: SOMA:hasColorValue (has color value) AnnotationAssertion(rdfs:comment SOMA:hasColorValue "Associates a ColorRegion to numerical data describing the color.") @@ -1091,6 +1006,14 @@ SubDataPropertyOf(SOMA:hasFilePath ) DataPropertyRange(SOMA:hasFilePath xsd:string) +# Data Property: SOMA:hasForceValue (has force value) + +AnnotationAssertion(rdfs:comment SOMA:hasForceValue "A value that quantifies a force given in Newton.") +AnnotationAssertion(rdfs:label SOMA:hasForceValue "has force value") +SubDataPropertyOf(SOMA:hasForceValue ) +DataPropertyDomain(SOMA:hasForceValue SOMA:ForceAttribute) +DataPropertyRange(SOMA:hasForceValue SOMA:array_double) + # Data Property: SOMA:hasFrictionValue (has friction value) AnnotationAssertion(rdfs:comment SOMA:hasFrictionValue "The coefficient of friction denotes the ratio of friction force between touching objects. The coefficient is dimensionless.") @@ -1115,6 +1038,70 @@ SubDataPropertyOf(SOMA:hasHeight SOMA:hasShapeParameter) DataPropertyDomain(SOMA:hasHeight SOMA:ShapeRegion) DataPropertyRange(SOMA:hasHeight xsd:float) +# Data Property: SOMA:hasJointEffort (has joint effort) + +AnnotationAssertion(rdfs:comment SOMA:hasJointEffort "The effort applied in a joint given in N (prismatic joint) or N*m (hinged joints).") +AnnotationAssertion(rdfs:label SOMA:hasJointEffort "has joint effort") +SubDataPropertyOf(SOMA:hasJointEffort SOMA:hasJointParameter) +DataPropertyDomain(SOMA:hasJointEffort SOMA:JointState) +DataPropertyRange(SOMA:hasJointEffort xsd:double) + +# Data Property: SOMA:hasJointEffortLimit (has joint effort limit) + +AnnotationAssertion(rdfs:comment SOMA:hasJointEffortLimit "The maximum effort applied in a joint given in N (prismatic joint) or N*m (hinged joints).") +AnnotationAssertion(rdfs:label SOMA:hasJointEffortLimit "has joint effort limit") +SubDataPropertyOf(SOMA:hasJointEffortLimit SOMA:hasJointParameter) +DataPropertyDomain(SOMA:hasJointEffortLimit SOMA:JointLimit) +DataPropertyRange(SOMA:hasJointEffortLimit xsd:double) + +# Data Property: SOMA:hasJointParameter (has joint parameter) + +AnnotationAssertion(rdfs:comment SOMA:hasJointParameter "Assigns a value for an attribute of a joint.") +AnnotationAssertion(rdfs:label SOMA:hasJointParameter "has joint parameter") +SubDataPropertyOf(SOMA:hasJointParameter ) +DataPropertyDomain(SOMA:hasJointParameter ) +DataPropertyRange(SOMA:hasJointParameter xsd:double) + +# Data Property: SOMA:hasJointPosition (has joint position) + +AnnotationAssertion(rdfs:comment SOMA:hasJointPosition "The position of a joint given in m (prismatic joints) or rad (hinged joints).") +AnnotationAssertion(rdfs:label SOMA:hasJointPosition "has joint position") +SubDataPropertyOf(SOMA:hasJointPosition SOMA:hasJointParameter) +DataPropertyDomain(SOMA:hasJointPosition SOMA:JointState) +DataPropertyRange(SOMA:hasJointPosition xsd:double) + +# Data Property: SOMA:hasJointPositionMax (has joint position max) + +AnnotationAssertion(rdfs:comment SOMA:hasJointPositionMax "The maximum position of a joint given in m (prismatic joints) or rad (hinged joints).") +AnnotationAssertion(rdfs:label SOMA:hasJointPositionMax "has joint position max") +SubDataPropertyOf(SOMA:hasJointPositionMax SOMA:hasJointParameter) +DataPropertyDomain(SOMA:hasJointPositionMax SOMA:JointLimit) +DataPropertyRange(SOMA:hasJointPositionMax xsd:double) + +# Data Property: SOMA:hasJointPositionMin (has joint position min) + +AnnotationAssertion(rdfs:comment SOMA:hasJointPositionMin "The minimum position of a joint given in m (prismatic joints) or rad (hinged joints).") +AnnotationAssertion(rdfs:label SOMA:hasJointPositionMin "has joint position min") +SubDataPropertyOf(SOMA:hasJointPositionMin SOMA:hasJointParameter) +DataPropertyDomain(SOMA:hasJointPositionMin SOMA:JointLimit) +DataPropertyRange(SOMA:hasJointPositionMin xsd:double) + +# Data Property: SOMA:hasJointVelocity (has joint velocity) + +AnnotationAssertion(rdfs:comment SOMA:hasJointVelocity "The velocity of a joint given in m/s (prismatic joints) or rad/s (hinged joints).") +AnnotationAssertion(rdfs:label SOMA:hasJointVelocity "has joint velocity") +SubDataPropertyOf(SOMA:hasJointVelocity SOMA:hasJointParameter) +DataPropertyDomain(SOMA:hasJointVelocity SOMA:JointState) +DataPropertyRange(SOMA:hasJointVelocity xsd:double) + +# Data Property: SOMA:hasJointVelocityLimit (has joint velocity limit) + +AnnotationAssertion(rdfs:comment SOMA:hasJointVelocityLimit "The maximum velocity of a joint given in m/s (prismatic joints) or rad/s (hinged joints).") +AnnotationAssertion(rdfs:label SOMA:hasJointVelocityLimit "has joint velocity limit") +SubDataPropertyOf(SOMA:hasJointVelocityLimit SOMA:hasJointParameter) +DataPropertyDomain(SOMA:hasJointVelocityLimit SOMA:JointLimit) +DataPropertyRange(SOMA:hasJointVelocityLimit xsd:double) + # Data Property: SOMA:hasLength (has length) AnnotationAssertion(rdfs:comment SOMA:hasLength "The length of a shape.") @@ -1134,7 +1121,7 @@ DataPropertyRange(SOMA:hasMassValue xsd:double) # Data Property: SOMA:hasPositionData (has position data) AnnotationAssertion(rdfs:comment SOMA:hasPositionData "Associates a spatial region to a position.") -AnnotationAssertion(rdfs:label SOMA:hasPositionData "has position data"^^xsd:string) +AnnotationAssertion(rdfs:label SOMA:hasPositionData "has position data") SubDataPropertyOf(SOMA:hasPositionData SOMA:hasSpaceParameter) DataPropertyDomain(SOMA:hasPositionData ) DataPropertyRange(SOMA:hasPositionData xsd:string) @@ -1171,10 +1158,22 @@ SubDataPropertyOf(SOMA:hasShapeParameter ) DataPropertyDomain(SOMA:hasSpaceParameter ) @@ -1192,157 +1191,6 @@ DataPropertyRange(SOMA:hasWidth xsd:float) # Classes ############################ -# Class: :ArtificialAgent (Artificial agent) - -AnnotationAssertion(rdfs:comment :ArtificialAgent "A physical object with artificial characteristics, which can perform actions to achieve desired goals, and typically has sensors and/or actuators. - -There can be non-physical artificial agents such as software programs but they are not considered here in the scope of artificial agent.") -AnnotationAssertion(rdfs:label :ArtificialAgent "Artificial agent") -SubClassOf(:ArtificialAgent ) - -# Class: :CanCut (:CanCut) - -AnnotationAssertion(rdfs:comment :CanCut "The disposition of an object (the tool) to cut other objects. Such as a knife has cutting ability to cut a cucumber into pieces.") -SubClassOf(:CanCut SOMA:Variability) -SubClassOf(:CanCut ObjectAllValuesFrom(SOMA:affordsBearer :Cutter)) -SubClassOf(:CanCut ObjectAllValuesFrom(SOMA:affordsTrigger :CutObject)) - -# Class: :Capability (:Capability) - -AnnotationAssertion(rdfs:comment :Capability "The disposition of an agent to bring about certain effects, and to achieve certain goals.") -SubClassOf(:Capability SOMA:Disposition) - -# Class: :ContinuousJoint (Continuous joint) - -AnnotationAssertion(rdfs:comment :ContinuousJoint "A continuous hinge joint that rotates around an axis and has no upper and lower limits."^^xsd:string) -AnnotationAssertion(rdfs:label :ContinuousJoint "Continuous joint"^^xsd:string) -SubClassOf(:ContinuousJoint :HingeJoint) - -# Class: :CutObject (Cut object) - -AnnotationAssertion(rdfs:comment :CutObject "An object being cut down into pieces.") -AnnotationAssertion(rdfs:label :CutObject "Cut object") -SubClassOf(:CutObject SOMA:AlteredObject) - -# Class: :Cuttability (:Cuttability) - -AnnotationAssertion(rdfs:comment :Cuttability "The disposition of an object (the barrier) which makes it able to be cut down (into pieces) usually by some other object with role as a Cutter. Such as a cucumber has cuttability disposition which can be cut by a knife.") -SubClassOf(:Cuttability SOMA:Disposition) -SubClassOf(:Cuttability ObjectAllValuesFrom(SOMA:affordsBearer :CutObject)) -SubClassOf(:Cuttability ObjectAllValuesFrom(SOMA:affordsTrigger :Cutter)) - -# Class: :Cutter (:Cutter) - -AnnotationAssertion(rdfs:comment :Cutter "A role to classify an object used to cut other objects. Usually should poses sharpness as a quality. Execptions are not considered in this context. Such as a wind, water, or other natural agents cutting(eroding) the rocks.") -SubClassOf(:Cutter SOMA:Tool) - -# Class: :FixedJoint (Fixed joint) - -AnnotationAssertion(rdfs:comment :FixedJoint "A joint that cannot move, designed to fixiate links."^^xsd:string) -AnnotationAssertion(rdfs:label :FixedJoint "Fixed joint"^^xsd:string) -SubClassOf(:FixedJoint :Joint) -SubClassOf(:FixedJoint ObjectExactCardinality(0 :hasJointState )) -DisjointClasses(:FixedJoint :MovableJoint) - -# Class: :FloatingJoint (Floating joint) - -AnnotationAssertion(rdfs:comment :FloatingJoint "A joint that allows motion for all 6 degrees of freedom."^^xsd:string) -AnnotationAssertion(rdfs:label :FloatingJoint "Floating joint"^^xsd:string) -SubClassOf(:FloatingJoint :MovableJoint) - -# Class: :ForceAttribute (Force attribute) - -AnnotationAssertion(rdfs:comment :ForceAttribute "The value of a force dynamical characteristic. An example is the force exerted on another object when pushing it."^^xsd:string) -AnnotationAssertion(rdfs:label :ForceAttribute "Force attribute"^^xsd:string) -SubClassOf(:ForceAttribute ) -SubClassOf(:ForceAttribute DataExactCardinality(1 :hasForceValue SOMA:array_double)) - -# Class: :HingeJoint (Hinge joint) - -AnnotationAssertion(rdfs:comment :HingeJoint "A joint that rotates along an axis."^^xsd:string) -AnnotationAssertion(rdfs:label :HingeJoint "Hinge joint"^^xsd:string) -SubClassOf(:HingeJoint :MovableJoint) - -# Class: :Joint (:Joint) - -AnnotationAssertion(rdfs:comment :Joint "An object that is used to articulate links in a kinematic structure."^^xsd:string) -EquivalentClasses(:Joint ObjectUnionOf(:FixedJoint :MovableJoint)) -SubClassOf(:Joint ) -SubClassOf(:Joint ObjectExactCardinality(1 :hasChildLink )) -SubClassOf(:Joint ObjectExactCardinality(1 :hasParentLink )) -SubClassOf(:Joint ObjectMaxCardinality(1 :hasJointState :JointState)) - -# Class: :JointLimit (Joint limit) - -AnnotationAssertion(rdfs:comment :JointLimit "The physical limits of a joint."^^xsd:string) -AnnotationAssertion(rdfs:label :JointLimit "Joint limit"^^xsd:string) -SubClassOf(:JointLimit ) - -# Class: :JointState (Joint state) - -AnnotationAssertion(rdfs:comment :JointState "The state of a joint in terms of position, velocity of the joint and effort applied to it."^^xsd:string) -AnnotationAssertion(rdfs:label :JointState "Joint state"^^xsd:string) -SubClassOf(:JointState ) -SubClassOf(:JointState DataExactCardinality(1 :hasJointPosition xsd:double)) -SubClassOf(:JointState DataExactCardinality(1 :hasJointVelocity xsd:double)) -SubClassOf(:JointState DataMaxCardinality(1 :hasJointEffort xsd:double)) - -# Class: :MovableJoint (Movable joint) - -AnnotationAssertion(rdfs:comment :MovableJoint "A joint where the two connected links can move relative to each other in some dimension."^^xsd:string) -AnnotationAssertion(rdfs:label :MovableJoint "Movable joint"^^xsd:string) -SubClassOf(:MovableJoint :Joint) -SubClassOf(:MovableJoint ObjectExactCardinality(1 :hasJointState :JointState)) - -# Class: :NetForce (Net force) - -AnnotationAssertion(rdfs:comment :NetForce "The accumulated force acting upon an object."^^xsd:string) -AnnotationAssertion(rdfs:label :NetForce "Net force"^^xsd:string) -SubClassOf(:NetForce :ForceAttribute) - -# Class: :PlanarJoint (Planar joint) - -AnnotationAssertion(rdfs:comment :PlanarJoint "A joint that allows motion in a plane perpendicular to an axis."^^xsd:string) -AnnotationAssertion(rdfs:label :PlanarJoint "Planar joint"^^xsd:string) -SubClassOf(:PlanarJoint :MovableJoint) - -# Class: :Pourable (:Pourable) - -AnnotationAssertion(rdfs:comment :Pourable "The disposition of a fluid or substance which makes it possible to pour it out of a container and into or onto other objects.") -SubClassOf(:Pourable SOMA:Disposition) -SubClassOf(:Pourable ObjectAllValuesFrom(SOMA:affordsBearer :PouredObject)) - -# Class: :PouredObject (Poured object) - -AnnotationAssertion(rdfs:comment :PouredObject "An object being poured into or onto some other object. A role of some fluid or substance that is the patient of pouring task.") -AnnotationAssertion(rdfs:label :PouredObject "Poured object") -SubClassOf(:PouredObject SOMA:Patient) - -# Class: :PrismaticJoint (Prismatic joint) - -AnnotationAssertion(rdfs:comment :PrismaticJoint "A sliding joint that slides along an axis, and has a limited range specified by the upper and lower limits."^^xsd:string) -AnnotationAssertion(rdfs:label :PrismaticJoint "Prismatic joint"^^xsd:string) -SubClassOf(:PrismaticJoint :MovableJoint) -SubClassOf(:PrismaticJoint ObjectExactCardinality(1 :hasJointLimit :JointLimit)) - -# Class: :RevoluteJoint (Revolute joint) - -AnnotationAssertion(rdfs:comment :RevoluteJoint "A hinge joint that rotates along an axis and has a limited range specified by the upper and lower limits."^^xsd:string) -AnnotationAssertion(rdfs:label :RevoluteJoint "Revolute joint"^^xsd:string) -SubClassOf(:RevoluteJoint :HingeJoint) -SubClassOf(:RevoluteJoint ObjectExactCardinality(1 :hasJointLimit :JointLimit)) - -# Class: :Storage (:Storage) - -AnnotationAssertion(rdfs:comment :Storage "The disposition of an object (the container) to store other objects. Storage of an object would facilitate several objectives; such as to store objects in a safe or usual place, to prevent the substances e.g. prevention of milk going bad by storing them in a refrigrator.") -SubClassOf(:Storage SOMA:Enclosing) -SubClassOf(:Storage ObjectAllValuesFrom(SOMA:affordsTrigger :StoredObject)) - -# Class: :StoredObject (:StoredObject) - -AnnotationAssertion(rdfs:comment :StoredObject "An object being stored into some other object, usually inside a container.") -SubClassOf(:StoredObject SOMA:EnclosedObject) - # Class: SOMA:Accessor (SOMA:Accessor) AnnotationAssertion(rdfs:comment SOMA:Accessor "A role classifying an object used to gain access to some other entity.") @@ -1390,6 +1238,14 @@ SubClassOf(SOMA:Appliance ) + # Class: SOMA:AvoidedObject (Avoided object) AnnotationAssertion(rdfs:comment SOMA:AvoidedObject "An object that is avoided.") @@ -1429,6 +1285,18 @@ SubClassOf(SOMA:BoxShape DataExactCardinality(1 SOMA:hasHeight xsd:float)) SubClassOf(SOMA:BoxShape DataExactCardinality(1 SOMA:hasLength xsd:float)) SubClassOf(SOMA:BoxShape DataExactCardinality(1 SOMA:hasWidth xsd:float)) +# Class: SOMA:CanCut (SOMA:CanCut) + +AnnotationAssertion(rdfs:comment SOMA:CanCut "The disposition of an object (the tool) to cut other objects. Such as a knife has cutting ability to cut a cucumber into pieces.") +SubClassOf(SOMA:CanCut SOMA:Variability) +SubClassOf(SOMA:CanCut ObjectAllValuesFrom(SOMA:affordsBearer SOMA:Cutter)) +SubClassOf(SOMA:CanCut ObjectAllValuesFrom(SOMA:affordsTrigger SOMA:CutObject)) + +# Class: SOMA:Capability (SOMA:Capability) + +AnnotationAssertion(rdfs:comment SOMA:Capability "The disposition of an agent to bring about certain effects, and to achieve certain goals.") +SubClassOf(SOMA:Capability SOMA:Disposition) + # Class: SOMA:Capacity (SOMA:Capacity) AnnotationAssertion(rdfs:comment SOMA:Capacity "The maximum amount an object can contain.") @@ -1438,7 +1306,7 @@ SubClassOf(SOMA:Capacity SOMA:Intrinsic) AnnotationAssertion(rdfs:comment SOMA:CausalEventRole "A role filled by a description of some action or process that brings about a motion. -As an example, consider the utterance \"the tennisman served the ball by hitting it with the racket.\" In this utterance, the filler of the CausalEventRole is expressed by the \"by hitting it with the racket\" constituent."^^xsd:string) +As an example, consider the utterance \"the tennisman served the ball by hitting it with the racket.\" In this utterance, the filler of the CausalEventRole is expressed by the \"by hitting it with the racket\" constituent.") AnnotationAssertion(rdfs:label SOMA:CausalEventRole "Causal event role"@en) SubClassOf(SOMA:CausalEventRole SOMA:CausativeRole) @@ -1528,6 +1396,12 @@ SubClassOf(SOMA:Containment ObjectAllValuesFrom(SOMA:affordsBearer SOMA:Containe SubClassOf(SOMA:Containment ObjectAllValuesFrom(SOMA:affordsTrigger SOMA:IncludedObject)) SubClassOf(SOMA:Containment ObjectAllValuesFrom(SOMA:isDispositionOf ObjectSomeValuesFrom( SOMA:Capacity))) +# Class: SOMA:ContinuousJoint (Continuous joint) + +AnnotationAssertion(rdfs:comment SOMA:ContinuousJoint "A continuous hinge joint that rotates around an axis and has no upper and lower limits.") +AnnotationAssertion(rdfs:label SOMA:ContinuousJoint "Continuous joint") +SubClassOf(SOMA:ContinuousJoint SOMA:HingeJoint) + # Class: SOMA:Cover (SOMA:Cover) AnnotationAssertion(rdfs:comment SOMA:Cover "An object used to cover up others, such as a lid used as a cover for a pot.") @@ -1552,6 +1426,24 @@ AnnotationAssertion(rdfs:comment SOMA:CreatedObject "An object that is created." AnnotationAssertion(rdfs:label SOMA:CreatedObject "Created object"@en) SubClassOf(SOMA:CreatedObject SOMA:Patient) +# Class: SOMA:CutObject (Cut object) + +AnnotationAssertion(rdfs:comment SOMA:CutObject "An object being cut down into pieces.") +AnnotationAssertion(rdfs:label SOMA:CutObject "Cut object") +SubClassOf(SOMA:CutObject SOMA:AlteredObject) + +# Class: SOMA:Cuttability (SOMA:Cuttability) + +AnnotationAssertion(rdfs:comment SOMA:Cuttability "The disposition of an object (the barrier) which makes it able to be cut down (into pieces) usually by some other object with role as a Cutter. Such as a cucumber has cuttability disposition which can be cut by a knife.") +SubClassOf(SOMA:Cuttability SOMA:Disposition) +SubClassOf(SOMA:Cuttability ObjectAllValuesFrom(SOMA:affordsBearer SOMA:CutObject)) +SubClassOf(SOMA:Cuttability ObjectAllValuesFrom(SOMA:affordsTrigger SOMA:Cutter)) + +# Class: SOMA:Cutter (SOMA:Cutter) + +AnnotationAssertion(rdfs:comment SOMA:Cutter "A role to classify an object used to cut other objects. Usually should poses sharpness as a quality. Execptions are not considered in this context. Such as a wind, water, or other natural agents cutting(eroding) the rocks.") +SubClassOf(SOMA:Cutter SOMA:Tool) + # Class: SOMA:CylinderShape (Cylinder shape) AnnotationAssertion(rdfs:comment SOMA:CylinderShape "A solid geometrical figure with straight parallel sides and a circular or oval cross section.") @@ -1701,7 +1593,7 @@ SubClassOf(SOMA:ExcludedObject SOMA:Patient) AnnotationAssertion(rdfs:comment SOMA:ExistingObjectRole "A role that requires of its filler simply to exist, unlike other roles that may demand e.g. agentive or instrumental participation in some executable schema or plan (AgentRole and Instrument respectively). -The intention behind such a simple role is to have a way to represent, in a schematic formalism used to describe some scene, that an object is present. In particular, the schema used to convey this information is the ESTSchemaTheory, which has ExistingObjectRole as its sole defined role."^^xsd:string) +The intention behind such a simple role is to have a way to represent, in a schematic formalism used to describe some scene, that an object is present. In particular, the schema used to convey this information is the ESTSchemaTheory, which has ExistingObjectRole as its sole defined role.") AnnotationAssertion(rdfs:label SOMA:ExistingObjectRole "Existing object role"@en) SubClassOf(SOMA:ExistingObjectRole SOMA:RelationAdjacentRole) SubClassOf(SOMA:ExistingObjectRole ObjectAllValuesFrom( )) @@ -1740,6 +1632,27 @@ AnnotationAssertion(rdfs:comment SOMA:Finger "A limb used for grasping objects." SubClassOf(SOMA:Finger SOMA:Limb) SubClassOf(SOMA:Finger ObjectSomeValuesFrom( SOMA:Hand)) +# Class: SOMA:FixedJoint (Fixed joint) + +AnnotationAssertion(rdfs:comment SOMA:FixedJoint "A joint that cannot move, designed to fixiate links.") +AnnotationAssertion(rdfs:label SOMA:FixedJoint "Fixed joint") +SubClassOf(SOMA:FixedJoint SOMA:Joint) +SubClassOf(SOMA:FixedJoint ObjectExactCardinality(0 SOMA:hasJointState )) +DisjointClasses(SOMA:FixedJoint SOMA:MovableJoint) + +# Class: SOMA:FloatingJoint (Floating joint) + +AnnotationAssertion(rdfs:comment SOMA:FloatingJoint "A joint that allows motion for all 6 degrees of freedom.") +AnnotationAssertion(rdfs:label SOMA:FloatingJoint "Floating joint") +SubClassOf(SOMA:FloatingJoint SOMA:MovableJoint) + +# Class: SOMA:ForceAttribute (Force attribute) + +AnnotationAssertion(rdfs:comment SOMA:ForceAttribute "The value of a force dynamical characteristic. An example is the force exerted on another object when pushing it.") +AnnotationAssertion(rdfs:label SOMA:ForceAttribute "Force attribute") +SubClassOf(SOMA:ForceAttribute ) +SubClassOf(SOMA:ForceAttribute DataExactCardinality(1 SOMA:hasForceValue SOMA:array_double)) + # Class: SOMA:FrictionAttribute (Friction attribute) AnnotationAssertion(rdfs:comment SOMA:FrictionAttribute "The resistance that one surface or object encounters when moving over another.") @@ -1800,6 +1713,12 @@ SubClassOf(SOMA:HasQualityRegion ObjectExactCardinality(1 ) +SubClassOf(SOMA:Joint ObjectExactCardinality(1 SOMA:hasChildLink )) +SubClassOf(SOMA:Joint ObjectExactCardinality(1 SOMA:hasParentLink )) +SubClassOf(SOMA:Joint ObjectMaxCardinality(1 SOMA:hasJointState SOMA:JointState)) + +# Class: SOMA:JointLimit (Joint limit) + +AnnotationAssertion(rdfs:comment SOMA:JointLimit "The physical limits of a joint.") +AnnotationAssertion(rdfs:label SOMA:JointLimit "Joint limit") +SubClassOf(SOMA:JointLimit ) + +# Class: SOMA:JointState (Joint state) + +AnnotationAssertion(rdfs:comment SOMA:JointState "The state of a joint in terms of position, velocity of the joint and effort applied to it.") +AnnotationAssertion(rdfs:label SOMA:JointState "Joint state") +SubClassOf(SOMA:JointState ) +SubClassOf(SOMA:JointState DataExactCardinality(1 SOMA:hasJointPosition xsd:double)) +SubClassOf(SOMA:JointState DataExactCardinality(1 SOMA:hasJointVelocity xsd:double)) +SubClassOf(SOMA:JointState DataMaxCardinality(1 SOMA:hasJointEffort xsd:double)) + # Class: SOMA:KineticFrictionAttribute (Kinetic friction attribute) AnnotationAssertion(rdfs:comment SOMA:KineticFrictionAttribute "Friction that occurs when two touching objects are moving relative to each other.") @@ -1885,7 +1828,7 @@ SubClassOf(SOMA:Location SOMA:SpatioTemporalRole) # Class: SOMA:LocatumRole (Locatum role) -AnnotationAssertion(rdfs:comment SOMA:LocatumRole "Denotes the object with primary focal prominence in a spatial or spatio-temporal schema. Terminological variants that appear in the literature on cognitive linguistics include Figure (Talmy 1983) and Trajector (Langacker 1986)."^^xsd:string) +AnnotationAssertion(rdfs:comment SOMA:LocatumRole "Denotes the object with primary focal prominence in a spatial or spatio-temporal schema. Terminological variants that appear in the literature on cognitive linguistics include Figure (Talmy 1983) and Trajector (Langacker 1986).") AnnotationAssertion(rdfs:label SOMA:LocatumRole "Locatum role"@en) SubClassOf(SOMA:LocatumRole SOMA:SpatialRelationRole) SubClassOf(SOMA:LocatumRole ObjectAllValuesFrom( )) @@ -1908,7 +1851,14 @@ AnnotationAssertion(rdfs:comment SOMA:MeshShape "A solid geometrical figure desc AnnotationAssertion(rdfs:label SOMA:MeshShape "Mesh shape") SubClassOf(SOMA:MeshShape SOMA:ShapeRegion) SubClassOf(SOMA:MeshShape DataExactCardinality(1 SOMA:hasFilePath xsd:string)) -SubClassOf(SOMA:MeshShape DataMaxCardinality(1 :hasShapeScale SOMA:array_double)) +SubClassOf(SOMA:MeshShape DataMaxCardinality(1 SOMA:hasShapeScale SOMA:array_double)) + +# Class: SOMA:MovableJoint (Movable joint) + +AnnotationAssertion(rdfs:comment SOMA:MovableJoint "A joint where the two connected links can move relative to each other in some dimension.") +AnnotationAssertion(rdfs:label SOMA:MovableJoint "Movable joint") +SubClassOf(SOMA:MovableJoint SOMA:Joint) +SubClassOf(SOMA:MovableJoint ObjectExactCardinality(1 SOMA:hasJointState SOMA:JointState)) # Class: SOMA:MovedObject (Moved object) @@ -1918,6 +1868,12 @@ SubClassOf(SOMA:MovedObject SOMA:AlteredObject) SubClassOf(SOMA:MovedObject ObjectSomeValuesFrom(SOMA:isTriggerDefinedIn ObjectAllValuesFrom(SOMA:describesQuality SOMA:Localization))) SubClassOf(SOMA:MovedObject ObjectAllValuesFrom( ObjectSomeValuesFrom( SOMA:Localization))) +# Class: SOMA:NetForce (Net force) + +AnnotationAssertion(rdfs:comment SOMA:NetForce "The accumulated force acting upon an object.") +AnnotationAssertion(rdfs:label SOMA:NetForce "Net force") +SubClassOf(SOMA:NetForce SOMA:ForceAttribute) + # Class: SOMA:Obstacle (SOMA:Obstacle) AnnotationAssertion(rdfs:comment SOMA:Obstacle "An object used to restrict access to a protected space or group.") @@ -1930,7 +1886,7 @@ SubClassOf(SOMA:Origin SOMA:Location) # Class: SOMA:PathRole (Path role) -AnnotationAssertion(rdfs:comment SOMA:PathRole "A role that classifies the path of a motion."^^xsd:string) +AnnotationAssertion(rdfs:comment SOMA:PathRole "A role that classifies the path of a motion.") AnnotationAssertion(rdfs:label SOMA:PathRole "Path role"@en) SubClassOf(SOMA:PathRole SOMA:SpatioTemporalRole) @@ -1939,19 +1895,18 @@ SubClassOf(SOMA:PathRole SOMA:SpatioTemporalRole) AnnotationAssertion(rdfs:comment SOMA:Patient "A role classifying an object that undergoes/is the primary object affected by the event.") SubClassOf(SOMA:Patient SOMA:EventAdjacentRole) - # Class: SOMA:PerformerRole (Performer role) AnnotationAssertion(rdfs:comment SOMA:PerformerRole "A role classifying an Agent responsible for performing an Action. -The entity playing an AgentRole is endowed with sentience and the capacity to deliberately choose actions in pursuit of goals. This distinguishes Agents from other causes that could bring an event about.") +The entity playing an PerformerRole is endowed with sentience and the capacity to deliberately choose actions in pursuit of goals. This distinguishes Agents from other causes that could bring an event about.") AnnotationAssertion(rdfs:label SOMA:PerformerRole "Performer role"@en) SubClassOf(SOMA:PerformerRole SOMA:CausativeRole) SubClassOf(SOMA:PerformerRole ObjectAllValuesFrom( )) # Class: SOMA:PhysicalEffector (Physical effector) -AnnotationAssertion(rdfs:comment SOMA:PhysicalEffector "A functional part belonging to an Agent and which allows that Agent to act upon its surroundings."^^xsd:string) +AnnotationAssertion(rdfs:comment SOMA:PhysicalEffector "A functional part belonging to an Agent and which allows that Agent to act upon its surroundings.") AnnotationAssertion(rdfs:label SOMA:PhysicalEffector "Physical effector") SubClassOf(SOMA:PhysicalEffector SOMA:FunctionalPart) SubClassOf(SOMA:PhysicalEffector ObjectSomeValuesFrom(ObjectInverseOf() )) @@ -1963,12 +1918,37 @@ AnnotationAssertion(rdfs:label SOMA:PhysicalQuality "Physical quality") SubClassOf(SOMA:PhysicalQuality ) SubClassOf(SOMA:PhysicalQuality ObjectExactCardinality(1 )) +# Class: SOMA:PlanarJoint (Planar joint) + +AnnotationAssertion(rdfs:comment SOMA:PlanarJoint "A joint that allows motion in a plane perpendicular to an axis.") +AnnotationAssertion(rdfs:label SOMA:PlanarJoint "Planar joint") +SubClassOf(SOMA:PlanarJoint SOMA:MovableJoint) + +# Class: SOMA:Pourable (SOMA:Pourable) + +AnnotationAssertion(rdfs:comment SOMA:Pourable "The disposition of a fluid or substance which makes it possible to pour it out of a container and into or onto other objects.") +SubClassOf(SOMA:Pourable SOMA:Disposition) +SubClassOf(SOMA:Pourable ObjectAllValuesFrom(SOMA:affordsBearer SOMA:PouredObject)) + +# Class: SOMA:PouredObject (Poured object) + +AnnotationAssertion(rdfs:comment SOMA:PouredObject "An object being poured into or onto some other object. A role of some fluid or substance that is the patient of pouring task.") +AnnotationAssertion(rdfs:label SOMA:PouredObject "Poured object") +SubClassOf(SOMA:PouredObject SOMA:Patient) + # Class: SOMA:PrehensileEffector (Prehensile effector) AnnotationAssertion(rdfs:comment SOMA:PrehensileEffector "An effector used to grasp objects, such as a hand of a human, or the long prehensile tail of a monkey.") AnnotationAssertion(rdfs:label SOMA:PrehensileEffector "Prehensile effector") SubClassOf(SOMA:PrehensileEffector SOMA:PhysicalEffector) +# Class: SOMA:PrismaticJoint (Prismatic joint) + +AnnotationAssertion(rdfs:comment SOMA:PrismaticJoint "A sliding joint that slides along an axis, and has a limited range specified by the upper and lower limits.") +AnnotationAssertion(rdfs:label SOMA:PrismaticJoint "Prismatic joint") +SubClassOf(SOMA:PrismaticJoint SOMA:MovableJoint) +SubClassOf(SOMA:PrismaticJoint ObjectExactCardinality(1 SOMA:hasJointLimit SOMA:JointLimit)) + # Class: SOMA:Protector (SOMA:Protector) AnnotationAssertion(rdfs:comment SOMA:Protector "A role classifying an object that protects another by preventing other entities from coming in contact with the protected object.") @@ -2007,7 +1987,7 @@ SubClassOf(SOMA:RelationAdjacentRole )) @@ -2051,6 +2031,13 @@ AnnotationAssertion(rdfs:comment SOMA:ResultRole "A role classifying the object AnnotationAssertion(rdfs:label SOMA:ResultRole "Result role"@en) SubClassOf(SOMA:ResultRole SOMA:GoalRole) +# Class: SOMA:RevoluteJoint (Revolute joint) + +AnnotationAssertion(rdfs:comment SOMA:RevoluteJoint "A hinge joint that rotates along an axis and has a limited range specified by the upper and lower limits.") +AnnotationAssertion(rdfs:label SOMA:RevoluteJoint "Revolute joint") +SubClassOf(SOMA:RevoluteJoint SOMA:HingeJoint) +SubClassOf(SOMA:RevoluteJoint ObjectExactCardinality(1 SOMA:hasJointLimit SOMA:JointLimit)) + # Class: SOMA:Room (SOMA:Room) AnnotationAssertion(rdfs:comment SOMA:Room "Space that can be occupied or where something can be done.") @@ -2164,6 +2151,17 @@ AnnotationAssertion(rdfs:comment SOMA:StimulusRole "A role classifying an object AnnotationAssertion(rdfs:label SOMA:StimulusRole "Stimulus role"@en) SubClassOf(SOMA:StimulusRole SOMA:CausativeRole) +# Class: SOMA:Storage (SOMA:Storage) + +AnnotationAssertion(rdfs:comment SOMA:Storage "The disposition of an object (the container) to store other objects. Storage of an object would facilitate several objectives; such as to store objects in a safe or usual place, to prevent the substances e.g. prevention of milk going bad by storing them in a refrigrator.") +SubClassOf(SOMA:Storage SOMA:Enclosing) +SubClassOf(SOMA:Storage ObjectAllValuesFrom(SOMA:affordsTrigger SOMA:StoredObject)) + +# Class: SOMA:StoredObject (SOMA:StoredObject) + +AnnotationAssertion(rdfs:comment SOMA:StoredObject "An object being stored into some other object, usually inside a container.") +SubClassOf(SOMA:StoredObject SOMA:EnclosedObject) + # Class: SOMA:StructuralDesign (Structural Design) AnnotationAssertion(rdfs:comment SOMA:StructuralDesign "A design of an object which describes its stability, strength and rigidity, and considers the way in which parts of an object are arranged. diff --git a/owl/SOMA-STATE.owl b/owl/SOMA-STATE.owl index 71529a10..21d50493 100644 --- a/owl/SOMA-STATE.owl +++ b/owl/SOMA-STATE.owl @@ -23,12 +23,12 @@ This is related to a design decision as to which should be more fundamental, the These approaches seem equally expressive, we simply chose what felt more intuitive.") -Declaration(Class(:ContainmentState)) Declaration(Class(SOMA:Configuration)) Declaration(Class(SOMA:ConnectedObject)) Declaration(Class(SOMA:ContactState)) Declaration(Class(SOMA:Container)) Declaration(Class(SOMA:Containment)) +Declaration(Class(SOMA:ContainmentState)) Declaration(Class(SOMA:FunctionalControl)) Declaration(Class(SOMA:Item)) Declaration(Class(SOMA:LinkageState)) @@ -85,13 +85,6 @@ ObjectPropertyRange(SOMA:isStateTypeOf ObjectSomeValuesFrom(SOMA:hasDisposition SOMA:Containment))))) - # Class: SOMA:Configuration (SOMA:Configuration) AnnotationAssertion(rdfs:comment SOMA:Configuration "A description of a State. This includes e.g. what acceptable regions for participant objects of the State might look like. @@ -116,6 +109,13 @@ SubClassOf(SOMA:ContactState ObjectAllValuesFrom( ObjectSomeValuesFrom(SOMA:hasDisposition SOMA:Containment))))) + # Class: SOMA:FunctionalControl (Functional state) AnnotationAssertion(rdfs:comment SOMA:FunctionalControl "Classifies States in which an object restricts the movement of another, at least partially. Usually neither object is construed to be an agent. diff --git a/owl/SOMA-WF.owl b/owl/SOMA-WF.owl index 580a743b..13320b6e 100755 --- a/owl/SOMA-WF.owl +++ b/owl/SOMA-WF.owl @@ -32,9 +32,6 @@ Declaration(Class()) Declaration(Class()) Declaration(Class()) -Declaration(ObjectProperty(:hasPreviousStep)) -Declaration(ObjectProperty(:isFirstStepOf)) -Declaration(ObjectProperty(:isStepOf)) Declaration(ObjectProperty(SOMA:definesInput)) Declaration(ObjectProperty(SOMA:definesOutput)) Declaration(ObjectProperty(SOMA:definesParticipant)) @@ -44,11 +41,14 @@ Declaration(ObjectProperty(SOMA:hasBindingRole)) Declaration(ObjectProperty(SOMA:hasFirstStep)) Declaration(ObjectProperty(SOMA:hasNextStep)) Declaration(ObjectProperty(SOMA:hasPredecessor)) +Declaration(ObjectProperty(SOMA:hasPreviousStep)) Declaration(ObjectProperty(SOMA:hasStep)) Declaration(ObjectProperty(SOMA:hasSuccedence)) Declaration(ObjectProperty(SOMA:hasSuccessor)) Declaration(ObjectProperty(SOMA:hasTask)) +Declaration(ObjectProperty(SOMA:isFirstStepOf)) Declaration(ObjectProperty(SOMA:isPlanFor)) +Declaration(ObjectProperty(SOMA:isStepOf)) Declaration(ObjectProperty()) Declaration(ObjectProperty()) Declaration(ObjectProperty()) @@ -61,33 +61,6 @@ Declaration(NamedIndividual(SOMA:FailWFUninterpretableTask)) # Object Properties ############################ -# Object Property: :hasPreviousStep (has previous step) - -AnnotationAssertion(rdfs:comment :hasPreviousStep "An ordering relation between tasks in some workflow, stating that a task is preceded by another.") -AnnotationAssertion(rdfs:label :hasPreviousStep "has previous step") -SubObjectPropertyOf(:hasPreviousStep ) -InverseObjectProperties(:hasPreviousStep SOMA:hasNextStep) -ObjectPropertyDomain(:hasPreviousStep ) -ObjectPropertyRange(:hasPreviousStep ) - -# Object Property: :isFirstStepOf (is first step of) - -AnnotationAssertion(rdfs:comment :isFirstStepOf "A relation stating that some task is the first one in a workflow.") -AnnotationAssertion(rdfs:label :isFirstStepOf "is first step of") -SubObjectPropertyOf(:isFirstStepOf :isStepOf) -InverseObjectProperties(:isFirstStepOf SOMA:hasFirstStep) -ObjectPropertyDomain(:isFirstStepOf ) -ObjectPropertyRange(:isFirstStepOf ) - -# Object Property: :isStepOf (is step of) - -AnnotationAssertion(rdfs:comment :isStepOf "A relation stating that a task is a step in a workflow.") -AnnotationAssertion(rdfs:label :isStepOf "is step of") -SubObjectPropertyOf(:isStepOf ) -InverseObjectProperties(:isStepOf SOMA:hasStep) -ObjectPropertyDomain(:isStepOf ) -ObjectPropertyRange(:isStepOf ) - # Object Property: SOMA:definesInput (SOMA:definesInput) AnnotationAssertion(rdfs:comment SOMA:definesInput "The defined participant is an \"input\": @@ -150,6 +123,7 @@ ObjectPropertyRange(SOMA:hasBindingRole ObjectUnionOf() ObjectPropertyRange(SOMA:hasFirstStep ) @@ -158,6 +132,7 @@ ObjectPropertyRange(SOMA:hasFirstStep ) +InverseObjectProperties(SOMA:hasNextStep SOMA:hasPreviousStep) ObjectPropertyDomain(SOMA:hasNextStep ) ObjectPropertyRange(SOMA:hasNextStep ) @@ -169,11 +144,20 @@ SubObjectPropertyOf(SOMA:hasPredecessor ) +# Object Property: SOMA:hasPreviousStep (has previous step) + +AnnotationAssertion(rdfs:comment SOMA:hasPreviousStep "An ordering relation between tasks in some workflow, stating that a task is preceded by another.") +AnnotationAssertion(rdfs:label SOMA:hasPreviousStep "has previous step") +SubObjectPropertyOf(SOMA:hasPreviousStep ) +ObjectPropertyDomain(SOMA:hasPreviousStep ) +ObjectPropertyRange(SOMA:hasPreviousStep ) + # Object Property: SOMA:hasStep (has step) AnnotationAssertion(rdfs:comment SOMA:hasStep "A relation between a Workflow and a Task it contains.") AnnotationAssertion(rdfs:label SOMA:hasStep "has step") SubObjectPropertyOf(SOMA:hasStep ) +InverseObjectProperties(SOMA:hasStep SOMA:isStepOf) ObjectPropertyDomain(SOMA:hasStep ) ObjectPropertyRange(SOMA:hasStep ) @@ -201,6 +185,22 @@ SubObjectPropertyOf(SOMA:hasTask )) ObjectPropertyRange(SOMA:hasTask ) +# Object Property: SOMA:isFirstStepOf (is first step of) + +AnnotationAssertion(rdfs:comment SOMA:isFirstStepOf "A relation stating that some task is the first one in a workflow.") +AnnotationAssertion(rdfs:label SOMA:isFirstStepOf "is first step of") +SubObjectPropertyOf(SOMA:isFirstStepOf SOMA:isStepOf) +ObjectPropertyDomain(SOMA:isFirstStepOf ) +ObjectPropertyRange(SOMA:isFirstStepOf ) + +# Object Property: SOMA:isStepOf (is step of) + +AnnotationAssertion(rdfs:comment SOMA:isStepOf "A relation stating that a task is a step in a workflow.") +AnnotationAssertion(rdfs:label SOMA:isStepOf "is step of") +SubObjectPropertyOf(SOMA:isStepOf ) +ObjectPropertyDomain(SOMA:isStepOf ) +ObjectPropertyRange(SOMA:isStepOf ) + ############################ # Data Properties diff --git a/owl/SOMA.owl b/owl/SOMA.owl index 68bc4491..43421171 100644 --- a/owl/SOMA.owl +++ b/owl/SOMA.owl @@ -46,8 +46,6 @@ Declaration(Class(SOMA:Successfulness)) Declaration(Class(SOMA:TechnicalDiagnosis)) Declaration(Class(SOMA:Threshold)) Declaration(Class(SOMA:Unsuccessfulness)) -Declaration(ObjectProperty()) -Declaration(ObjectProperty()) Declaration(ObjectProperty(SOMA:after)) Declaration(ObjectProperty(SOMA:before)) Declaration(ObjectProperty(SOMA:causesTransition)) @@ -81,6 +79,7 @@ Declaration(ObjectProperty(SOMA:isCausedByEvent)) Declaration(ObjectProperty(SOMA:isConceptIncludedIn)) Declaration(ObjectProperty(SOMA:isContainedIn)) Declaration(ObjectProperty(SOMA:isDirectSourceFor)) +Declaration(ObjectProperty(SOMA:isInitialSceneOf)) Declaration(ObjectProperty(SOMA:isInitialStateOf)) Declaration(ObjectProperty(SOMA:isInputParameterFor)) Declaration(ObjectProperty(SOMA:isInputRoleOf)) @@ -95,6 +94,7 @@ Declaration(ObjectProperty(SOMA:isSituationIncludedIn)) Declaration(ObjectProperty(SOMA:isSourceFor)) Declaration(ObjectProperty(SOMA:isTaskOfInputRole)) Declaration(ObjectProperty(SOMA:isTaskOfOutputRole)) +Declaration(ObjectProperty(SOMA:isTerminalSceneOf)) Declaration(ObjectProperty(SOMA:isTerminalStateOf)) Declaration(ObjectProperty(SOMA:meets)) Declaration(ObjectProperty(SOMA:metBy)) @@ -158,24 +158,6 @@ AnnotationPropertyRange(SOMA:symbol xsd:string) # Object Properties ############################ -# Object Property: (is initial scene of) - -AnnotationAssertion(rdfs:comment "A relation between StateTransitions and Scenes, which identifies the scene the transition starts from.") -AnnotationAssertion(rdfs:label "is initial scene of") -SubObjectPropertyOf( SOMA:isInitialStateOf) -InverseObjectProperties( SOMA:hasInitialScene) -ObjectPropertyDomain( SOMA:Scene) -ObjectPropertyRange( SOMA:StateTransition) - -# Object Property: (is terminal scene of) - -AnnotationAssertion(rdfs:comment "A relation between StateTransitions and Scenes, which identifies the scene the transition is expected to end at.") -AnnotationAssertion(rdfs:label "is terminal scene of") -SubObjectPropertyOf( SOMA:isTerminalStateOf) -InverseObjectProperties( SOMA:hasTerminalScene) -ObjectPropertyDomain( SOMA:Scene) -ObjectPropertyRange( SOMA:StateTransition) - # Object Property: SOMA:after (SOMA:after) AnnotationAssertion(SOMA:symbol SOMA:after ">") @@ -303,6 +285,7 @@ ObjectPropertyRange(SOMA:hasGoal ) TransitiveObjectProperty(SOMA:isSourceFor) +ObjectPropertyDomain(SOMA:isSourceFor ) +ObjectPropertyRange(SOMA:isSourceFor ) # Object Property: SOMA:isTaskOfInputRole (is task of input role) @@ -583,6 +577,14 @@ SubObjectPropertyOf(SOMA:isTaskOfOutputRole ) ObjectPropertyRange(SOMA:isTaskOfOutputRole ) +# Object Property: SOMA:isTerminalSceneOf (is terminal scene of) + +AnnotationAssertion(rdfs:comment SOMA:isTerminalSceneOf "A relation between StateTransitions and Scenes, which identifies the scene the transition is expected to end at.") +AnnotationAssertion(rdfs:label SOMA:isTerminalSceneOf "is terminal scene of") +SubObjectPropertyOf(SOMA:isTerminalSceneOf SOMA:isTerminalStateOf) +ObjectPropertyDomain(SOMA:isTerminalSceneOf SOMA:Scene) +ObjectPropertyRange(SOMA:isTerminalSceneOf SOMA:StateTransition) + # Object Property: SOMA:isTerminalStateOf (is terminal state of) AnnotationAssertion(rdfs:comment SOMA:isTerminalStateOf "A relation recording that a Situation was where a Transition ended.") @@ -927,7 +929,7 @@ For stative events, the mereological sum of two instances has the same type as b The difference between states and processes is that states are, in addition, homeomeric, and processes are not. This means that, when considering time slices of an event, for states, these time slices always have the same type as the state, but for processes this is not the case.") SubClassOf(SOMA:State ) -# Class: SOMA:StateTransition (State transition) +# Class: SOMA:StateTransition (SOMA:StateTransition) SubClassOf(SOMA:StateTransition ObjectSomeValuesFrom(SOMA:hasInitialScene SOMA:Scene)) SubClassOf(SOMA:StateTransition ObjectSomeValuesFrom(SOMA:hasTerminalScene SOMA:Scene)) diff --git a/scripts/java/pom.xml b/scripts/java/pom.xml index 23fde731..308040cb 100644 --- a/scripts/java/pom.xml +++ b/scripts/java/pom.xml @@ -59,7 +59,7 @@ com.google.guava guava - 31.1-jre + 32.0.0-jre diff --git a/scripts/java/src/main/java/main/CIRunner.java b/scripts/java/src/main/java/main/CIRunner.java index fe3bbdb3..1d881498 100644 --- a/scripts/java/src/main/java/main/CIRunner.java +++ b/scripts/java/src/main/java/main/CIRunner.java @@ -23,10 +23,16 @@ public class CIRunner implements CommandLineRunner { @Autowired private SubclassNothingRewriter gciRewriter; + @Autowired + private IRINamespaceChecker iriNamespaceChecker; + + // only use if needed + @Autowired + private IRINamespaceRewriter iriNamespaceRewriter; @Override public void run(final String... args) throws Exception { - final CIRunnable[] toRun = {gciRewriter, isDefinedInAdder, versionInfoAdder, collapser, ontologySaver}; + final CIRunnable[] toRun = {iriNamespaceChecker, gciRewriter, isDefinedInAdder, versionInfoAdder, collapser, ontologySaver}; for (final var next : toRun) { next.run(); } diff --git a/scripts/java/src/main/java/main/ci_runners/IRINamespaceChecker.java b/scripts/java/src/main/java/main/ci_runners/IRINamespaceChecker.java new file mode 100644 index 00000000..7dc34f10 --- /dev/null +++ b/scripts/java/src/main/java/main/ci_runners/IRINamespaceChecker.java @@ -0,0 +1,73 @@ +package main.ci_runners; + +import main.OntologyManager; +import org.semanticweb.owlapi.model.IRI; +import org.semanticweb.owlapi.model.OWLOntology; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Lazy; +import org.springframework.stereotype.Component; + +import java.util.ArrayList; +import java.util.List; + +/** + * Checks for IRIs with inconsistent SOMA namespace. + * + * All IRIs related to SOMA should be in the namespace "SOMA". If there are any + * IRIs with the namespace "SOMA-X" (e.g. "SOMA-ACT" or "SOMA-OBJ"), this runner + * will throw an exception and fail. This will help to prevent accidental usage + * of the wrong IRIs. + */ +@Component +@Lazy +public class IRINamespaceChecker implements CIRunnable { + /** + * {@link Logger} of this class. + */ + private static final Logger LOGGER = LoggerFactory.getLogger(IRINamespaceChecker.class); + + private final OntologyManager ontologyManager; + + @Autowired + public IRINamespaceChecker(final OntologyManager ontologyManager) { + this.ontologyManager = ontologyManager; + } + + @Override + public void run() { + StringBuilder errorString = new StringBuilder(); + for (final OWLOntology ontology : ontologyManager.getOntologyManager().getOntologies()) { + for (String iri : checkOntologyIRI(ontology)) { + errorString.append(iri).append("\n"); + } + } + if (errorString.length() > 0) { + throw new RuntimeException("Found IRIs with inconsistent SOMA namespace:\n" + errorString); + } + } + + private List checkOntologyIRI(final OWLOntology ontology) { + List wrongIRIs = new ArrayList<>(); + + if (ontology.getOntologyID().getOntologyIRI().isEmpty()) { + LOGGER.warn("Skipping ontology without IRI"); + return wrongIRIs; + } + final IRI ontologyIRI = ontology.getOntologyID().getOntologyIRI().get(); + + LOGGER.info("Checking ontology {} for SOMA namespace", ontologyIRI); + if (ontologyIRI.toString().contains("SOMA")) { + for (final var entity : ontology.getSignature()) { + String entityIRI = entity.getIRI().toString(); + if (entityIRI.contains("SOMA-")) { + LOGGER.error("Found wrong IRI: {}", entityIRI); + wrongIRIs.add(entityIRI); + } + } + } + + return wrongIRIs; + } +} diff --git a/scripts/java/src/main/java/main/ci_runners/IRINamespaceRewriter.java b/scripts/java/src/main/java/main/ci_runners/IRINamespaceRewriter.java new file mode 100644 index 00000000..18df9913 --- /dev/null +++ b/scripts/java/src/main/java/main/ci_runners/IRINamespaceRewriter.java @@ -0,0 +1,69 @@ +package main.ci_runners; + +import main.OntologyManager; +import org.semanticweb.owlapi.model.*; +import org.semanticweb.owlapi.model.parameters.ChangeApplied; +import org.semanticweb.owlapi.util.OWLEntityRenamer; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Lazy; +import org.springframework.stereotype.Component; + +@Component +@Lazy +public class IRINamespaceRewriter implements CIRunnable { + /** + * {@link Logger} of this class. + */ + private static final Logger LOGGER = LoggerFactory.getLogger(IRINamespaceRewriter.class); + + private final OntologyManager ontologyManager; + + @Autowired + public IRINamespaceRewriter(final OntologyManager ontologyManager) { + this.ontologyManager = ontologyManager; + } + + @Override + public void run() { + for (final OWLOntology ontology : ontologyManager.getOntologyManager().getOntologies()) { + rewriteOntologyIRI(ontology); + } + } + + private void rewriteOntologyIRI(final OWLOntology ontology) { + if (ontology.getOntologyID().getOntologyIRI().isEmpty()) { + LOGGER.warn("Skipping ontology without IRI"); + return; + } + final IRI ontologyIRI = ontology.getOntologyID().getOntologyIRI().get(); + final var manager = ontologyManager.getOntologyManager(); + final var renamer = new OWLEntityRenamer(manager, ontology.getImportsClosure()); + + LOGGER.info("Checking ontology {} for SOMA namespace", ontologyIRI); + if (ontologyIRI.toString().contains("SOMA")) { + for (final var entity : ontology.getSignature()) { + rewriteEntityIRI(entity, manager, renamer); + } + } + } + + private void rewriteEntityIRI(final OWLEntity entity, final OWLOntologyManager manager, final OWLEntityRenamer renamer) { + final IRI entityIRI = entity.getIRI(); + //LOGGER.info("Checking {} for SOMA namespace", entityIRI); + + if (entityIRI.toString().contains("SOMA-")) { + LOGGER.info("Rewriting IRI of entity {}", entityIRI); + final IRI newIRI = IRI.create(entityIRI.toString().replaceAll("SOMA-[^/]*\\.owl", "SOMA.owl")); + + final var changes = renamer.changeIRI(entity, newIRI); + for (final var change : changes) { + //LOGGER.info("Applying change {}", change); + if (manager.applyChange(change) == ChangeApplied.UNSUCCESSFULLY) { + LOGGER.error("Could not apply change {}", change); + } + } + } + } +}