From 2687b60261a24f21157f1e7a13d1b4012518ea77 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Lamercerie?= <aurelien.lamercerie@tetras-libre.fr> Date: Fri, 5 Aug 2022 12:26:06 +0200 Subject: [PATCH] Some update in SSC-01, SSC-02 --- data/SSC-01/SSC-01-01/SSC-01-01.cts.txt | 45 ++++++++++-------- data/SSC-02/SSC-02-01/SSC-02-01.al.owl.ttl | 15 ++++-- data/SSC-02/SSC-02-01/SSC-02-01.cts.txt | 54 +++++++++++----------- 3 files changed, 65 insertions(+), 49 deletions(-) diff --git a/data/SSC-01/SSC-01-01/SSC-01-01.cts.txt b/data/SSC-01/SSC-01-01/SSC-01-01.cts.txt index 66f11b8..6faf73a 100644 --- a/data/SSC-01/SSC-01-01/SSC-01-01.cts.txt +++ b/data/SSC-01/SSC-01-01/SSC-01-01.cts.txt @@ -107,19 +107,19 @@ STC-21 (x, y) : commonConcept(x) => nodes = { x.nodes } type = class - class_id = define-id(x.concept) - owl = string(class_id, ' a ', 'rdfs:Class') - values = { class_id, owl } + id = define-id(x.concept) + owl = string(id, ' a ', 'rdfs:Class') + values = { id, owl } newNet(nodes, type, values) STC-22 (x, y) : :domain(x,y) & class(x) & class(y) => nodes = { x.nodes, y.nodes } type = class - class_id = define-id(x.class_id, y.class_id) - owl = string(class_id, ' a ', 'rdfs:Class') - owl = string(class_id, ' rdfs:subClassOf ', y.class_id) - values = { class_id, owl } + id = define-id(x.id, y.id) + owl = string(id, ' a ', 'rdfs:Class') + owl = string(id, ' rdfs:subClassOf ', y.id) + values = { id, owl } newNet(nodes, type, values) @@ -131,11 +131,11 @@ STC-23 (x, y) : :name(x, y) & class(x) & namedEntities(x, y) => nodes = { x.nodes } type = individual - class_id = x.class_id - individual_id = y.name - owl = string(individual_id, ' a ', 'owl:individual') - owl = string(individual_id, ' a ', class_id) - values = { class_id, individual_id, owl } + id = x.id + id = y.name + owl = string(id, ' a ', 'owl:individual') + owl = string(id, ' a ', id) + values = { id, id, owl } newNet(nodes, type, values) @@ -167,11 +167,11 @@ STC-41 (x, y, z) : :ARG1-of(x, y) & class(x) & objectProperty(y) & ARG0(y, z) & class(z) => nodes = { x.nodes } type = class - class_id = define-id(z.class_id, y.property_id, x.class_id) - owl = string(class_id, ' a ', 'rdfs:Class') - owl = string(class_id, ' rdfs:subClassOf ', x.class_id) - owl = define-OWL-restriction (class_id, y.property_id, z.class_id) - values = { class_id, owl } + id = define-id(z.id, y.property_id, x.id) + owl = string(id, ' a ', 'rdfs:Class') + owl = string(id, ' rdfs:subClassOf ', x.id) + owl = define-OWL-restriction (id, y.property_id, z.id) + values = { id, owl } newNet(nodes, type, values) exemple : @@ -181,7 +181,7 @@ exemple : => nodes = { s, b, g } type = class - class_id = "gravitation-bind-system" + id = "gravitation-bind-system" owl = ":gravitation-bind-system a rdfs:Class" owl = ":gravitation-bind-system a :system" owl = ":gravitation-bind-system rdfs:subClassOf [ rdf:type owl:Restriction ; @@ -194,7 +194,14 @@ exemple : # STC niveau 6 : extraction de relations non taxonomiques # -------------------------------------------------------- -# -- +STC-51 (i1, i2) : + :part(i1, i2) & individual(c1) & individual(i1) + => nodes = { c1.nodes, i1.nodes } + type = relation + id = define-id('has-part') + owl = define-OWL-restriction (i1.id, id, i2.id) + values = { id, owl } + newNet(nodes, type, values) # -------------------------------------------------------- diff --git a/data/SSC-02/SSC-02-01/SSC-02-01.al.owl.ttl b/data/SSC-02/SSC-02-01/SSC-02-01.al.owl.ttl index d3e437e..0d2cffc 100644 --- a/data/SSC-02/SSC-02-01/SSC-02-01.al.owl.ttl +++ b/data/SSC-02/SSC-02-01/SSC-02-01.al.owl.ttl @@ -89,16 +89,25 @@ # ::comment "... and small Solar System bodies." -:solar-system a owl:individual . +:solar-system + a owl:individual ; + a :system . -:solar-system-small-bodies a rdfs:Class ; +body a rdfs:Class . + +small-body + a rdfs:Class ; + rdfs:subClassOf :body . + +:solar-system-small-body a rdfs:Class ; + rdfs:subClassOf :small-body ; rdfs:subClassOf [ a owl:Restriction ; owl:onProperty :part-of ; owl:hasValue :solar-system ] . -:solar-system-small-bodies a rdfs:Class ; +:solar-system-small-body a rdfs:Class ; rdfs:subClassOf [ a owl:Restriction ; owl:onProperty :part-of ; diff --git a/data/SSC-02/SSC-02-01/SSC-02-01.cts.txt b/data/SSC-02/SSC-02-01/SSC-02-01.cts.txt index 9f67b5f..2a7d388 100644 --- a/data/SSC-02/SSC-02-01/SSC-02-01.cts.txt +++ b/data/SSC-02/SSC-02-01/SSC-02-01.cts.txt @@ -107,19 +107,19 @@ STC-21 (x, y) : commonConcept(x) => nodes = { x.nodes } type = class - class_id = define-id(x.concept) - owl = string(class_id, ' a ', 'rdfs:Class') - values = { class_id, owl } + id = define-id(x.concept) + owl = string(id, ' a ', 'rdfs:Class') + values = { id, owl } newNet(nodes, type, values) STC-22 (x, y) : :domain(x,y) & class(x) & class(y) => nodes = { x.nodes, y.nodes } type = class - class_id = define-id(x.class_id, y.class_id) - owl = string(class_id, ' a ', 'rdfs:Class') - owl = string(class_id, ' rdfs:subClassOf ', y.class_id) - values = { class_id, owl } + id = define-id(x.id, y.id) + owl = string(id, ' a ', 'rdfs:Class') + owl = string(id, ' rdfs:subClassOf ', y.id) + values = { id, owl } newNet(nodes, type, values) @@ -131,11 +131,11 @@ STC-23 (x, y) : :name(x, y) & class(x) & namedEntities(x, y) => nodes = { x.nodes } type = individual - class_id = x.class_id - individual_id = y.name - owl = string(individual_id, ' a ', 'owl:individual') - owl = string(individual_id, ' a ', class_id) - values = { class_id, individual_id, owl } + id = x.id + id = y.name + owl = string(id, ' a ', 'owl:individual') + owl = string(id, ' a ', id) + values = { id, id, owl } newNet(nodes, type, values) @@ -167,11 +167,11 @@ STC-41 (x, y, z) : :ARG1-of(x, y) & class(x) & objectProperty(y) & ARG0(y, z) & class(z) => nodes = { x.nodes } type = class - class_id = define-id(z.class_id, y.property_id, x.class_id) - owl = string(class_id, ' a ', 'rdfs:Class') - owl = string(class_id, ' rdfs:subClassOf ', x.class_id) - owl = define-OWL-restriction (class_id, y.property_id, z.class_id) - values = { class_id, owl } + id = define-id(z.id, y.property_id, x.id) + owl = string(id, ' a ', 'rdfs:Class') + owl = string(id, ' rdfs:subClassOf ', x.id) + owl = define-OWL-restriction (id, y.property_id, z.id) + values = { id, owl } newNet(nodes, type, values) exemple : @@ -181,7 +181,7 @@ exemple : => nodes = { s, b, g } type = class - class_id = "gravitation-bind-system" + id = "gravitation-bind-system" owl = ":gravitation-bind-system a rdfs:Class" owl = ":gravitation-bind-system a :system" owl = ":gravitation-bind-system rdfs:subClassOf [ rdf:type owl:Restriction ; @@ -193,17 +193,17 @@ exemple : # -------------------------------------------------------- # STC niveau 6 : extraction de relations non taxonomiques # -------------------------------------------------------- -# question sur rstriction : voir ticket 1 +# question sur restriction : voir ticket 1 -STC-51 (x, y, z) : - :part-of(x, y) & class(x) & individual(z) - => nodes = { x.nodes } +STC-51 (c1, i1) : + :part-of(c1, i1) & class(c1) & individual(i1) + => nodes = { c1.nodes, i1.nodes } type = class - class_id = define-id(z.class_id, y.property_id, x.class_id) - owl = string(class_id, ' a ', 'rdfs:Class') - owl = string(class_id, ' rdfs:subClassOf ', x.class_id) - owl = define-OWL-restriction (class_id, ':part-of', z.class_id) - values = { class_id, owl } + id = define-id(i1.id, c1.id) + owl = string(id, ' a ', 'rdfs:Class') + owl = string(id, ' rdfs:subClassOf ', c1.id) + owl = define-OWL-restriction (id, ':part-of', i1.id) + values = { id, owl } newNet(nodes, type, values) -- GitLab