From c76a9c7f7d5041914ec28a363be31bbc76b11f15 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Lamercerie?= <aurelien.lamercerie@laposte.net> Date: Wed, 17 Nov 2021 23:42:33 +0100 Subject: [PATCH] Fix bug in CTS: compute domain/range for atom without instance --- config/transduction-schemes.ttl | 20 ++++++++++++++------ prepare_work_data.py | 2 ++ 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/config/transduction-schemes.ttl b/config/transduction-schemes.ttl index 4d86869f..c5f59723 100644 --- a/config/transduction-schemes.ttl +++ b/config/transduction-schemes.ttl @@ -171,7 +171,9 @@ WHERE { ?net1 a net:Instance. ?net1 net:type net:relation. ?net1 net:has_structure ?req. - ?net1 net:has_node ?uw1. + # -- Relation Object + ?net1 net:has_relation ?relationObject. + ?relationObject net:has_node ?uw1. # Atom Net (net2): actor of net1 ?net2 a net:Instance. ?net2 net:type net:atom. @@ -181,9 +183,11 @@ WHERE { # condition: agt(net1, net2) ?uw1 unl:agt ?uw2. # Possible Domain - ?sourceObject net:has_instance ?sourceInstance. + { ?sourceObject net:has_concept ?domainClass. } + UNION + { ?sourceObject net:has_instance ?sourceInstance. ?anySourceObject net:has_instance ?sourceInstance. - ?anySourceObject net:has_concept ?domainClass. + ?anySourceObject net:has_concept ?domainClass. } }""" ; sh:order 2.42 ; . @@ -212,7 +216,9 @@ WHERE { ?net1 a net:Instance. ?net1 net:type net:relation. ?net1 net:has_structure ?req. - ?net1 net:has_node ?uw1. + # -- Relation Object + ?net1 net:has_relation ?relationObject. + ?relationObject net:has_node ?uw1. # Atom Net (net2): target of net1 ?net2 a net:Instance. ?net2 net:type net:atom. @@ -222,9 +228,11 @@ WHERE { # condition: agt(net1, net2) ?uw1 (unl:obj|unl:res) ?uw2. # Possible Domain - ?targetObject net:has_instance ?targetObjectInstance. + { ?targetObject net:has_concept ?rangeClass. } + UNION + { ?targetObject net:has_instance ?targetObjectInstance. ?allTargetObject net:has_instance ?targetObjectInstance. - ?allTargetObject net:has_concept ?rangeClass. + ?allTargetObject net:has_concept ?rangeClass. } }""" ; sh:order 2.42 ; . diff --git a/prepare_work_data.py b/prepare_work_data.py index 3e914c96..ef9fd076 100644 --- a/prepare_work_data.py +++ b/prepare_work_data.py @@ -40,6 +40,7 @@ base_uri = "https://unsel.tetras-libre.fr/tenet/working" req_100 = "CCTP-SRSA-IP-20210831-R100/" req_200 = "CCTP-SRSA-IP-20210831-R200/" req_300 = "CCTP-SRSA-IP-20210831-R300/" +req_1100 = "CCTP-SRSA-IP-20210831-R1100/" corpus_40 = "CCTP-SRSA-IP-20210831/" corpus_ERTMS = "ERTMS/" corpus_PEV = "PEV-RSE-Approach/" @@ -212,6 +213,7 @@ if __name__ == '__main__': run(req_100, 'R100f', target_ref) run(req_200, 'R200f', target_ref) run(req_300, 'R300f', target_ref) + run(req_1100, 'R1100f', target_ref) #run(corpus_40, 'Corpus-CCTP-40e', target_ref) #run(corpus_ERTMS, 'Corpus-ERTMS', target_ref) #run(corpus_PEV, 'Corpus-PEV', target_ref) -- GitLab