@prefix :      <https://w3id.org/todo/tododfa> .
@prefix ns:    <http://creativecommons.org/ns#> .
@prefix owl:   <http://www.w3.org/2002/07/owl#> .
@prefix pmofn: <http://premon.fbk.eu/ontology/fn#> .
@prefix xsd:   <http://www.w3.org/2001/XMLSchema#> .
@prefix skos:  <http://www.w3.org/2004/02/skos/core#> .
@prefix rdfs:  <http://www.w3.org/2000/01/rdf-schema#> .
@prefix rdf:   <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix terms: <http://purl.org/dc/terms/> .
@prefix ontolex: <http://www.w3.org/ns/lemon/ontolex#> .
@prefix vann:  <http://purl.org/vocab/vann/> .
@prefix vs:    <http://www.w3.org/2003/06/sw-vocab-status/ns#> .
@prefix prov:  <http://www.w3.org/ns/prov#> .

<https://w3id.org/todo/tododfa#Intent>
        a                 owl:Class ;
        rdfs:comment      "User intention when formulating a request."@en ;
        rdfs:isDefinedBy  "https://w3id.org/todo/tododfa#" ;
        rdfs:label        "Intent"@en ;
        rdfs:subClassOf   [ a                   owl:Restriction ;
                            owl:onProperty      <https://w3id.org/todo/tododfa#isIntentOf> ;
                            owl:someValuesFrom  <https://w3id.org/todo/tododfa#Skill>
                          ] ;
        rdfs:subClassOf   [ a                   owl:Restriction ;
                            owl:onProperty      <https://w3id.org/todo/tododfa#hasFrame> ;
                            owl:someValuesFrom  <https://w3id.org/todo/tododfa#Frame>
                          ] ;
        rdfs:subClassOf   [ a                   owl:Restriction ;
                            owl:onProperty      <https://w3id.org/todo/tododfa#belongsToAction> ;
                            owl:someValuesFrom  <https://w3id.org/todo/tododfa#Action>
                          ] ;
        vs:term_status    "stable"^^xsd:string ;
        skos:example      "User request: \"I want information about Mona Lisa\"\n\nIntent: receive_information"@en .

ns:license  a   owl:AnnotationProperty .

<https://w3id.org/todo/tododfa#hasArgumentSet>
        a                 owl:FunctionalProperty , owl:ObjectProperty ;
        rdfs:comment      "Establishes a relation between an Action and the set composed of its Argument(s)." ;
        rdfs:isDefinedBy  "https://w3id.org/todo/tododfa#" ;
        rdfs:label        "hasArgumentSet" ;
        owl:inverseOf     <https://w3id.org/todo/tododfa#isArgumentSetOf> ;
        vs:term_status    "stable" .

[ a            owl:AllDisjointClasses ;
  owl:members  ( <https://w3id.org/todo/tododfa#Action> <https://w3id.org/todo/tododfa#Argument> <https://w3id.org/todo/tododfa#ArgumentSet> <https://w3id.org/todo/tododfa#FomaGrammar> <https://w3id.org/todo/tododfa#Frame> <https://w3id.org/todo/tododfa#FrameHead> <https://w3id.org/todo/tododfa#Intent> <https://w3id.org/todo/tododfa#Skill> )
] .

<https://w3id.org/todo/tododfa#hasIntent>
        a                 owl:ObjectProperty ;
        rdfs:comment      "Establishes a relation between a Skill and its corresponding Intent(s)." ;
        rdfs:isDefinedBy  "https://w3id.org/todo/tododfa#" ;
        rdfs:label        "hasIntent" ;
        owl:inverseOf     <https://w3id.org/todo/tododfa#isIntentOf> ;
        vs:term_status    "stable" .

<https://w3id.org/todo/tododfa#isArgumentSetOf>
        a                 owl:InverseFunctionalProperty , owl:ObjectProperty ;
        rdfs:comment      "Establishes a relation between an ArgumentSet and the Action it corresponds to." ;
        rdfs:isDefinedBy  "https://w3id.org/todo/tododfa#" ;
        rdfs:label        "isArgumentSetOf" ;
        vs:term_status    "stable" .

vann:preferredNamespaceUri
        a       owl:AnnotationProperty .

<https://w3id.org/todo/tododfa#hasFrameHead>
        a                 owl:InverseFunctionalProperty , owl:ObjectProperty ;
        rdfs:comment      "Establishes a relation between a Frame and its FrameHead." ;
        rdfs:isDefinedBy  "https://w3id.org/todo/tododfa#" ;
        rdfs:label        "hasFrameHead" ;
        owl:inverseOf     <https://w3id.org/todo/tododfa#isFrameHeadOf> ;
        vs:term_status    "stable" .

<https://w3id.org/todo/tododfa#isFrameOf>
        a               owl:ObjectProperty ;
        rdfs:comment    "https://w3id.org/todo/tododfa#" , "Establishes a relation between a Frame and the Intent it corresponds to." ;
        rdfs:label      "isFrameOf" ;
        vs:term_status  "stable" .

<https://w3id.org/todo/tododfa#actionTag>
        a                 owl:DatatypeProperty ;
        rdfs:comment      "String that identifies the Action when invoked in a SystemRequest/Response (DomainONT)." ;
        rdfs:isDefinedBy  "https://w3id.org/todo/tododfa" ;
        rdfs:label        "actionTag" ;
        vs:term_status    "stable" ;
        skos:example      "System request: \"Necesitas que {argumentTag}?\"\n\nAction: take_guideRobot\nactionTag: \"te lleve a algún lugar\"\n\nResulting SysRequest: \"Necesitas que {te lleve}?\""@es , "System request: \"Do you need me to {argumentTag}?\"\n\nAction: take_guideRobot\nactionTag: \"take you somewhere\"\n\nResulting SysRequest: \"Do you need me to {take you somewhere}?\""@en .

<https://w3id.org/todo/tododfa#Frame>
        a                 owl:Class ;
        rdfs:comment      "A specific event or situation evoked by a specific word (FrameHead), along with its participants (Arguments)."@en ;
        rdfs:isDefinedBy  "https://w3id.org/todo/tododfa#" ;
        rdfs:label        "Frame"@en ;
        rdfs:subClassOf   [ a                   owl:Restriction ;
                            owl:onProperty      <https://w3id.org/todo/tododfa#isFrameOf> ;
                            owl:someValuesFrom  <https://w3id.org/todo/tododfa#Intent>
                          ] ;
        rdfs:subClassOf   [ a                   owl:Restriction ;
                            owl:onProperty      <https://w3id.org/todo/tododfa#hasFrameHead> ;
                            owl:someValuesFrom  <https://w3id.org/todo/tododfa#FrameHead>
                          ] ;
        vs:term_status    "stable"^^xsd:string ;
        skos:example      "Frame: Losing\n\nFrameHead: lose (LexicalUnit: lose.v)\n\nArgumentSet:\n* Owner [Core]\n* Possession [Core]\n* Place [Optional]\n* Time [Optional]\n...\n\nFor the sentence \"My mother lost her watch at home\":\n\"[My mother - owner(C)] LOST [her watch - possession(C)] (at home - place (O))\""@en .

terms:created  a  owl:AnnotationProperty .

<https://w3id.org/todo/tododfa#ArgumentSet>
        a                 owl:Class ;
        rdfs:comment      "The group of Arguments that belong to a Frame."@en ;
        rdfs:isDefinedBy  "https://w3id.org/todo/tododfa#" ;
        rdfs:label        "ArgumentSet"@en ;
        rdfs:subClassOf   [ a                   owl:Restriction ;
                            owl:onProperty      <https://w3id.org/todo/tododfa#isArgumentSetOf> ;
                            owl:someValuesFrom  <https://w3id.org/todo/tododfa#Action>
                          ] ;
        vs:term_status    "stable"^^xsd:string ;
        skos:example      "Frame: Losing\n\nArgumentSet:\n* Owner [Core]\n* Possession [Core]\n* Place [Optional]\n* Time [Optional]\n...\n\nFor the sentence \"My mother lost her watch at home\":\n\"[My mother - owner(C)] LOST [her watch - possession(C)] (at home - place (O))\""@en .

terms:creator  a  owl:AnnotationProperty .

:       a                              owl:Ontology ;
        ns:license                     "http://purl.org/NET/rdflicense/cc-by4.0" ;
        terms:contributor              "Izaskun Fernández (Tekniker) <mailto:izaskun.fernandez@tekniker.es>"^^xsd:string ;
        terms:created                  "2020-04-21T00:00:00" ;
        terms:creator                  "Cristina Aceta (Tekniker) <mailto:cristina.aceta@tekniker.es>"^^xsd:string ;
        terms:description              "Module for Action (and Frame) modelling inside domain."^^xsd:string ;
        terms:issued                   "" ;
        terms:modified                 "2021-09-23T10:00:00" ;
        terms:title                    "TODODFA: Frame-Action Module for Task-Oriented Dialogue management Ontology (TODO)"^^xsd:string ;
        vann:preferredNamespacePrefix  "tododfa"^^xsd:string ;
        vann:preferredNamespaceUri     "https://w3id.org/todo/tododfa" ;
        owl:priorVersion               "" ;
        owl:versionInfo                2.1 .

<https://w3id.org/todo/tododfa#hasArgument>
        a                 owl:ObjectProperty ;
        rdfs:comment      "Establishes a relation between an Action and its Argument(s)." ;
        rdfs:isDefinedBy  "https://w3id.org/todo/tododfa#" ;
        rdfs:label        "hasArgument" ;
        owl:inverseOf     <https://w3id.org/todo/tododfa#isArgumentOf> ;
        vs:term_status    "stable" .

terms:title  a  owl:AnnotationProperty .

<https://w3id.org/todo/tododfa#isFomaGrammarOf>
        a               owl:InverseFunctionalProperty , owl:ObjectProperty ;
        rdfs:comment    "https://w3id.org/todo/tododfa#" , "Establishes a relation between the FomaGrammar to use to perform Key Element Extraction and a Skill." ;
        rdfs:label      "isFomaGrammarOf" ;
        vs:term_status  "stable" .

terms:contributor  a  owl:AnnotationProperty .

<https://w3id.org/todo/tododfa#argumentConnector>
        a                 owl:DatatypeProperty ;
        rdfs:comment      "String that defines the word that acts as a connector between the Argument and the rest of elements in a SystemRequest/Response." ;
        rdfs:isDefinedBy  "https://w3id.org/todo/tododfa" ;
        rdfs:label        "argumentConnector" ;
        vs:term_status    "stable" ;
        skos:example      "SystemRequest: ¿Necesitas que {actionTag}{argumentConnector}{WorldElement}?\n\nAction: take_guideRobot\nargumentConnector: \"a\"\n\n\"¿Necesitas que {te lleve}{a}{la sala}?\""@es , "SystemRequest: Do you want me {actionTag}{argumentConnector}{WorldElement}?\n\nAction: take_guideRobot\nargumentConnector: \"to\"\n\n\"Do you want me {to take you}{to}{the restroom}?\""@en .

<https://w3id.org/todo/tododfa#FomaGrammar>
        a                 owl:Class ;
        rdfs:comment      "Grammar to be used by Foma to perform Key Element Extraction."@en ;
        rdfs:isDefinedBy  "https://w3id.org/todo/tododfa#" ;
        rdfs:label        "FomaGrammar"@en ;
        rdfs:subClassOf   [ a                   owl:Restriction ;
                            owl:onProperty      <https://w3id.org/todo/tododfa#isFomaGrammarOf> ;
                            owl:someValuesFrom  <https://w3id.org/todo/tododfa#Skill>
                          ] ;
        vs:term_status    "stable"^^xsd:string .

<https://w3id.org/todo/tododfa#hasFomaGrammar>
        a                 owl:FunctionalProperty , owl:ObjectProperty ;
        rdfs:comment      "Establishes a relation between a Skill and the FomaGrammar to use to perform Key Element Extraction." ;
        rdfs:isDefinedBy  "https://w3id.org/todo/tododfa#" ;
        rdfs:label        "hasFomaGrammar" ;
        owl:inverseOf     <https://w3id.org/todo/tododfa#isFomaGrammarOf> ;
        vs:term_status    "stable" .

vs:term_status  a  owl:AnnotationProperty .

<https://w3id.org/todo/tododfa#argumentTag>
        a                 owl:DatatypeProperty ;
        rdfs:comment      "String that identifies the Argument when invoked in a SystemRequest/Response (DomainONT)" ;
        rdfs:isDefinedBy  "https://w3id.org/todo/tododfa#" ;
        rdfs:label        "argumentTag" ;
        vs:term_status    "stable" ;
        skos:example      "System request: \"Necesito saber {argumentTag}\"\n\nArgument: destination_guideRobot\nargumentTag: \"adónde quieres ir\"\n\nResulting SysRequest: \"Necesito saber {adónde quieres ir}\""@es , "System request: \"I need to know {argumentTag}\"\n\nArgument: destination_guideRobot\nargumentTag: \"where do you want to go\"\n\nResulting SysRequest: \"I need to know {where do you want to go}\""@en .

<https://w3id.org/todo/tododfa#isIntentOf>
        a                 owl:ObjectProperty ;
        rdfs:comment      "Establishes a relation between an Intent and its corresponding Skill." ;
        rdfs:isDefinedBy  "https://w3id.org/todo/tododfa#" ;
        rdfs:label        "isIntentOf" ;
        vs:term_status    "stable" .

<https://w3id.org/todo/tododfa#hasOptionalArgument>
        a                   owl:ObjectProperty ;
        rdfs:comment        "Establishes a relation between an Action and its OptionalArguments (i.e. the arguments that are not compulsory in order to perform the Action)." ;
        rdfs:isDefinedBy    "https://w3id.org/todo/tododfa#" ;
        rdfs:label          "hasOptionalArgument" ;
        rdfs:subPropertyOf  <https://w3id.org/todo/tododfa#hasArgument> ;
        owl:inverseOf       <https://w3id.org/todo/tododfa#isOptionalArgumentOf> ;
        vs:term_status      "stable" .

skos:example  a  owl:AnnotationProperty .

<https://w3id.org/todo/tododfa#belongsToAction>
        a                 owl:ObjectProperty ;
        rdfs:comment      "Establishes the relation between an Intent and the Action it belongs to." ;
        rdfs:isDefinedBy  "https://w3id.org/todo/tododfa#" ;
        rdfs:label        "belongsToAction" ;
        owl:inverseOf     <https://w3id.org/todo/tododfa#belongsToIntent> ;
        vs:term_status    "stable" .

<https://w3id.org/todo/tododfa#hasCoreArgument>
        a                   owl:ObjectProperty ;
        rdfs:comment        "Establishes a relation between an Action and its CoreArguments (i.e. the arguments that are compulsory in order to perform the Action)." ;
        rdfs:isDefinedBy    "https://w3id.org/todo/tododfa#" ;
        rdfs:label          "hasCoreArgument" ;
        rdfs:subPropertyOf  <https://w3id.org/todo/tododfa#hasArgument> ;
        owl:inverseOf       <https://w3id.org/todo/tododfa#isCoreArgumentOf> ;
        vs:term_status      "stable" .

<https://w3id.org/todo/tododfa#Action>
        a                 owl:Class ;
        rdfs:comment      "Element that makes reference to the functionalities of the target system." ;
        rdfs:isDefinedBy  "https://w3id.org/todo/tododfa#" ;
        rdfs:label        "Action"@en ;
        rdfs:subClassOf   [ a                   owl:Restriction ;
                            owl:onProperty      <https://w3id.org/todo/tododfa#hasArgument> ;
                            owl:someValuesFrom  <https://w3id.org/todo/tododfa#Argument>
                          ] ;
        rdfs:subClassOf   [ a                   owl:Restriction ;
                            owl:onProperty      <https://w3id.org/todo/tododfa#hasArgumentSet> ;
                            owl:someValuesFrom  <https://w3id.org/todo/tododfa#ArgumentSet>
                          ] ;
        rdfs:subClassOf   [ a                   owl:Restriction ;
                            owl:onProperty      <https://w3id.org/todo/tododfa#belongsToIntent> ;
                            owl:someValuesFrom  <https://w3id.org/todo/tododfa#Intent>
                          ] ;
        rdfs:subClassOf   [ a                   owl:Restriction ;
                            owl:onProperty      <https://w3id.org/todo/tododfa#actionTag> ;
                            owl:someValuesFrom  xsd:string
                          ] ;
        vs:term_status    "stable"^^xsd:string ;
        skos:example      "(For a multipurpose robot) Guide, provide_information, pick, place" .

<https://w3id.org/todo/tododfa#Skill>
        a                 owl:Class ;
        rdfs:comment      "Element that makes reference to the capabilities of the target system." ;
        rdfs:isDefinedBy  "https://w3id.org/todo/tododfa#" ;
        rdfs:label        "Skill"@en ;
        rdfs:subClassOf   [ a                         owl:Restriction ;
                            owl:onClass               <https://w3id.org/todo/tododfa#FomaGrammar> ;
                            owl:onProperty            <https://w3id.org/todo/tododfa#hasFomaGrammar> ;
                            owl:qualifiedCardinality  "1"^^xsd:nonNegativeInteger
                          ] ;
        rdfs:subClassOf   [ a                   owl:Restriction ;
                            owl:onProperty      <https://w3id.org/todo/tododfa#hasIntent> ;
                            owl:someValuesFrom  <https://w3id.org/todo/tododfa#Intent>
                          ] ;
        vs:term_status    "stable"^^xsd:string ;
        skos:example      "(For a multipurpose robot) GuideRobot, RoboticArm" .

<https://w3id.org/todo/tododfa#belongsToIntent>
        a                 owl:ObjectProperty ;
        rdfs:comment      "Establishes the relation between an Action and the Intent it belongs to." ;
        rdfs:isDefinedBy  "https://w3id.org/todo/tododfa#" ;
        rdfs:label        "belongsToIntent" ;
        vs:term_status    "stable" .

<https://w3id.org/todo/tododfa#isFrameHeadOf>
        a               owl:FunctionalProperty , owl:ObjectProperty ;
        rdfs:comment    "https://w3id.org/todo/tododfa#" , "Establishes a relation between a FrameHead and the Frame it applies to." ;
        rdfs:label      "isFrameHeadOf" ;
        vs:term_status  "stable" .

terms:modified  a  owl:AnnotationProperty .

<https://w3id.org/todo/tododfa#FrameHead>
        a                 owl:Class ;
        rdfs:comment      "Word (or more than one) that evokes a specific situation or event, with its specific participants; that is, a frame. It is represented by one or more LexicalUnits."@en ;
        rdfs:isDefinedBy  "https://w3id.org/todo/tododfa#" ;
        rdfs:label        "FrameHead"@en ;
        rdfs:subClassOf   [ a                   owl:Restriction ;
                            owl:onProperty      <https://w3id.org/todo/tododfa#isFrameHeadOf> ;
                            owl:someValuesFrom  <https://w3id.org/todo/tododfa#Frame>
                          ] ;
        vs:term_status    "stable"^^xsd:string ;
        skos:example      "Frame: Losing\n\nFrameHead: lose (LexicalUnit: lose.v)\n\nArgumentSet:\n* Owner [Core]\n* Possession [Core]\n* Place [Optional]\n* Time [Optional]\n...\n\nFor the sentence \"My mother lost her watch at home\":\n\"[My mother - owner(C)] LOST [her watch - possession(C)] (at home - place (O))\""@en .

vann:preferredNamespacePrefix
        a       owl:AnnotationProperty .

owl:versionIRI  a  owl:AnnotationProperty .

terms:issued  a  owl:AnnotationProperty .

<https://w3id.org/todo/tododfa#hasFrame>
        a                 owl:ObjectProperty ;
        rdfs:comment      "Establishes a relation between an Intent and its corresponding Frame." ;
        rdfs:isDefinedBy  "https://w3id.org/todo/tododfa#" ;
        rdfs:label        "hasFrame" ;
        owl:inverseOf     <https://w3id.org/todo/tododfa#isFrameOf> ;
        vs:term_status    "stable" .

terms:bibliographicCitation
        a       owl:AnnotationProperty .

<https://w3id.org/todo/tododfa#isCoreArgumentOf>
        a                   owl:ObjectProperty ;
        rdfs:comment        "https://w3id.org/todo/tododfa#" , "Establishes a relation between a CoreArgument (i.e. the arguments that are compulsory in order to perform the Action) and its corresponding Action." ;
        rdfs:label          "isCoreArgumentOf" ;
        rdfs:subPropertyOf  <https://w3id.org/todo/tododfa#isArgumentOf> ;
        vs:term_status      "stable" .

terms:description  a  owl:AnnotationProperty .

<https://w3id.org/todo/tododfa#isOptionalArgumentOf>
        a                   owl:ObjectProperty ;
        rdfs:comment        "Establishes a relation between an Optional Argument (i.e. the arguments that are not compulsory in order to perform the Action) and its corresponding Action." ;
        rdfs:isDefinedBy    "https://w3id.org/todo/tododfa#" ;
        rdfs:label          "isOptionalArgumentOf" ;
        rdfs:subPropertyOf  <https://w3id.org/todo/tododfa#isArgumentOf> ;
        vs:term_status      "stable" .

<https://w3id.org/todo/tododfa#isArgumentOf>
        a                 owl:ObjectProperty ;
        rdfs:comment      "Establishes a relation between an Argument and its corresponding Action." ;
        rdfs:isDefinedBy  "https://w3id.org/todo/tododfa#" ;
        rdfs:label        "isArgumentOf" ;
        vs:term_status    "stable" .

<https://w3id.org/todo/tododfa#Argument>
        a                 owl:Class ;
        rdfs:comment      "Participant that is involved in the event described by the Frame. It can be Core (its presence is compulsory to convey the event) or Optional (its presence is not compulsory, but it adds additional information)." ;
        rdfs:isDefinedBy  "https://w3id.org/todo/tododfa#" ;
        rdfs:label        "Argument"@en ;
        rdfs:subClassOf   [ a                   owl:Restriction ;
                            owl:onProperty      <https://w3id.org/todo/tododfa#argumentTag> ;
                            owl:someValuesFrom  xsd:string
                          ] ;
        rdfs:subClassOf   [ a                   owl:Restriction ;
                            owl:onProperty      <https://w3id.org/todo/tododfa#isArgumentOf> ;
                            owl:someValuesFrom  <https://w3id.org/todo/tododfa#Action>
                          ] ;
        vs:term_status    "stable"^^xsd:string ;
        skos:example      "Frame: Losing\n\nArgumentSet:\n* Owner [Core]\n* Possession [Core]\n* Place [Optional]\n* Time [Optional]\n...\n\nFor the sentence \"My mother lost her watch at home\":\n\"[My mother - owner(C)] LOST [her watch - possession(C)] (at home - place (O))\""@en .
