Skip to content
Snippets Groups Projects
Commit 477a6464 authored by Aurélien Lamercerie's avatar Aurélien Lamercerie
Browse files

Add transduction rules (extractor, phenomena analyzer) as AMR master rule

parent 4241b120
No related branches found
No related tags found
No related merge requests found
Showing
with 1022 additions and 190 deletions
......@@ -17,6 +17,6 @@ from scheme.amr_master_rule.transduction.phenomena_mod_analyzer_1 import *
from scheme.amr_master_rule.transduction.phenomena_or_analyzer_1 import *
from scheme.amr_master_rule.transduction.phenomena_or_analyzer_2 import *
from scheme.amr_master_rule.generation.owl_property_generator import *
from scheme.amr_master_rule.owl_generation.owl_property_generator import *
from scheme.amr_master_rule import *
......@@ -140,12 +140,8 @@ def extract_atom_class(graph):
rule_triple_list = []
for pattern in pattern_set:
# -- New Net Construction (from 3 nets)
new_class, triple_list = __construct_atom_class_net(
graph, pattern.leaf, pattern.conceptName)
# -- Resulting List Update
# class_net_list.append(new_class)
# -- New Net Construction
new_class, triple_list = __construct_atom_class_net(graph, pattern.leaf, pattern.conceptName)
rule_triple_list += triple_list
return rule_label, rule_triple_list
\ No newline at end of file
......@@ -24,6 +24,7 @@ def __search_pattern(graph):
select_data_list = ['?property_net', '?class_net_0', '?class_net_1']
clause_list = [f'?property_net a [rdfs:subClassOf* net:Property_Net].',
f'FILTER NOT EXISTS {{ ?property_net a net:Deprecated_Net. }}',
f'FILTER NOT EXISTS {{ ?property_net a net:Action_Property_Net. }}',
f'?class_net_0 a [rdfs:subClassOf* net:Class_Net].',
f'FILTER NOT EXISTS {{ ?class_net_0 a net:Deprecated_Net. }}',
f'?class_net_1 a [rdfs:subClassOf* net:Class_Net].',
......@@ -99,7 +100,7 @@ def __construct_composite_class_net(
graph, base_class_net, core_property_net, target_class_net):
# -- Net Composition
composite_class_net = net.CompositePropertyNet(graph)
composite_class_net = net.CompositeClassNet(graph)
composite_class_net.compose(base_class_net, core_property_net, target_class_net)
# -- Data Computation
......
......@@ -24,6 +24,7 @@ def __search_pattern(graph):
select_data_list = ['?property_net', '?class_net_1', '?class_net_2']
clause_list = [f'?property_net a [rdfs:subClassOf* net:Property_Net].',
f'FILTER NOT EXISTS {{ ?property_net a net:Deprecated_Net. }}',
f'FILTER NOT EXISTS {{ ?property_net a net:Action_Property_Net. }}',
f'?class_net_1 a [rdfs:subClassOf* net:Class_Net].',
f'FILTER NOT EXISTS {{ ?class_net_1 a net:Deprecated_Net. }}',
f'?class_net_2 a [rdfs:subClassOf* net:Class_Net].',
......@@ -95,11 +96,11 @@ def __construct_restriction_net(graph, property_net_1, property_net_2):
def __construct_composite_class_net_from_3_nets(
def __construct_composite_class_net(
graph, base_class_net, core_property_net, target_class_net):
# -- Net Composition
composite_class_net = net.CompositePropertyNet(graph)
composite_class_net = net.CompositeClassNet(graph)
composite_class_net.compose(base_class_net, core_property_net, target_class_net)
# -- Data Computation
......@@ -151,7 +152,7 @@ def extract_composite_class_2(graph):
# print(f' *** DEVTEST *** {selection_2.class_net}')
# -- New Net Construction (from 3 nets)
new_class, triple_list = __construct_composite_class_net_from_3_nets(
new_class, triple_list = __construct_composite_class_net(
graph, class_net_1, property_net, class_net_2)
# -- Resulting List Update
......
#!/usr/bin/python3.10
# -*-coding:Utf-8 -*
#==============================================================================
# TENET: Rule to conjunctive phenomena and (rule 1)
#------------------------------------------------------------------------------
# Net Expansion AMR rule to analyse conjunctive phenomena (and)
# Rule: property(_, and_phenomena) => relation(property, argument)
#==============================================================================
from rdflib import Graph
import transduction
from transduction import net
from transduction.query_builder import generate_select_query
from transduction.rdfterm_computer import produce_uriref, produce_literal
#==============================================================================
# Pattern Search: property(_, and_phenomena)
#==============================================================================
CONJUNCTION_PHENOMENA_URI = 'amr:phenomena_conjunction_and'
def __search_pattern(graph):
select_data_list = ['?property_net', '?net_relation', '?phenomena_net']
clause_list = [f'?property_net a [rdfs:subClassOf* net:Property_Net].',
f'?phenomena_net a [rdfs:subClassOf* net:Phenomena_Net].',
f'?phenomena_net net:hasPhenomenaType {CONJUNCTION_PHENOMENA_URI}.',
f'?net_relation a [rdfs:subClassOf* net:Relation].',
f'?property_net ?net_relation ?phenomena_net.']
query_code = generate_select_query(graph, select_data_list, clause_list)
result_set = graph.query(query_code)
return query_code, result_set
#==============================================================================
# Useful Additional Search
#==============================================================================
def __search_op_class_pattern(graph, phenomena_net_uri, num):
assert 1 <= num <= 9, f'invalid number ({num})'
select_data_list = ['?class_net']
clause_list = [f'?class_net a [rdfs:subClassOf* net:Class_Net].',
(phenomena_net_uri, f'amr:role_op{num}', '?class_net')]
query_code = generate_select_query(graph, select_data_list, clause_list)
result_set = graph.query(query_code)
return query_code, result_set
def __search_phenomena_operator_class(graph, phenomena_net_uri):
query_code = ''
op_set = []
for num in range(1, 9+1):
query_code, result_set = __search_op_class_pattern(graph, phenomena_net_uri, num)
op_set += result_set
return query_code, op_set
def __search_op_property_pattern(graph, phenomena_net_uri, num):
assert 1 <= num <= 9, f'invalid number ({num})'
select_data_list = ['?property_net']
clause_list = [f'?property_net a [rdfs:subClassOf* net:Property_Net].',
(phenomena_net_uri, f'amr:role_op{num}', '?property_net')]
query_code = generate_select_query(graph, select_data_list, clause_list)
result_set = graph.query(query_code)
return query_code, result_set
def __search_phenomena_operator_property(graph, phenomena_net_uri):
query_code = ''
op_set = []
for num in range(1, 9+1):
query_code, result_set = __search_op_property_pattern(graph, phenomena_net_uri, num)
op_set += result_set
return query_code, op_set
#==============================================================================
# Useful Computation Method(s)
#==============================================================================
def __propagate_relation(left_net, amr_relation_uri, right_net_uri):
new_relation = (left_net.uri, amr_relation_uri, right_net_uri)
up_relation_list = left_net.output_relation_list + [new_relation]
left_net.output_relation_list = up_relation_list
#==============================================================================
# Construct Method(s)
#==============================================================================
# None
#==============================================================================
# Main Method
#==============================================================================
def analyze_phenomena_and_1(graph):
# -- Rule Initialization
rule_label = 'analyze "and" phenomena (1)'
rule_triple_list = []
# -- Search for patterns
_, pattern_set = __search_pattern(graph)
# -- Pattern Analysis
for pattern in pattern_set:
property_net = net.PropertyNet(graph, uri=pattern.property_net)
phenomena_net = net.PhenomenaNet(graph, uri=pattern.phenomena_net)
# -- Search for phenomena operators
# -- Relation Propagation for Operator Class Net
_, operator_class_set = __search_phenomena_operator_class(graph, phenomena_net.uri)
for operator in operator_class_set:
amr_relation_uri = produce_uriref(graph, pattern.net_relation)
right_net_uri = produce_uriref(graph, operator.class_net)
__propagate_relation(property_net, amr_relation_uri, right_net_uri)
rule_triple_list += property_net.generate_net_relation_triples()
# -- Relation Propagation for Operator Class Net
_, operator_property_set = __search_phenomena_operator_property(graph, phenomena_net.uri)
for operator in operator_property_set:
amr_relation_uri = produce_uriref(graph, pattern.net_relation)
right_net_uri = produce_uriref(graph, operator.property_net)
__propagate_relation(property_net, amr_relation_uri, right_net_uri)
rule_triple_list += property_net.generate_net_relation_triples()
# -- New Net Construction (as union of properties)
# _, triple_list = __construct_class_union_net(graph, class_net_1, class_net_list)
# rule_triple_list += triple_list
return rule_label, rule_triple_list
\ No newline at end of file
#!/usr/bin/python3.10
# -*-coding:Utf-8 -*
#==============================================================================
# TENET: Rule to conjunctive phenomena and (rule 2)
#------------------------------------------------------------------------------
# Net Expansion AMR rule to analyse conjunctive phenomena (and)
# Rule: phenomena(_, and_phenomena) => relation(phenomena, argument)
#==============================================================================
from rdflib import Graph
import transduction
from transduction import net
from transduction.query_builder import generate_select_query
from transduction.rdfterm_computer import produce_uriref, produce_literal
#==============================================================================
# Pattern Search: modality(_, and_phenomena)
#==============================================================================
CONJUNCTION_PHENOMENA_URI = 'amr:phenomena_conjunction_and'
def __search_pattern(graph):
select_data_list = ['?left_phenomena_net', '?net_relation', '?right_phenomena_net']
clause_list = [f'?left_phenomena_net a [rdfs:subClassOf* net:Phenomena_Net].',
f'?right_phenomena_net a [rdfs:subClassOf* net:Phenomena_Net].',
f'?right_phenomena_net net:hasPhenomenaType {CONJUNCTION_PHENOMENA_URI}.',
f'?net_relation a [rdfs:subClassOf* net:Relation].',
f'?left_phenomena_net ?net_relation ?right_phenomena_net.']
query_code = generate_select_query(graph, select_data_list, clause_list)
result_set = graph.query(query_code)
return query_code, result_set
#==============================================================================
# Useful Additional Search
#==============================================================================
def __search_op_class_pattern(graph, phenomena_net_uri, num):
assert 1 <= num <= 9, f'invalid number ({num})'
select_data_list = ['?class_net']
clause_list = [f'?class_net a [rdfs:subClassOf* net:Class_Net].',
(phenomena_net_uri, f'amr:role_op{num}', '?class_net')]
query_code = generate_select_query(graph, select_data_list, clause_list)
result_set = graph.query(query_code)
return query_code, result_set
def __search_phenomena_operator_class(graph, phenomena_net_uri):
query_code = ''
op_set = []
for num in range(1, 9+1):
query_code, result_set = __search_op_class_pattern(graph, phenomena_net_uri, num)
op_set += result_set
return query_code, op_set
def __search_op_property_pattern(graph, phenomena_net_uri, num):
assert 1 <= num <= 9, f'invalid number ({num})'
select_data_list = ['?property_net']
clause_list = [f'?property_net a [rdfs:subClassOf* net:Property_Net].',
(phenomena_net_uri, f'amr:role_op{num}', '?property_net')]
query_code = generate_select_query(graph, select_data_list, clause_list)
result_set = graph.query(query_code)
return query_code, result_set
def __search_phenomena_operator_property(graph, phenomena_net_uri):
query_code = ''
op_set = []
for num in range(1, 9+1):
query_code, result_set = __search_op_property_pattern(graph, phenomena_net_uri, num)
op_set += result_set
return query_code, op_set
#==============================================================================
# Useful Computation Method(s)
#==============================================================================
def __propagate_relation(left_net, amr_relation_uri, right_net_uri):
new_relation = (left_net.uri, amr_relation_uri, right_net_uri)
up_relation_list = left_net.output_relation_list + [new_relation]
left_net.output_relation_list = up_relation_list
#==============================================================================
# Construct Method(s)
#==============================================================================
# None
#==============================================================================
# Main Method
#==============================================================================
def analyze_phenomena_and_2(graph):
# -- Rule Initialization
rule_label = 'analyze "and" phenomena (2)'
rule_triple_list = []
# -- Search for patterns
_, pattern_set = __search_pattern(graph)
# -- Pattern Analysis
for pattern in pattern_set:
property_net = net.PhenomenaNet(graph, uri=pattern.left_phenomena_net)
phenomena_net = net.PhenomenaNet(graph, uri=pattern.right_phenomena_net)
# -- Search for phenomena operators
# -- Relation Propagation for Operator Class Net
_, operator_class_set = __search_phenomena_operator_class(graph, phenomena_net.uri)
for operator in operator_class_set:
amr_relation_uri = produce_uriref(graph, pattern.net_relation)
right_net_uri = produce_uriref(graph, operator.class_net)
__propagate_relation(property_net, amr_relation_uri, right_net_uri)
rule_triple_list += property_net.generate_net_relation_triples()
# -- Relation Propagation for Operator Class Net
_, operator_property_set = __search_phenomena_operator_property(graph, phenomena_net.uri)
for operator in operator_property_set:
amr_relation_uri = produce_uriref(graph, pattern.net_relation)
right_net_uri = produce_uriref(graph, operator.property_net)
__propagate_relation(property_net, amr_relation_uri, right_net_uri)
rule_triple_list += property_net.generate_net_relation_triples()
# -- New Net Construction (as union of properties)
# _, triple_list = __construct_class_union_net(graph, class_net_1, class_net_list)
# rule_triple_list += triple_list
return rule_label, rule_triple_list
\ No newline at end of file
#!/usr/bin/python3.10
# -*-coding:Utf-8 -*
#==============================================================================
# TENET: Rule to modality phenomena classification
#------------------------------------------------------------------------------
# AMR rule to classify modality phenomena
# Rule: modality_phenomena classification
#==============================================================================
from rdflib import Graph
import transduction
from transduction import net
from transduction.query_builder import generate_select_query
from transduction.rdfterm_computer import produce_uriref, produce_literal
#==============================================================================
# Pattern Search: modality_phenomena
#==============================================================================
PHENOMENA_TYPE_RELATION = 'net:hasPhenomenaType'
MODALITY_TYPE_LIST = ['amr:phenomena_modality_possible',
'amr:phenomena_modality_obligation',
'amr:phenomena_modality_prohibition']
def __get_query_code(graph, modality_type_uri):
select_data_list = ['?phenomena_net']
clause_list = [f'?phenomena_net a [rdfs:subClassOf* net:Phenomena_Net].',
f'?phenomena_net {PHENOMENA_TYPE_RELATION} {modality_type_uri}.']
return generate_select_query(graph, select_data_list, clause_list)
def __search_pattern(graph):
query_code = ''
result_set = []
for modality_type_uri in MODALITY_TYPE_LIST:
query_code = __get_query_code(graph, modality_type_uri)
result_set += graph.query(query_code)
return query_code, result_set
#==============================================================================
# Useful Computation Method(s)
#==============================================================================
# None
#==============================================================================
# Construct Method(s)
#==============================================================================
# None
#==============================================================================
# Main Method
#==============================================================================
def classify_modality_phenomena(graph):
# -- Rule Initialization
rule_label = 'classify modality phenomena'
rule_triple_list = []
# -- Search for patterns
_, pattern_set = __search_pattern(graph)
# -- Pattern Analysis
for pattern in pattern_set:
modality_phenomena_net = net.ModalityPhenomenaNet(graph, uri=pattern.phenomena_net)
modality_phenomena_net.finalize()
rule_triple_list += modality_phenomena_net.generate_triple_definition()
return rule_label, rule_triple_list
\ No newline at end of file
......@@ -32,6 +32,7 @@ def __search_pattern(graph):
f'FILTER NOT EXISTS {{ ?phenomena_net a net:Deprecated_Net. }}',
f'?phenomena_net {PHENOMENA_TYPE_RELATION} {POSSIBLE_PHENOMENA_URI}.',
f'?phenomena_net {POLARITY_RELATION} ?value_net.',
f'FILTER NOT EXISTS {{ ?value_net a net:Deprecated_Net. }}',
('?value_net', 'net:hasValueLabel', rdflib.term.Literal('negative'))]
query_code = generate_select_query(graph, select_data_list, clause_list)
result_set = graph.query(query_code)
......@@ -111,7 +112,8 @@ def analyze_phenomena_polarity_2(graph):
_, triple_list_1 = __construct_phenomena_net(graph, origin_phenomena_net, value_net)
rule_triple_list += triple_list_1
# -- Deprecation: Origin Class Net
# -- Deprecation: Origin Class Net and Value Net
rule_triple_list += origin_phenomena_net.deprecate()
rule_triple_list += value_net.deprecate()
return rule_label, rule_triple_list
\ No newline at end of file
#!/usr/bin/python3.10
# -*-coding:Utf-8 -*
#==============================================================================
# TENET: Rule to negative polarity phenomena (rule 3)
#------------------------------------------------------------------------------
# Net Expansion AMR rule to analyse negative polarity phenomena
# Rule: polarity(phenomena, 'negative') => phenomena
#==============================================================================
import rdflib
from rdflib import Graph
import transduction
from transduction import net
from transduction.query_builder import generate_select_query
from transduction.naming_computer import define_axiom_naming
from transduction.naming_computer import define_composite_naming_2
#==============================================================================
# Pattern Search: polarity(phenomena, 'negative')
#==============================================================================
POLARITY_RELATION = 'amr:role_polarity'
PHENOMENA_TYPE_RELATION = 'net:hasPhenomenaType'
POSSIBLE_PHENOMENA_URI = 'amr:phenomena_modality_prohibition'
def __search_pattern(graph):
select_data_list = ['?phenomena_net', '?value_net']
clause_list = [f'?phenomena_net a [rdfs:subClassOf* net:Phenomena_Net].',
f'FILTER NOT EXISTS {{ ?phenomena_net a net:Deprecated_Net. }}',
f'?phenomena_net {PHENOMENA_TYPE_RELATION} {POSSIBLE_PHENOMENA_URI}.',
f'?phenomena_net {POLARITY_RELATION} ?value_net.',
f'FILTER NOT EXISTS {{ ?value_net a net:Deprecated_Net. }}',
('?value_net', 'net:hasValueLabel', rdflib.term.Literal('negative'))]
query_code = generate_select_query(graph, select_data_list, clause_list)
result_set = graph.query(query_code)
return query_code, result_set
#==============================================================================
# Useful Computation Method(s)
#==============================================================================
def __filter_relation(relation_list):
result_list = []
for relation in relation_list:
check = True
(s, p, o) = relation
if s == o: check = False
if p == POLARITY_RELATION: check = False
if check: result_list.append(relation)
return result_list
def __propagate_relation(target_net, base_net):
target_net.input_relation_list = base_net.input_relation_list
out_relation_list = __filter_relation(base_net.output_relation_list)
target_net.output_relation_list = out_relation_list
#==============================================================================
# Construct Method(s)
#==============================================================================
def __construct_phenomena_net(graph, origin_phenomena_net, value_net):
# -- Net Composition
new_phenomena_net = net.PhenomenaNet(graph)
new_phenomena_net.compose(origin_phenomena_net, value_net)
# -- Data Computation
new_phenomena_net.phenomena_type = 'amr:phenomena_modality_possible'
new_phenomena_net.phenomena_ref = f'not-{origin_phenomena_net.phenomena_ref}'
# -- Net Naming
new_phenomena_net.naming = 'possible-modality'
# -- Relation Propagation
__propagate_relation(new_phenomena_net, origin_phenomena_net)
# -- Finalization
new_phenomena_net.finalize()
triple_definition = new_phenomena_net.generate_triple_definition()
return new_phenomena_net, triple_definition
#==============================================================================
# Main Method
#==============================================================================
def analyze_phenomena_polarity_3(graph):
# -- Rule Initialization
rule_label = 'analyze "polarity" phenomena (3)'
rule_triple_list = []
# -- Search for patterns
_, pattern_set = __search_pattern(graph)
# -- Pattern Analysis
for pattern in pattern_set:
origin_phenomena_net = net.PhenomenaNet(graph, uri=pattern.phenomena_net)
value_net = net.ValueNet(graph, uri=pattern.value_net)
# -- New Negative Property Net
_, triple_list_1 = __construct_phenomena_net(graph, origin_phenomena_net, value_net)
rule_triple_list += triple_list_1
# -- Deprecation: Origin Class Net and Value Net
rule_triple_list += origin_phenomena_net.deprecate()
rule_triple_list += value_net.deprecate()
return rule_label, rule_triple_list
\ No newline at end of file
#!/usr/bin/python3.10
# -*-coding:Utf-8 -*
#==============================================================================
# TENET: Rule to negative polarity phenomena (rule 3)
#------------------------------------------------------------------------------
# Net Expansion AMR rule to analyse negative polarity phenomena
# Rule: polarity(phenomena, 'negative') => phenomena
#==============================================================================
import rdflib
from rdflib import Graph
import transduction
from transduction import net
from transduction.query_builder import generate_select_query
from transduction.naming_computer import define_axiom_naming
from transduction.naming_computer import define_composite_naming_2
#==============================================================================
# Pattern Search: polarity(phenomena, 'negative')
#==============================================================================
POLARITY_RELATION = 'amr:role_polarity'
PHENOMENA_TYPE_RELATION = 'net:hasPhenomenaType'
POSSIBLE_PHENOMENA_URI = 'amr:phenomena_modality_prohibition'
def __search_pattern(graph):
query_code = ''
result_set = []
for arg_relation in ['amr:role_ARG1', 'amr:role_ARG2']:
select_data_list = ['?phenomena_net', '?value_net']
clause_list = [f'?phenomena_net a [rdfs:subClassOf* net:Phenomena_Net].',
f'FILTER NOT EXISTS {{ ?phenomena_net a net:Deprecated_Net. }}',
f'?phenomena_net {PHENOMENA_TYPE_RELATION} {POSSIBLE_PHENOMENA_URI}.',
f'?property_net a [rdfs:subClassOf* net:Atom_Property_Net].',
f'?phenomena_net {arg_relation} ?property_net.',
f'?property_net {POLARITY_RELATION} ?value_net.',
f'FILTER NOT EXISTS {{ ?value_net a net:Deprecated_Net. }}',
('?value_net', 'net:hasValueLabel', rdflib.term.Literal('negative'))
]
query_code = generate_select_query(graph, select_data_list, clause_list)
result_set += graph.query(query_code)
return query_code, result_set
#==============================================================================
# Useful Computation Method(s)
#==============================================================================
def __filter_relation(relation_list):
result_list = []
for relation in relation_list:
check = True
(s, p, o) = relation
if s == o: check = False
if p == POLARITY_RELATION: check = False
if check: result_list.append(relation)
return result_list
def __propagate_relation(target_net, base_net):
target_net.input_relation_list = base_net.input_relation_list
out_relation_list = __filter_relation(base_net.output_relation_list)
target_net.output_relation_list = out_relation_list
#==============================================================================
# Construct Method(s)
#==============================================================================
def __construct_phenomena_net(graph, origin_phenomena_net, value_net):
# -- Net Composition
new_phenomena_net = net.PhenomenaNet(graph)
new_phenomena_net.compose(origin_phenomena_net, value_net)
# -- Data Computation
new_phenomena_net.phenomena_type = 'amr:phenomena_modality_obligation'
new_phenomena_net.phenomena_ref = f'not-{origin_phenomena_net.phenomena_ref}'
# -- Net Naming
new_phenomena_net.naming = 'obligation-modality'
# -- Relation Propagation
__propagate_relation(new_phenomena_net, origin_phenomena_net)
# -- Finalization
new_phenomena_net.finalize()
triple_definition = new_phenomena_net.generate_triple_definition()
return new_phenomena_net, triple_definition
#==============================================================================
# Main Method
#==============================================================================
def analyze_phenomena_polarity_4(graph):
# -- Rule Initialization
rule_label = 'analyze "polarity" phenomena (4)'
rule_triple_list = []
# -- Search for patterns
_, pattern_set = __search_pattern(graph)
# -- Pattern Analysis
for pattern in pattern_set:
origin_phenomena_net = net.PhenomenaNet(graph, uri=pattern.phenomena_net)
value_net = net.ValueNet(graph, uri=pattern.value_net)
# -- New Negative Property Net
_, triple_list_1 = __construct_phenomena_net(graph, origin_phenomena_net, value_net)
rule_triple_list += triple_list_1
# -- Deprecation: Origin Class Net and Value Net
rule_triple_list += origin_phenomena_net.deprecate()
rule_triple_list += value_net.deprecate()
return rule_label, rule_triple_list
\ No newline at end of file
#!/usr/bin/python3.10
# -*-coding:Utf-8 -*
#==============================================================================
# TENET: Rule to negative polarity phenomena (rule 3)
#------------------------------------------------------------------------------
# Net Expansion AMR rule to analyse negative polarity phenomena
# Rule: polarity(phenomena, 'negative') => phenomena
#==============================================================================
import rdflib
from rdflib import Graph
import transduction
from transduction import net
from transduction.query_builder import generate_select_query
from transduction.naming_computer import define_axiom_naming
from transduction.naming_computer import define_composite_naming_2
#==============================================================================
# Pattern Search: polarity(phenomena, 'negative')
#==============================================================================
POLARITY_RELATION = 'amr:role_polarity'
PHENOMENA_TYPE_RELATION = 'net:hasPhenomenaType'
POSSIBLE_PHENOMENA_URI = 'amr:phenomena_modality_obligation'
def __search_pattern(graph):
query_code = ''
result_set = []
for arg_relation in ['amr:role_ARG1', 'amr:role_ARG2']:
select_data_list = ['?phenomena_net', '?value_net']
clause_list = [f'?phenomena_net a [rdfs:subClassOf* net:Phenomena_Net].',
f'FILTER NOT EXISTS {{ ?phenomena_net a net:Deprecated_Net. }}',
f'?phenomena_net {PHENOMENA_TYPE_RELATION} {POSSIBLE_PHENOMENA_URI}.',
f'?property_net a [rdfs:subClassOf* net:Atom_Property_Net].',
f'?phenomena_net {arg_relation} ?property_net.',
f'?property_net {POLARITY_RELATION} ?value_net.',
f'FILTER NOT EXISTS {{ ?value_net a net:Deprecated_Net. }}',
('?value_net', 'net:hasValueLabel', rdflib.term.Literal('negative'))
]
query_code = generate_select_query(graph, select_data_list, clause_list)
result_set += graph.query(query_code)
return query_code, result_set
#==============================================================================
# Useful Computation Method(s)
#==============================================================================
def __filter_relation(relation_list):
result_list = []
for relation in relation_list:
check = True
(s, p, o) = relation
if s == o: check = False
if p == POLARITY_RELATION: check = False
if check: result_list.append(relation)
return result_list
def __propagate_relation(target_net, base_net):
target_net.input_relation_list = base_net.input_relation_list
out_relation_list = __filter_relation(base_net.output_relation_list)
target_net.output_relation_list = out_relation_list
#==============================================================================
# Construct Method(s)
#==============================================================================
def __construct_phenomena_net(graph, origin_phenomena_net, value_net):
# -- Net Composition
new_phenomena_net = net.PhenomenaNet(graph)
new_phenomena_net.compose(origin_phenomena_net, value_net)
# -- Data Computation
new_phenomena_net.phenomena_type = 'amr:phenomena_modality_prohibition'
new_phenomena_net.phenomena_ref = f'not-{origin_phenomena_net.phenomena_ref}'
# -- Net Naming
new_phenomena_net.naming = 'prohibition-modality'
# -- Relation Propagation
__propagate_relation(new_phenomena_net, origin_phenomena_net)
# -- Finalization
new_phenomena_net.finalize()
triple_definition = new_phenomena_net.generate_triple_definition()
return new_phenomena_net, triple_definition
#==============================================================================
# Main Method
#==============================================================================
def analyze_phenomena_polarity_5(graph):
# -- Rule Initialization
rule_label = 'analyze "polarity" phenomena (5)'
rule_triple_list = []
# -- Search for patterns
_, pattern_set = __search_pattern(graph)
# -- Pattern Analysis
for pattern in pattern_set:
origin_phenomena_net = net.PhenomenaNet(graph, uri=pattern.phenomena_net)
value_net = net.ValueNet(graph, uri=pattern.value_net)
# -- New Negative Property Net
_, triple_list_1 = __construct_phenomena_net(graph, origin_phenomena_net, value_net)
rule_triple_list += triple_list_1
# -- Deprecation: Origin Class Net and Value Net
rule_triple_list += origin_phenomena_net.deprecate()
rule_triple_list += value_net.deprecate()
return rule_label, rule_triple_list
\ No newline at end of file
#!/usr/bin/python3.10
# -*-coding:Utf-8 -*
#==============================================================================
# TENET: Rule to modality phenomena classification
#------------------------------------------------------------------------------
# AMR rule to classify modality phenomena
# Rule: modality_phenomena classification
#==============================================================================
from rdflib import Graph
import transduction
from transduction import net
from transduction.query_builder import generate_select_query
from transduction.rdfterm_computer import produce_uriref, produce_literal
#==============================================================================
# Pattern Search: modality_phenomena
#==============================================================================
def __search_pattern(graph):
query_code = ''
result_set = []
for arg_relation in ['amr:role_ARG0', 'amr:role_ARG1', 'amr:role_ARG2']:
select_data_list = ['?property_net']
clause_list = [f'?left_property_net a [rdfs:subClassOf* net:Property_Net].',
f'?property_net a [rdfs:subClassOf* net:Atom_Property_Net].',
f'?left_property_net {arg_relation} ?property_net.']
query_code = generate_select_query(graph, select_data_list, clause_list)
result_set += graph.query(query_code)
return query_code, result_set
#==============================================================================
# Useful Computation Method(s)
#==============================================================================
def __propagate_relation(target_net, base_net):
target_net.input_relation_list = base_net.input_relation_list
target_net.output_relation_list = base_net.output_relation_list
#==============================================================================
# Construct Method(s)
#==============================================================================
def __construct_atom_class_net(graph, property_net):
# -- Net Composition
atom_class_net = net.AtomClassNet(graph)
atom_class_net.compose(property_net)
# -- Data Computation
atom_class_net.class_name = property_net.naming
# -- Net Naming
atom_class_net.naming = property_net.naming
# -- Relation Propagation
__propagate_relation(atom_class_net, property_net)
# -- Finalization
atom_class_net.finalize()
triple_definition = atom_class_net.generate_triple_definition()
return atom_class_net, triple_definition
#==============================================================================
# Main Method
#==============================================================================
def reclassify_argument_property_to_class(graph):
# -- Rule Initialization
rule_label = 'reclassify argument property to class'
rule_triple_list = []
# -- Search for patterns
_, pattern_set = __search_pattern(graph)
# -- Pattern Analysis
for pattern in pattern_set:
atom_property_net = net.AtomPropertyNet(graph, uri=pattern.property_net)
_, triple_list = __construct_atom_class_net(graph, atom_property_net)
rule_triple_list += triple_list
rule_triple_list += atom_property_net.deprecate()
return rule_label, rule_triple_list
\ No newline at end of file
......@@ -71,25 +71,25 @@
- DEBUG - ----- Total rule number: 87
- INFO - -- Applying extraction step: preprocessing
- INFO - --- *** November Transduction *** Sequence: amrld-correcting-sequence
- INFO - ----- fix-amr-bug-about-system-solar-planet: 5/5 new triples (603, 0:00:00.122197)
- INFO - ----- fix-amr-bug-about-system-solar-planet: 5/5 new triples (603, 0:00:00.107442)
- INFO - --- *** November Transduction *** Sequence: amr-reification-sequence
- INFO - ----- reclassify-concept-1: 10/10 new triples (613, 0:00:00.177709)
- DEBUG - ----- reclassify-concept-2: 0/0 new triple (613, 0:00:00.078444)
- INFO - ----- reclassify-concept-3: 12/12 new triples (625, 0:00:00.051842)
- INFO - ----- reclassify-concept-4: 16/16 new triples (641, 0:00:00.085409)
- INFO - ----- reclassify-concept-5: 2/4 new triples (643, 0:00:00.050676)
- INFO - ----- reify-roles-as-concept: 10/10 new triples (653, 0:00:00.060118)
- INFO - ----- reclassify-existing-variable: 45/45 new triples (698, 0:00:00.042062)
- INFO - ----- add-new-variable-for-reified-concept: 8/8 new triples (706, 0:00:00.063336)
- INFO - ----- add-amr-leaf-for-reclassified-concept: 33/33 new triples (739, 0:00:00.055747)
- INFO - ----- add-amr-leaf-for-reified-concept: 8/8 new triples (747, 0:00:00.040803)
- INFO - ----- add-amr-edge-for-core-relation: 27/27 new triples (774, 0:00:00.130936)
- INFO - ----- add-amr-edge-for-reified-concept: 12/12 new triples (786, 0:00:00.161203)
- INFO - ----- add-amr-edge-for-name-relation: 5/5 new triples (791, 0:00:00.080725)
- DEBUG - ----- add-value-for-quant-relation: 0/0 new triple (791, 0:00:00.078813)
- INFO - ----- add-amr-edge-for-polarity-relation: 5/5 new triples (796, 0:00:00.086701)
- INFO - ----- update-amr-edge-role-1: 15/15 new triples (811, 0:00:00.094175)
- INFO - ----- add-amr-root: 5/5 new triples (816, 0:00:00.037810)
- INFO - ----- reclassify-concept-1: 10/10 new triples (613, 0:00:00.151110)
- DEBUG - ----- reclassify-concept-2: 0/0 new triple (613, 0:00:00.062944)
- INFO - ----- reclassify-concept-3: 12/12 new triples (625, 0:00:00.043175)
- INFO - ----- reclassify-concept-4: 16/16 new triples (641, 0:00:00.069443)
- INFO - ----- reclassify-concept-5: 2/4 new triples (643, 0:00:00.051118)
- INFO - ----- reify-roles-as-concept: 10/10 new triples (653, 0:00:00.054098)
- INFO - ----- reclassify-existing-variable: 45/45 new triples (698, 0:00:00.031215)
- INFO - ----- add-new-variable-for-reified-concept: 8/8 new triples (706, 0:00:00.056760)
- INFO - ----- add-amr-leaf-for-reclassified-concept: 33/33 new triples (739, 0:00:00.049200)
- INFO - ----- add-amr-leaf-for-reified-concept: 8/8 new triples (747, 0:00:00.034791)
- INFO - ----- add-amr-edge-for-core-relation: 27/27 new triples (774, 0:00:00.123966)
- INFO - ----- add-amr-edge-for-reified-concept: 12/12 new triples (786, 0:00:00.152911)
- INFO - ----- add-amr-edge-for-name-relation: 5/5 new triples (791, 0:00:00.094811)
- DEBUG - ----- add-value-for-quant-relation: 0/0 new triple (791, 0:00:00.091672)
- INFO - ----- add-amr-edge-for-polarity-relation: 5/5 new triples (796, 0:00:00.088032)
- INFO - ----- update-amr-edge-role-1: 15/15 new triples (811, 0:00:00.097919)
- INFO - ----- add-amr-root: 5/5 new triples (816, 0:00:00.026552)
- DEBUG - --- Serializing graph to tenet.tetras-libre.fr_demo_01_preprocessing
- DEBUG - ----- step: preprocessing
- DEBUG - ----- id: https://tenet.tetras-libre.fr/demo/01/
......@@ -98,68 +98,68 @@
- INFO - ----- 218 triples extracted during preprocessing step
- INFO - -- Applying extraction step: transduction
- INFO - --- *** February Transduction *** Sequence: atomic extraction sequence
- INFO - ----- extract atom classes: 30/30 new triples (846, 0:00:00.165510)
- INFO - ----- extract atom individuals: 8/8 new triples (854, 0:00:00.048577)
- INFO - ----- extract atomic properties: 75/75 new triples (929, 0:00:00.231273)
- INFO - ----- extract atom values: 10/10 new triples (939, 0:00:00.059427)
- INFO - ----- extract atom phenomena: 14/14 new triples (953, 0:00:00.073757)
- INFO - ----- propagate atom relations: 24/68 new triples (977, 0:00:01.155622)
- INFO - ----- extract atom classes: 30/30 new triples (846, 0:00:00.162678)
- INFO - ----- extract atom individuals: 8/8 new triples (854, 0:00:00.050737)
- INFO - ----- extract atomic properties: 75/75 new triples (929, 0:00:00.216072)
- INFO - ----- extract atom values: 10/10 new triples (939, 0:00:00.052074)
- INFO - ----- extract atom phenomena: 14/14 new triples (953, 0:00:00.061439)
- INFO - ----- propagate atom relations: 24/68 new triples (977, 0:00:01.135960)
- INFO - --- *** February Transduction *** Sequence: phenomena analyze sequence (1)
- INFO - ----- analyze "polarity" phenomena (1): 32/36 new triples (1009, 0:00:00.281555)
- DEBUG - ----- analyze "polarity" phenomena (2): 0/0 new triple (1009, 0:00:00.017296)
- DEBUG - ----- analyze modifier phenomena (mod): 0/0 new triple (1009, 0:00:00.008295)
- INFO - ----- analyze "polarity" phenomena (1): 32/36 new triples (1009, 0:00:00.102840)
- DEBUG - ----- analyze "polarity" phenomena (2): 0/0 new triple (1009, 0:00:00.017023)
- DEBUG - ----- analyze modifier phenomena (mod): 0/0 new triple (1009, 0:00:00.011371)
- INFO - --- *** February Transduction *** Sequence: phenomena analyze sequence (2)
- DEBUG - ----- analyze "or" phenomena (1): 0/0 new triple (1009, 0:00:00.011861)
- INFO - ----- analyze "or" phenomena (2): 56/82 new triples (1065, 0:00:00.229622)
- DEBUG - ----- analyze "or" phenomena (1): 0/0 new triple (1009, 0:00:00.012886)
- INFO - ----- analyze "or" phenomena (2): 56/82 new triples (1065, 0:00:00.276051)
- INFO - --- *** February Transduction *** Sequence: composite class extraction sequence
- INFO - ----- extract composite classes (1): 75/76 new triples (1140, 0:00:00.265299)
- DEBUG - ----- extract composite classes (2): 0/0 new triple (1140, 0:00:00.019950)
- INFO - ----- extract composite classes (1): 78/79 new triples (1143, 0:00:00.317769)
- DEBUG - ----- extract composite classes (2): 0/0 new triple (1143, 0:00:00.028135)
- DEBUG - --- Serializing graph to tenet.tetras-libre.fr_demo_01_transduction
- DEBUG - ----- step: transduction
- DEBUG - ----- id: https://tenet.tetras-libre.fr/demo/01/
- DEBUG - ----- work_file: /home/lamenji/Workspace/Tetras/tenet/tests/main_tests/test_owl_output/SolarSystemDev01-20230517/technical-data/tenet.tetras-libre.fr_demo_01-0/tenet.tetras-libre.fr_demo_01_transduction.ttl
- DEBUG - ----- base: http://https://tenet.tetras-libre.fr/demo/01//transduction
- INFO - ----- 324 triples extracted during transduction step
- INFO - ----- 327 triples extracted during transduction step
- INFO - -- Applying extraction step: generation
- INFO - --- *** November Transduction *** Sequence: main-generation-sequence
- INFO - ----- compute-uri-for-owl-declaration-1: 2/2 new triples (1142, 0:00:00.021815)
- DEBUG - ----- compute-uri-for-owl-declaration-2: 0/0 new triple (1142, 0:00:00.021632)
- INFO - ----- compute-uri-for-owl-declaration-3: 1/1 new triple (1143, 0:00:00.040741)
- DEBUG - ----- compute-uri-for-owl-declaration-4: 0/0 new triple (1143, 0:00:00.019998)
- INFO - ----- compute-uri-for-owl-declaration-5: 4/4 new triples (1147, 0:00:00.021346)
- INFO - ----- compute-uri-for-owl-declaration-6: 4/4 new triples (1151, 0:00:00.025619)
- INFO - ----- compute-uri-for-owl-declaration-7: 1/1 new triple (1152, 0:00:00.023085)
- INFO - ----- generate-atom-class: 6/6 new triples (1158, 0:00:00.019462)
- DEBUG - ----- classify-atom-class-1: 0/0 new triple (1158, 0:00:00.008653)
- INFO - ----- classify-atom-class-2: 2/2 new triples (1160, 0:00:00.010817)
- INFO - ----- generate-individual: 3/3 new triples (1163, 0:00:00.010694)
- DEBUG - ----- classify-individual-1: 0/0 new triple (1163, 0:00:00.007920)
- DEBUG - ----- classify-individual-2: 0/0 new triple (1163, 0:00:00.008371)
- INFO - ----- generate-atom-property-1: 20/20 new triples (1183, 0:00:00.015108)
- INFO - ----- generate-atom-property-12: 16/16 new triples (1199, 0:00:00.011485)
- DEBUG - ----- generate-inverse-relation: 0/0 new triple (1199, 0:00:00.007591)
- DEBUG - ----- generate-composite-class: 0/0 new triple (1199, 0:00:00.008735)
- DEBUG - ----- add-restriction-to-class-1: 0/0 new triple (1199, 0:00:00.020413)
- DEBUG - ----- add-restriction-to-class-2: 0/0 new triple (1199, 0:00:00.015592)
- DEBUG - ----- add-restriction-to-class-3: 0/0 new triple (1199, 0:00:00.014099)
- DEBUG - ----- add-restriction-to-class-4: 0/0 new triple (1199, 0:00:00.014423)
- DEBUG - ----- add-restriction-to-class-5: 0/0 new triple (1199, 0:00:00.018992)
- DEBUG - ----- add-restriction-to-class-6: 0/0 new triple (1199, 0:00:00.013756)
- INFO - ----- compute-uri-for-owl-declaration-1: 2/2 new triples (1145, 0:00:00.025479)
- INFO - ----- compute-uri-for-owl-declaration-2: 2/2 new triples (1147, 0:00:00.024029)
- INFO - ----- compute-uri-for-owl-declaration-3: 1/1 new triple (1148, 0:00:00.030747)
- DEBUG - ----- compute-uri-for-owl-declaration-4: 0/0 new triple (1148, 0:00:00.020293)
- INFO - ----- compute-uri-for-owl-declaration-5: 4/4 new triples (1152, 0:00:00.026166)
- INFO - ----- compute-uri-for-owl-declaration-6: 4/4 new triples (1156, 0:00:00.027428)
- INFO - ----- compute-uri-for-owl-declaration-7: 1/1 new triple (1157, 0:00:00.018957)
- INFO - ----- generate-atom-class: 12/12 new triples (1169, 0:00:00.008675)
- DEBUG - ----- classify-atom-class-1: 0/0 new triple (1169, 0:00:00.006454)
- INFO - ----- classify-atom-class-2: 4/4 new triples (1173, 0:00:00.012147)
- INFO - ----- generate-individual: 3/3 new triples (1176, 0:00:00.009825)
- DEBUG - ----- classify-individual-1: 0/0 new triple (1176, 0:00:00.008026)
- DEBUG - ----- classify-individual-2: 0/0 new triple (1176, 0:00:00.012284)
- INFO - ----- generate-atom-property-1: 20/20 new triples (1196, 0:00:00.010817)
- INFO - ----- generate-atom-property-12: 16/16 new triples (1212, 0:00:00.011441)
- DEBUG - ----- generate-inverse-relation: 0/0 new triple (1212, 0:00:00.007958)
- DEBUG - ----- generate-composite-class: 0/0 new triple (1212, 0:00:00.010288)
- DEBUG - ----- add-restriction-to-class-1: 0/0 new triple (1212, 0:00:00.020049)
- DEBUG - ----- add-restriction-to-class-2: 0/0 new triple (1212, 0:00:00.013673)
- DEBUG - ----- add-restriction-to-class-3: 0/0 new triple (1212, 0:00:00.025784)
- DEBUG - ----- add-restriction-to-class-4: 0/0 new triple (1212, 0:00:00.016558)
- DEBUG - ----- add-restriction-to-class-5: 0/0 new triple (1212, 0:00:00.019843)
- DEBUG - ----- add-restriction-to-class-6: 0/0 new triple (1212, 0:00:00.016422)
- INFO - --- *** February Transduction *** Sequence: property_generation_sequence
- INFO - ----- generate OWL property: 15/35 new triples (1214, 0:00:00.387527)
- INFO - ----- generate OWL property: 9/29 new triples (1221, 0:00:00.289832)
- DEBUG - --- Serializing graph to tenet.tetras-libre.fr_demo_01_generation
- DEBUG - ----- step: generation
- DEBUG - ----- id: https://tenet.tetras-libre.fr/demo/01/
- DEBUG - ----- work_file: /home/lamenji/Workspace/Tetras/tenet/tests/main_tests/test_owl_output/SolarSystemDev01-20230517/technical-data/tenet.tetras-libre.fr_demo_01-0/tenet.tetras-libre.fr_demo_01_generation.ttl
- DEBUG - ----- base: http://https://tenet.tetras-libre.fr/demo/01//generation
- INFO - ----- 74 triples extracted during generation step
- INFO - ----- 78 triples extracted during generation step
- DEBUG - --- Serializing graph to factoid file (/home/lamenji/Workspace/Tetras/tenet/tests/main_tests/test_owl_output/SolarSystemDev01-20230517/technical-data/tenet.tetras-libre.fr_demo_01-0/tenet.tetras-libre.fr_demo_01_factoid.ttl)
- DEBUG - ----- Number of factoids: 94
- DEBUG - ----- Number of factoids: 98
- DEBUG - ----- Graph base: http://https://tenet.tetras-libre.fr/demo/01//factoid
- INFO -
=== Final Ontology Generation ===
- INFO - -- Making complete factoid graph by merging the result factoids
- INFO - ----- Total factoid number: 94
- INFO - ----- Total factoid number: 98
- INFO - -- Serializing graph to factoid string
- INFO - ----- Graph base: http://https://tenet.tetras-libre.fr/demo/01//factoid
- INFO - -- Serializing graph to factoid file
......@@ -169,6 +169,6 @@
- INFO -
*** Execution Time ***
----- Function: create_ontology_from_amrld_file (tenet.main)
----- Total Time: 0:00:05.344971
----- Process Time: 0:00:05.168497
----- Total Time: 0:00:04.975232
----- Process Time: 0:00:04.929036
*** - ***
......@@ -4,19 +4,10 @@
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
<https://tenet.tetras-libre.fr/extract-result#gravitation-bind-system> rdfs:subPropertyOf ns1:Out_ObjectProperty ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#not-direct> a owl:ObjectProperty ;
rdfs:subPropertyOf ns1:Out_ObjectProperty ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#object-orbit-hasManner-direct-sun> rdfs:subPropertyOf ns1:Out_ObjectProperty ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#object-orbit-hasManner-not-direct-sun> rdfs:subPropertyOf ns1:Out_ObjectProperty ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#orbit-hasManner-direct> a owl:ObjectProperty ;
rdfs:subPropertyOf <https://tenet.tetras-libre.fr/extract-result#orbit> ;
ns1:fromStructure "SSC-01-01" .
......@@ -25,6 +16,10 @@
rdfs:subPropertyOf <https://tenet.tetras-libre.fr/extract-result#orbit> ;
ns1:fromStructure "SSC-01-01" .
ns2:atomClass_gravitation_g ns2:hasClassURI <https://tenet.tetras-libre.fr/extract-result#gravitation> .
ns2:atomClass_object_o ns2:hasClassURI <https://tenet.tetras-libre.fr/extract-result#object> .
ns2:atomClass_sun_s2 ns2:hasClassURI <https://tenet.tetras-libre.fr/extract-result#sun> .
ns2:atomClass_system_s ns2:hasClassURI <https://tenet.tetras-libre.fr/extract-result#system> .
......@@ -65,6 +60,11 @@ ns2:individual_SolarSystem_p ns2:hasIndividualURI <https://tenet.tetras-libre.fr
rdfs:subPropertyOf ns1:Out_ObjectProperty ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#gravitation> a owl:Class ;
rdfs:label "gravitation" ;
rdfs:subClassOf ns1:Undetermined_Thing ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#hasManner> a owl:ObjectProperty ;
rdfs:label "hasManner" ;
rdfs:subPropertyOf ns1:Out_ObjectProperty ;
......@@ -85,6 +85,11 @@ ns2:individual_SolarSystem_p ns2:hasIndividualURI <https://tenet.tetras-libre.fr
rdfs:subPropertyOf ns1:Out_ObjectProperty ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#object> a owl:Class ;
rdfs:label "object" ;
rdfs:subClassOf ns1:Undetermined_Thing ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#solar-system> a owl:individual ;
rdfs:label "Solar System" ;
ns1:fromStructure "SSC-01-01" .
......
......@@ -71,25 +71,25 @@
- DEBUG - ----- Total rule number: 87
- INFO - -- Applying extraction step: preprocessing
- INFO - --- *** November Transduction *** Sequence: amrld-correcting-sequence
- INFO - ----- fix-amr-bug-about-system-solar-planet: 5/5 new triples (603, 0:00:00.122197)
- INFO - ----- fix-amr-bug-about-system-solar-planet: 5/5 new triples (603, 0:00:00.107442)
- INFO - --- *** November Transduction *** Sequence: amr-reification-sequence
- INFO - ----- reclassify-concept-1: 10/10 new triples (613, 0:00:00.177709)
- DEBUG - ----- reclassify-concept-2: 0/0 new triple (613, 0:00:00.078444)
- INFO - ----- reclassify-concept-3: 12/12 new triples (625, 0:00:00.051842)
- INFO - ----- reclassify-concept-4: 16/16 new triples (641, 0:00:00.085409)
- INFO - ----- reclassify-concept-5: 2/4 new triples (643, 0:00:00.050676)
- INFO - ----- reify-roles-as-concept: 10/10 new triples (653, 0:00:00.060118)
- INFO - ----- reclassify-existing-variable: 45/45 new triples (698, 0:00:00.042062)
- INFO - ----- add-new-variable-for-reified-concept: 8/8 new triples (706, 0:00:00.063336)
- INFO - ----- add-amr-leaf-for-reclassified-concept: 33/33 new triples (739, 0:00:00.055747)
- INFO - ----- add-amr-leaf-for-reified-concept: 8/8 new triples (747, 0:00:00.040803)
- INFO - ----- add-amr-edge-for-core-relation: 27/27 new triples (774, 0:00:00.130936)
- INFO - ----- add-amr-edge-for-reified-concept: 12/12 new triples (786, 0:00:00.161203)
- INFO - ----- add-amr-edge-for-name-relation: 5/5 new triples (791, 0:00:00.080725)
- DEBUG - ----- add-value-for-quant-relation: 0/0 new triple (791, 0:00:00.078813)
- INFO - ----- add-amr-edge-for-polarity-relation: 5/5 new triples (796, 0:00:00.086701)
- INFO - ----- update-amr-edge-role-1: 15/15 new triples (811, 0:00:00.094175)
- INFO - ----- add-amr-root: 5/5 new triples (816, 0:00:00.037810)
- INFO - ----- reclassify-concept-1: 10/10 new triples (613, 0:00:00.151110)
- DEBUG - ----- reclassify-concept-2: 0/0 new triple (613, 0:00:00.062944)
- INFO - ----- reclassify-concept-3: 12/12 new triples (625, 0:00:00.043175)
- INFO - ----- reclassify-concept-4: 16/16 new triples (641, 0:00:00.069443)
- INFO - ----- reclassify-concept-5: 2/4 new triples (643, 0:00:00.051118)
- INFO - ----- reify-roles-as-concept: 10/10 new triples (653, 0:00:00.054098)
- INFO - ----- reclassify-existing-variable: 45/45 new triples (698, 0:00:00.031215)
- INFO - ----- add-new-variable-for-reified-concept: 8/8 new triples (706, 0:00:00.056760)
- INFO - ----- add-amr-leaf-for-reclassified-concept: 33/33 new triples (739, 0:00:00.049200)
- INFO - ----- add-amr-leaf-for-reified-concept: 8/8 new triples (747, 0:00:00.034791)
- INFO - ----- add-amr-edge-for-core-relation: 27/27 new triples (774, 0:00:00.123966)
- INFO - ----- add-amr-edge-for-reified-concept: 12/12 new triples (786, 0:00:00.152911)
- INFO - ----- add-amr-edge-for-name-relation: 5/5 new triples (791, 0:00:00.094811)
- DEBUG - ----- add-value-for-quant-relation: 0/0 new triple (791, 0:00:00.091672)
- INFO - ----- add-amr-edge-for-polarity-relation: 5/5 new triples (796, 0:00:00.088032)
- INFO - ----- update-amr-edge-role-1: 15/15 new triples (811, 0:00:00.097919)
- INFO - ----- add-amr-root: 5/5 new triples (816, 0:00:00.026552)
- DEBUG - --- Serializing graph to tenet.tetras-libre.fr_demo_01_preprocessing
- DEBUG - ----- step: preprocessing
- DEBUG - ----- id: https://tenet.tetras-libre.fr/demo/01/
......@@ -98,68 +98,68 @@
- INFO - ----- 218 triples extracted during preprocessing step
- INFO - -- Applying extraction step: transduction
- INFO - --- *** February Transduction *** Sequence: atomic extraction sequence
- INFO - ----- extract atom classes: 30/30 new triples (846, 0:00:00.165510)
- INFO - ----- extract atom individuals: 8/8 new triples (854, 0:00:00.048577)
- INFO - ----- extract atomic properties: 75/75 new triples (929, 0:00:00.231273)
- INFO - ----- extract atom values: 10/10 new triples (939, 0:00:00.059427)
- INFO - ----- extract atom phenomena: 14/14 new triples (953, 0:00:00.073757)
- INFO - ----- propagate atom relations: 24/68 new triples (977, 0:00:01.155622)
- INFO - ----- extract atom classes: 30/30 new triples (846, 0:00:00.162678)
- INFO - ----- extract atom individuals: 8/8 new triples (854, 0:00:00.050737)
- INFO - ----- extract atomic properties: 75/75 new triples (929, 0:00:00.216072)
- INFO - ----- extract atom values: 10/10 new triples (939, 0:00:00.052074)
- INFO - ----- extract atom phenomena: 14/14 new triples (953, 0:00:00.061439)
- INFO - ----- propagate atom relations: 24/68 new triples (977, 0:00:01.135960)
- INFO - --- *** February Transduction *** Sequence: phenomena analyze sequence (1)
- INFO - ----- analyze "polarity" phenomena (1): 32/36 new triples (1009, 0:00:00.281555)
- DEBUG - ----- analyze "polarity" phenomena (2): 0/0 new triple (1009, 0:00:00.017296)
- DEBUG - ----- analyze modifier phenomena (mod): 0/0 new triple (1009, 0:00:00.008295)
- INFO - ----- analyze "polarity" phenomena (1): 32/36 new triples (1009, 0:00:00.102840)
- DEBUG - ----- analyze "polarity" phenomena (2): 0/0 new triple (1009, 0:00:00.017023)
- DEBUG - ----- analyze modifier phenomena (mod): 0/0 new triple (1009, 0:00:00.011371)
- INFO - --- *** February Transduction *** Sequence: phenomena analyze sequence (2)
- DEBUG - ----- analyze "or" phenomena (1): 0/0 new triple (1009, 0:00:00.011861)
- INFO - ----- analyze "or" phenomena (2): 56/82 new triples (1065, 0:00:00.229622)
- DEBUG - ----- analyze "or" phenomena (1): 0/0 new triple (1009, 0:00:00.012886)
- INFO - ----- analyze "or" phenomena (2): 56/82 new triples (1065, 0:00:00.276051)
- INFO - --- *** February Transduction *** Sequence: composite class extraction sequence
- INFO - ----- extract composite classes (1): 75/76 new triples (1140, 0:00:00.265299)
- DEBUG - ----- extract composite classes (2): 0/0 new triple (1140, 0:00:00.019950)
- INFO - ----- extract composite classes (1): 78/79 new triples (1143, 0:00:00.317769)
- DEBUG - ----- extract composite classes (2): 0/0 new triple (1143, 0:00:00.028135)
- DEBUG - --- Serializing graph to tenet.tetras-libre.fr_demo_01_transduction
- DEBUG - ----- step: transduction
- DEBUG - ----- id: https://tenet.tetras-libre.fr/demo/01/
- DEBUG - ----- work_file: /home/lamenji/Workspace/Tetras/tenet/tests/main_tests/test_owl_output/SolarSystemDev01-20230517/technical-data/tenet.tetras-libre.fr_demo_01-0/tenet.tetras-libre.fr_demo_01_transduction.ttl
- DEBUG - ----- base: http://https://tenet.tetras-libre.fr/demo/01//transduction
- INFO - ----- 324 triples extracted during transduction step
- INFO - ----- 327 triples extracted during transduction step
- INFO - -- Applying extraction step: generation
- INFO - --- *** November Transduction *** Sequence: main-generation-sequence
- INFO - ----- compute-uri-for-owl-declaration-1: 2/2 new triples (1142, 0:00:00.021815)
- DEBUG - ----- compute-uri-for-owl-declaration-2: 0/0 new triple (1142, 0:00:00.021632)
- INFO - ----- compute-uri-for-owl-declaration-3: 1/1 new triple (1143, 0:00:00.040741)
- DEBUG - ----- compute-uri-for-owl-declaration-4: 0/0 new triple (1143, 0:00:00.019998)
- INFO - ----- compute-uri-for-owl-declaration-5: 4/4 new triples (1147, 0:00:00.021346)
- INFO - ----- compute-uri-for-owl-declaration-6: 4/4 new triples (1151, 0:00:00.025619)
- INFO - ----- compute-uri-for-owl-declaration-7: 1/1 new triple (1152, 0:00:00.023085)
- INFO - ----- generate-atom-class: 6/6 new triples (1158, 0:00:00.019462)
- DEBUG - ----- classify-atom-class-1: 0/0 new triple (1158, 0:00:00.008653)
- INFO - ----- classify-atom-class-2: 2/2 new triples (1160, 0:00:00.010817)
- INFO - ----- generate-individual: 3/3 new triples (1163, 0:00:00.010694)
- DEBUG - ----- classify-individual-1: 0/0 new triple (1163, 0:00:00.007920)
- DEBUG - ----- classify-individual-2: 0/0 new triple (1163, 0:00:00.008371)
- INFO - ----- generate-atom-property-1: 20/20 new triples (1183, 0:00:00.015108)
- INFO - ----- generate-atom-property-12: 16/16 new triples (1199, 0:00:00.011485)
- DEBUG - ----- generate-inverse-relation: 0/0 new triple (1199, 0:00:00.007591)
- DEBUG - ----- generate-composite-class: 0/0 new triple (1199, 0:00:00.008735)
- DEBUG - ----- add-restriction-to-class-1: 0/0 new triple (1199, 0:00:00.020413)
- DEBUG - ----- add-restriction-to-class-2: 0/0 new triple (1199, 0:00:00.015592)
- DEBUG - ----- add-restriction-to-class-3: 0/0 new triple (1199, 0:00:00.014099)
- DEBUG - ----- add-restriction-to-class-4: 0/0 new triple (1199, 0:00:00.014423)
- DEBUG - ----- add-restriction-to-class-5: 0/0 new triple (1199, 0:00:00.018992)
- DEBUG - ----- add-restriction-to-class-6: 0/0 new triple (1199, 0:00:00.013756)
- INFO - ----- compute-uri-for-owl-declaration-1: 2/2 new triples (1145, 0:00:00.025479)
- INFO - ----- compute-uri-for-owl-declaration-2: 2/2 new triples (1147, 0:00:00.024029)
- INFO - ----- compute-uri-for-owl-declaration-3: 1/1 new triple (1148, 0:00:00.030747)
- DEBUG - ----- compute-uri-for-owl-declaration-4: 0/0 new triple (1148, 0:00:00.020293)
- INFO - ----- compute-uri-for-owl-declaration-5: 4/4 new triples (1152, 0:00:00.026166)
- INFO - ----- compute-uri-for-owl-declaration-6: 4/4 new triples (1156, 0:00:00.027428)
- INFO - ----- compute-uri-for-owl-declaration-7: 1/1 new triple (1157, 0:00:00.018957)
- INFO - ----- generate-atom-class: 12/12 new triples (1169, 0:00:00.008675)
- DEBUG - ----- classify-atom-class-1: 0/0 new triple (1169, 0:00:00.006454)
- INFO - ----- classify-atom-class-2: 4/4 new triples (1173, 0:00:00.012147)
- INFO - ----- generate-individual: 3/3 new triples (1176, 0:00:00.009825)
- DEBUG - ----- classify-individual-1: 0/0 new triple (1176, 0:00:00.008026)
- DEBUG - ----- classify-individual-2: 0/0 new triple (1176, 0:00:00.012284)
- INFO - ----- generate-atom-property-1: 20/20 new triples (1196, 0:00:00.010817)
- INFO - ----- generate-atom-property-12: 16/16 new triples (1212, 0:00:00.011441)
- DEBUG - ----- generate-inverse-relation: 0/0 new triple (1212, 0:00:00.007958)
- DEBUG - ----- generate-composite-class: 0/0 new triple (1212, 0:00:00.010288)
- DEBUG - ----- add-restriction-to-class-1: 0/0 new triple (1212, 0:00:00.020049)
- DEBUG - ----- add-restriction-to-class-2: 0/0 new triple (1212, 0:00:00.013673)
- DEBUG - ----- add-restriction-to-class-3: 0/0 new triple (1212, 0:00:00.025784)
- DEBUG - ----- add-restriction-to-class-4: 0/0 new triple (1212, 0:00:00.016558)
- DEBUG - ----- add-restriction-to-class-5: 0/0 new triple (1212, 0:00:00.019843)
- DEBUG - ----- add-restriction-to-class-6: 0/0 new triple (1212, 0:00:00.016422)
- INFO - --- *** February Transduction *** Sequence: property_generation_sequence
- INFO - ----- generate OWL property: 15/35 new triples (1214, 0:00:00.387527)
- INFO - ----- generate OWL property: 9/29 new triples (1221, 0:00:00.289832)
- DEBUG - --- Serializing graph to tenet.tetras-libre.fr_demo_01_generation
- DEBUG - ----- step: generation
- DEBUG - ----- id: https://tenet.tetras-libre.fr/demo/01/
- DEBUG - ----- work_file: /home/lamenji/Workspace/Tetras/tenet/tests/main_tests/test_owl_output/SolarSystemDev01-20230517/technical-data/tenet.tetras-libre.fr_demo_01-0/tenet.tetras-libre.fr_demo_01_generation.ttl
- DEBUG - ----- base: http://https://tenet.tetras-libre.fr/demo/01//generation
- INFO - ----- 74 triples extracted during generation step
- INFO - ----- 78 triples extracted during generation step
- DEBUG - --- Serializing graph to factoid file (/home/lamenji/Workspace/Tetras/tenet/tests/main_tests/test_owl_output/SolarSystemDev01-20230517/technical-data/tenet.tetras-libre.fr_demo_01-0/tenet.tetras-libre.fr_demo_01_factoid.ttl)
- DEBUG - ----- Number of factoids: 94
- DEBUG - ----- Number of factoids: 98
- DEBUG - ----- Graph base: http://https://tenet.tetras-libre.fr/demo/01//factoid
- INFO -
=== Final Ontology Generation ===
- INFO - -- Making complete factoid graph by merging the result factoids
- INFO - ----- Total factoid number: 94
- INFO - ----- Total factoid number: 98
- INFO - -- Serializing graph to factoid string
- INFO - ----- Graph base: http://https://tenet.tetras-libre.fr/demo/01//factoid
- INFO - -- Serializing graph to factoid file
......
......@@ -4,19 +4,10 @@
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
<https://tenet.tetras-libre.fr/extract-result#gravitation-bind-system> rdfs:subPropertyOf ns1:Out_ObjectProperty ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#not-direct> a owl:ObjectProperty ;
rdfs:subPropertyOf ns1:Out_ObjectProperty ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#object-orbit-hasManner-direct-sun> rdfs:subPropertyOf ns1:Out_ObjectProperty ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#object-orbit-hasManner-not-direct-sun> rdfs:subPropertyOf ns1:Out_ObjectProperty ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#orbit-hasManner-direct> a owl:ObjectProperty ;
rdfs:subPropertyOf <https://tenet.tetras-libre.fr/extract-result#orbit> ;
ns1:fromStructure "SSC-01-01" .
......@@ -25,6 +16,10 @@
rdfs:subPropertyOf <https://tenet.tetras-libre.fr/extract-result#orbit> ;
ns1:fromStructure "SSC-01-01" .
ns2:atomClass_gravitation_g ns2:hasClassURI <https://tenet.tetras-libre.fr/extract-result#gravitation> .
ns2:atomClass_object_o ns2:hasClassURI <https://tenet.tetras-libre.fr/extract-result#object> .
ns2:atomClass_sun_s2 ns2:hasClassURI <https://tenet.tetras-libre.fr/extract-result#sun> .
ns2:atomClass_system_s ns2:hasClassURI <https://tenet.tetras-libre.fr/extract-result#system> .
......@@ -65,6 +60,11 @@ ns2:individual_SolarSystem_p ns2:hasIndividualURI <https://tenet.tetras-libre.fr
rdfs:subPropertyOf ns1:Out_ObjectProperty ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#gravitation> a owl:Class ;
rdfs:label "gravitation" ;
rdfs:subClassOf ns1:Undetermined_Thing ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#hasManner> a owl:ObjectProperty ;
rdfs:label "hasManner" ;
rdfs:subPropertyOf ns1:Out_ObjectProperty ;
......@@ -85,6 +85,11 @@ ns2:individual_SolarSystem_p ns2:hasIndividualURI <https://tenet.tetras-libre.fr
rdfs:subPropertyOf ns1:Out_ObjectProperty ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#object> a owl:Class ;
rdfs:label "object" ;
rdfs:subClassOf ns1:Undetermined_Thing ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#solar-system> a owl:individual ;
rdfs:label "Solar System" ;
ns1:fromStructure "SSC-01-01" .
......
......@@ -421,19 +421,10 @@ cprm:targetOntologyURI a rdf:Property ;
rdfs:range xsd:string ;
rdfs:subPropertyOf cprm:configParamProperty .
<https://tenet.tetras-libre.fr/extract-result#gravitation-bind-system> rdfs:subPropertyOf sys:Out_ObjectProperty ;
sys:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#not-direct> a owl:ObjectProperty ;
rdfs:subPropertyOf sys:Out_ObjectProperty ;
sys:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#object-orbit-hasManner-direct-sun> rdfs:subPropertyOf sys:Out_ObjectProperty ;
sys:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#object-orbit-hasManner-not-direct-sun> rdfs:subPropertyOf sys:Out_ObjectProperty ;
sys:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#orbit-hasManner-direct> a owl:ObjectProperty ;
rdfs:subPropertyOf <https://tenet.tetras-libre.fr/extract-result#orbit> ;
sys:fromStructure "SSC-01-01" .
......@@ -444,9 +435,6 @@ cprm:targetOntologyURI a rdf:Property ;
<https://tenet.tetras-libre.fr/semantic-net> a owl:Ontology .
net:Composite_Class_Net a owl:Class ;
rdfs:subClassOf net:Class_Net .
net:Logical_Set_Net a owl:Class ;
rdfs:subClassOf net:Net .
......@@ -510,7 +498,7 @@ net:axiom_disjointProperty_not-direct_direct_d2 a net:Axiom_Net ;
net:compositeProperty_not-direct_d2 ;
net:hasStructure "SSC-01-01" .
net:compositeProperty_gravitation-bind-system_g a net:Composite_Property_Net ;
net:compositeClass_gravitation-bind-system_g a net:Composite_Class_Net ;
net:composeFrom net:atomClass_gravitation_g,
net:atomClass_system_s,
net:atomProperty_bind_b ;
......@@ -518,11 +506,12 @@ net:compositeProperty_gravitation-bind-system_g a net:Composite_Property_Net ;
net:coverNode :leaf_bind-01_b,
:leaf_gravitation_g,
:leaf_system_s ;
net:hasMotherClassNet net:atomClass_gravitation_g ;
net:hasNaming "gravitation-bind-system" ;
net:hasRestriction net:restriction_bind-system_b ;
net:hasStructure "SSC-01-01" .
net:compositeProperty_object-orbit-hasManner-direct-sun_o a net:Composite_Property_Net ;
net:compositeClass_object-orbit-hasManner-direct-sun_o a net:Composite_Class_Net ;
net:composeFrom net:atomClass_object_o,
net:atomClass_sun_s2,
net:compositeProperty_orbit-hasManner-direct_o2 ;
......@@ -533,11 +522,12 @@ net:compositeProperty_object-orbit-hasManner-direct-sun_o a net:Composite_Proper
:leaf_object_o,
:leaf_orbit-01_o2,
:leaf_sun_s2 ;
net:hasMotherClassNet net:atomClass_object_o ;
net:hasNaming "object-orbit-hasManner-direct-sun" ;
net:hasRestriction net:restriction_orbit-hasManner-direct-sun_o2 ;
net:hasStructure "SSC-01-01" .
net:compositeProperty_object-orbit-hasManner-not-direct-sun_o a net:Composite_Property_Net ;
net:compositeClass_object-orbit-hasManner-not-direct-sun_o a net:Composite_Class_Net ;
net:composeFrom net:atomClass_object_o,
net:atomClass_sun_s2,
net:compositeProperty_orbit-hasManner-not-direct_o2 ;
......@@ -547,6 +537,7 @@ net:compositeProperty_object-orbit-hasManner-not-direct-sun_o a net:Composite_Pr
:leaf_object_o,
:leaf_orbit-01_o2,
:leaf_sun_s2 ;
net:hasMotherClassNet net:atomClass_object_o ;
net:hasNaming "object-orbit-hasManner-not-direct-sun" ;
net:hasRestriction net:restriction_orbit-hasManner-not-direct-sun_o2 ;
net:hasStructure "SSC-01-01" .
......@@ -857,6 +848,11 @@ sys:Out_AnnotationProperty a owl:AnnotationProperty .
rdfs:subPropertyOf sys:Out_ObjectProperty ;
sys:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#gravitation> a owl:Class ;
rdfs:label "gravitation" ;
rdfs:subClassOf sys:Undetermined_Thing ;
sys:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#hasManner> a owl:ObjectProperty ;
rdfs:label "hasManner" ;
rdfs:subPropertyOf sys:Out_ObjectProperty ;
......@@ -877,6 +873,11 @@ sys:Out_AnnotationProperty a owl:AnnotationProperty .
rdfs:subPropertyOf sys:Out_ObjectProperty ;
sys:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#object> a owl:Class ;
rdfs:label "object" ;
rdfs:subClassOf sys:Undetermined_Thing ;
sys:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#solar-system> a owl:individual ;
rdfs:label "Solar System" ;
sys:fromStructure "SSC-01-01" .
......@@ -1119,9 +1120,6 @@ ns2:or a ns2:Concept ;
:value_SolarSystem a :AMR_Value ;
rdfs:label "Solar System" .
sys:Undetermined_Thing a owl:Class ;
rdfs:subClassOf sys:Out_Structure .
net:Class_Net a owl:Class ;
rdfs:subClassOf net:Net .
......@@ -1134,14 +1132,6 @@ net:Property_Net a owl:Class ;
net:Value_Net a owl:Class ;
rdfs:subClassOf net:Net .
net:atomClass_gravitation_g a net:Atom_Class_Net,
net:Deprecated_Net ;
net:coverBaseNode :leaf_gravitation_g ;
net:coverNode :leaf_gravitation_g ;
net:hasClassName "gravitation" ;
net:hasNaming "gravitation" ;
net:hasStructure "SSC-01-01" .
net:atomClass_system_p a net:Atom_Class_Net,
net:Deprecated_Net ;
:role_name net:value_SolarSystem_blankNode ;
......@@ -1222,10 +1212,25 @@ ns2:Frame a ns2:Concept,
net:Axiom_Net a owl:Class ;
rdfs:subClassOf net:Net .
net:Composite_Class_Net a owl:Class ;
rdfs:subClassOf net:Class_Net .
net:Composite_Property_Net a owl:Class ;
rdfs:subClassOf net:Property_Net .
net:Net_Structure a owl:Class ;
rdfs:label "Semantic Net Structure" ;
rdfs:comment "A semantic net captures a set of nodes, and associates this set with type(s) and value(s)." .
net:atomClass_gravitation_g a net:Atom_Class_Net,
net:Deprecated_Net ;
net:coverBaseNode :leaf_gravitation_g ;
net:coverNode :leaf_gravitation_g ;
net:hasClassName "gravitation" ;
net:hasClassURI <https://tenet.tetras-libre.fr/extract-result#gravitation> ;
net:hasNaming "gravitation" ;
net:hasStructure "SSC-01-01" .
net:atomProperty_bind_b a net:Atom_Property_Net ;
:role_ARG0 net:atomClass_gravitation_g ;
:role_ARG1 net:atomClass_system_s ;
......@@ -1316,6 +1321,9 @@ ns3:FrameRole a ns2:Role,
rdfs:subClassOf :AMR_Core_Role ;
:label "ARG1" .
sys:Undetermined_Thing a owl:Class ;
rdfs:subClassOf sys:Out_Structure .
net:atomProperty_direct_d a net:Atom_Property_Net ;
net:coverBaseNode :leaf_direct-02_d ;
net:coverNode :leaf_direct-02_d ;
......@@ -1411,17 +1419,6 @@ cprm:configParamProperty a rdf:Property ;
net:Atom_Property_Net a owl:Class ;
rdfs:subClassOf net:Property_Net .
net:Composite_Property_Net a owl:Class ;
rdfs:subClassOf net:Property_Net .
net:atomClass_object_o a net:Atom_Class_Net,
net:Deprecated_Net ;
net:coverBaseNode :leaf_object_o ;
net:coverNode :leaf_object_o ;
net:hasClassName "object" ;
net:hasNaming "object" ;
net:hasStructure "SSC-01-01" .
net:atomProperty_hasManner_m9 a net:Atom_Property_Net ;
:role_ARG0 net:atomProperty_orbit_o2 ;
:role_ARG1 net:phenomena_conjunction-OR_o3 ;
......@@ -1452,6 +1449,15 @@ rdf:Property a owl:Class .
net:Relation a owl:Class ;
rdfs:subClassOf net:Net_Structure .
net:atomClass_object_o a net:Atom_Class_Net,
net:Deprecated_Net ;
net:coverBaseNode :leaf_object_o ;
net:coverNode :leaf_object_o ;
net:hasClassName "object" ;
net:hasClassURI <https://tenet.tetras-libre.fr/extract-result#object> ;
net:hasNaming "object" ;
net:hasStructure "SSC-01-01" .
net:compositeProperty_not-direct_d2 a net:Composite_Property_Net ;
:role_polarity net:value_negative_blankNode ;
net:composeFrom net:atomProperty_direct_d2 ;
......@@ -1519,6 +1525,8 @@ net:atomClass_sun_s2 a net:Atom_Class_Net ;
:hasVariable :variable_m9 ;
:isReifiedLeaf true .
sys:Out_ObjectProperty a owl:ObjectProperty .
:AMR_Variable a owl:Class ;
rdfs:subClassOf :AMR_Element .
......@@ -1531,8 +1539,6 @@ net:atomClass_sun_s2 a net:Atom_Class_Net ;
:AMR_Leaf a owl:Class ;
rdfs:subClassOf :AMR_Structure .
sys:Out_ObjectProperty a owl:ObjectProperty .
net:objectValue a owl:AnnotationProperty ;
rdfs:label "valuations"@fr ;
rdfs:subPropertyOf net:objectProperty .
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment