diff --git a/config/transduction-schemes.ttl b/config/transduction-schemes.ttl index 3f82ee7ba9494068e15bb832207d5830287bef9f..34b5e0ecad88b98c64a63d6801def86376e6e6e1 100644 --- a/config/transduction-schemes.ttl +++ b/config/transduction-schemes.ttl @@ -1395,35 +1395,36 @@ PREFIX fprm: <https://unsel.tetras-libre.fr/tenet/frame/parameters#> # -- Create Entity net CONSTRUCT { # Object: entity - ?newAtom a net:Object. - ?newAtom net:objectType net:atom. - ?newAtom net:atomType ?atomType. - # -- old --- ?newAtom net:objectType sys:Entity. - ?newAtom net:node ?uw1. - ?newAtom net:parentClass ?entityClass. - # -- old --- ?newAtom net:entityClass ?entityClass. - ?newAtom net:concept ?concept1. + ?newObject a net:Object. + ?newObject net:objectType net:atom. + ?newObject net:atomType ?atomType. + ?newObject net:node ?uw1. + ?newObject net:parentClass ?atomClass. + ?newObject net:concept ?concept1. # Net: Entity ?newNet a net:Instance. ?newNet net:type net:entity. ?newNet net:has_structure ?req. ?newNet net:has_node ?uw1. - ?newNet net:has_atom ?newAtom. - # -- old --- ?newNet net:has_entity ?newAtom. + ?newNet net:has_atom ?newObject. } WHERE { # Atom Description (from System Ontology) - fprm:System_Entity fprm:class ?atomType. - ?entity rdf:type fprm:System_Entity. - ?entity fprm:class ?entityClass. - ?entity fprm:restriction ?entityRestriction. + ?targetClass rdfs:subClassOf sys:Entity. + ?targetClass sys:has_mother_class ?atomType. + ?targetClass sys:is_class ?atomClass. + ?targetClass sys:has_restriction ?restriction. + # -- old --- fprm:System_Entity fprm:class ?atomType. + # -- old --- ?entity rdf:type fprm:System_Entity. + # -- old --- ?entity fprm:class ?entityClass. + # -- old --- ?entity fprm:restriction ?entityRestriction. # UW: type UW-Occurrence and substructure of req sentence ?uw1 rdf:type unl:UW_Occurrence. ?uw1 unl:is_substructure_of ?req. # ------ ?uw1 unl:is_occurrence_of ?lexTrg. # Filter on label ?uw1 rdfs:label ?uw1Label. - FILTER ( regex(str(?uw1Label),str(?entityRestriction)) ). + FILTER ( regex(str(?uw1Label),str(?restriction)) ). # Label: Id, concept ?uw1 unl:has_id ?uw1Id. BIND (strbefore(?uw1Label, '(') AS ?concept1). @@ -1432,10 +1433,10 @@ WHERE { cprm:Config_Parameters cprm:objectRef ?objectRef. BIND (concat( ?netURI, ?objectRef) AS ?e1). BIND (concat(?e1, ?uw1Id) AS ?e2). - BIND (uri(?e2) AS ?newAtom). + BIND (uri(?e2) AS ?newObject). # URI (for Entity Net) cprm:Config_Parameters cprm:netURI ?netURI. - BIND (concat( ?netURI, ?entityClass, '_') AS ?n1). + BIND (concat( ?netURI, ?atomClass, '_') AS ?n1). BIND (concat(?n1, ?uw1Id) AS ?n2). BIND (uri(?n2) AS ?newNet). }""" ; diff --git a/frame/system-ontology.ttl b/frame/system-ontology.ttl index 6d41e3bb1e7cfbd716a96b15cf690f31a225025f..f39a2539dfb3152bf11388ed7197e4871e7fb580 100644 --- a/frame/system-ontology.ttl +++ b/frame/system-ontology.ttl @@ -23,12 +23,14 @@ sys:Abstraction rdfs:label "Abstraction"@en ; rdfs:label "Abstraction"@fr ; rdfs:subClassOf sys:Structure ; + sys:is_class "Abstraction" ; . sys:Entity rdf:type owl:Class ; rdfs:label "entity"@en ; rdfs:label "entité"@fr ; rdfs:subClassOf sys:Structure ; + sys:is_class "Entity" ; . sys:Event rdf:type owl:Class ; @@ -41,6 +43,7 @@ sys:Feature rdfs:label "caractéristique"@fr ; rdfs:label "feature"@en ; rdfs:subClassOf sys:Structure ; + sys:is_class "Feature" ; . sys:State_Property rdf:type owl:Class ; @@ -56,28 +59,43 @@ sys:Verb rdf:type owl:Class ; rdfs:label "Verb" ; rdfs:subClassOf sys:Structure ; + sys:is_class "Verb" ; . sys:abstract_thing rdf:type owl:Class ; rdfs:label "abstract thing"@en ; rdfs:label "élément abstrait"@fr ; rdfs:subClassOf sys:Abstraction ; + sys:has_mother_class "Abstraction" ; + sys:has_restriction "icl>abstract_thing" ; + sys:is_class "abstract_thing" ; . sys:action_verb rdf:type owl:Class ; rdfs:label "action verb" ; rdfs:subClassOf sys:Verb ; + sys:has_mother_class "Verb" ; + sys:has_restriction "icl>do" ; + sys:is_class "action_verb" ; . sys:agent rdf:type owl:Class ; rdfs:label "agent"@en ; rdfs:label "agent"@fr ; rdfs:subClassOf sys:Entity ; + sys:has_mother_class "Entity" ; + sys:has_restriction "icl>administrator" ; + sys:has_restriction "icl>operator" ; + sys:has_restriction "icl>person" ; + sys:is_class "agent" ; . sys:attributive_verb rdf:type owl:Class ; rdfs:label "attributive verb" ; rdfs:subClassOf sys:Verb ; + sys:has_mother_class "Verb" ; + sys:has_restriction "icl>be" ; + sys:is_class "attributive_verb" ; . sys:classProperty rdf:type rdf:Property ; @@ -88,6 +106,13 @@ sys:component rdfs:label "component"@en ; rdfs:label "composant"@fr ; rdfs:subClassOf sys:Entity ; + sys:has_mother_class "Entity" ; + sys:has_restriction "icl>device" ; + sys:has_restriction "icl>electronic_device" ; + sys:has_restriction "icl>instrumentality" ; + sys:has_restriction "icl>position" ; + sys:has_restriction "icl>public_transport" ; + sys:is_class "component" ; . sys:entityClassProperty rdf:type rdf:Property ; @@ -119,6 +144,34 @@ sys:has_feature rdfs:label "feature" ; rdfs:subPropertyOf sys:entityClassProperty ; . +sys:has_frame_base_uri + rdf:type rdf:Property ; + rdfs:label "has frame base uri" ; + rdfs:subPropertyOf sys:seedProperty ; + sys:has_frame_base_uri "https://unsel.tetras-libre.fr/tenet/frame/system-ontology/" ; +. +sys:has_mother_class + rdf:type rdf:Property ; + rdfs:label "has mother class" ; + rdfs:subPropertyOf sys:seedProperty ; + sys:has_mother_class "Entity" ; + sys:has_restriction "icl>administrator" ; + sys:has_restriction "icl>operator" ; + sys:has_restriction "icl>person" ; + sys:is_class "agent" ; +. +sys:has_object_property + rdf:type rdf:Property ; + rdfs:label "has object property" ; + rdfs:subPropertyOf sys:seedProperty ; + sys:has_object_property "eventObjectProperty" ; + sys:is_class "Event" ; +. +sys:has_restriction + rdf:type rdf:Property ; + rdfs:label "has restriction" ; + rdfs:subPropertyOf sys:seedProperty ; +. sys:has_target rdf:type rdf:Property ; rdfs:label "has target" ; @@ -129,11 +182,22 @@ sys:has_verb rdfs:label "has verb" ; rdfs:subPropertyOf sys:eventClassProperty ; . +sys:is_class + rdf:type rdf:Property ; + rdfs:label "is class" ; + rdfs:subPropertyOf sys:seedProperty ; + sys:has_object_property "statePropertyObjectProperty" ; + sys:is_class "State_Property" ; +. sys:message rdf:type owl:Class ; rdfs:label "message"@en ; rdfs:label "message"@fr ; rdfs:subClassOf sys:Entity ; + sys:has_mother_class "Entity" ; + sys:has_restriction "icl>assignment" ; + sys:has_restriction "icl>communication" ; + sys:is_class "message" ; . sys:objectProperty rdf:type rdf:Property ; @@ -144,6 +208,14 @@ sys:place rdfs:label "lieu"@fr ; rdfs:label "place"@en ; rdfs:subClassOf sys:Feature ; + sys:has_mother_class "Feature" ; + sys:has_restriction "icl>air_base_installation" ; + sys:has_restriction "icl>place" ; + sys:is_class "place" ; +. +sys:seedProperty + rdf:type rdf:Property ; + rdfs:label "seed property" ; . sys:statePropertyObjectProperty rdf:type rdf:Property ; diff --git a/prepare_work_data.py b/prepare_work_data.py index e8e360df0b4192dfbcb1ed2bd9c2477d69cd1c3c..31758eb7deeed34c9da39843d511b2867e4753cf 100644 --- a/prepare_work_data.py +++ b/prepare_work_data.py @@ -153,7 +153,9 @@ def finalize_export_file(export_file): "@prefix sys: <https://unsel.tetras-libre.fr/tenet/frame/system-ontology/> .", """@prefix sys: <https://unsel.tetras-libre.fr/tenet/frame/system-ontology/> . @prefix sys-Event: <https://unsel.tetras-libre.fr/tenet/frame/system-ontology/Event#> . +@prefix sys-event: <https://unsel.tetras-libre.fr/tenet/frame/system-ontology/eventObjectProperty#> . @prefix sys-State_Property: <https://unsel.tetras-libre.fr/tenet/frame/system-ontology/State_Property#> . +@prefix sys-stateProperty: <https://unsel.tetras-libre.fr/tenet/frame/system-ontology/statePropertyObjectProperty#> . @prefix sys-abstract_thing: <https://unsel.tetras-libre.fr/tenet/frame/system-ontology/abstract_thing#> . @prefix sys-action_verb: <https://unsel.tetras-libre.fr/tenet/frame/system-ontology/action_verb#> . @prefix sys-agent: <https://unsel.tetras-libre.fr/tenet/frame/system-ontology/agent#> .