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

Refine phenomena analyzer rule: mod_analyzer_1

parent 4d0f1588
No related branches found
No related tags found
No related merge requests found
Showing
with 90 additions and 11211 deletions
...@@ -22,6 +22,7 @@ from transduction.query_builder import ( ...@@ -22,6 +22,7 @@ from transduction.query_builder import (
) )
DEFAULT_CLASS_TYPE = 'base-out:Undetermined_Thing' DEFAULT_CLASS_TYPE = 'base-out:Undetermined_Thing'
DEFAULT_PROPERTY_URI = 'base-out:hasUnknownRelation'
#============================================================================== #==============================================================================
...@@ -71,7 +72,7 @@ def is_class_net(graph, net_uri): ...@@ -71,7 +72,7 @@ def is_class_net(graph, net_uri):
result = graph.query(query_code, initBindings={'classUri': net_uri}) result = graph.query(query_code, initBindings={'classUri': net_uri})
# Result (True or False) # Result (True or False)
return query_code, bool(result) return bool(result)
def is_individual_net(graph, net_uri): def is_individual_net(graph, net_uri):
...@@ -84,7 +85,20 @@ def is_individual_net(graph, net_uri): ...@@ -84,7 +85,20 @@ def is_individual_net(graph, net_uri):
result = graph.query(query_code, initBindings={'classUri': net_uri}) result = graph.query(query_code, initBindings={'classUri': net_uri})
# Result (True or False) # Result (True or False)
return query_code, bool(result) return bool(result)
def is_property_net(graph, element_uri):
# SPARQL query construction
clause_list = ['?classUri a [rdfs:subClassOf* net:Property_Net].']
query_code = generate_ask_query(graph, clause_list)
# SPARQL query execution
result = graph.query(query_code, initBindings={'classUri': element_uri})
# Result (True or False)
return bool(result)
...@@ -155,6 +169,15 @@ def __is_class_to_generate(class_net): ...@@ -155,6 +169,15 @@ def __is_class_to_generate(class_net):
# -- Base Methods to compute URI # -- Base Methods to compute URI
# ------------------------------------------ # ------------------------------------------
def __compute_individual_uri(individual_net):
if isinstance(individual_net.individual_uri, list) and len(individual_net.individual_uri) > 0:
class_uri = individual_net.individual_uri[0]
else: # computation of individual_uri
net_naming = individual_net.get_attribute_first_value(individual_net.naming)
individual_uri = produce_uriref(individual_net.support_graph, f'ext-out:{net_naming}')
return individual_uri
def __compute_class_uri(class_net): def __compute_class_uri(class_net):
if isinstance(class_net.class_uri, list) and len(class_net.class_uri) > 0: if isinstance(class_net.class_uri, list) and len(class_net.class_uri) > 0:
class_uri = class_net.class_uri[0] class_uri = class_net.class_uri[0]
...@@ -179,9 +202,10 @@ def __compute_class_type_uri(class_net): ...@@ -179,9 +202,10 @@ def __compute_class_type_uri(class_net):
def __compute_property_uri(property_net): def __compute_property_uri(property_net):
property_uri = DEFAULT_PROPERTY_URI
if isinstance(property_net.property_uri, list) and len(property_net.property_uri) > 0: if isinstance(property_net.property_uri, list) and len(property_net.property_uri) > 0:
property_uri = property_net.property_uri[0] property_uri = property_net.property_uri[0]
else: # computation of class_uri elif property_net.naming is not None:
net_naming = property_net.get_attribute_first_value(property_net.naming) net_naming = property_net.get_attribute_first_value(property_net.naming)
property_uri = produce_uriref(property_net.support_graph, f'ext-out:{net_naming}') property_uri = produce_uriref(property_net.support_graph, f'ext-out:{net_naming}')
return property_uri return property_uri
...@@ -247,18 +271,12 @@ def __generate_owl_taxonomic_relation(graph, new_class_uri, net): ...@@ -247,18 +271,12 @@ def __generate_owl_taxonomic_relation(graph, new_class_uri, net):
predicat_list.append(__compute_class_type_uri(net)) predicat_list.append(__compute_class_type_uri(net))
if net.type_id == 'Composite_Class_Net': if net.type_id == 'Composite_Class_Net':
# mother_class_net_uri = net.get_attribute_first_value(net.mother_class_net)
# if mother_class_net_uri is None:
# predicat_list = __compute_class_type_uri(net)
# else :
# predicat_list = __get_mother_class_uri(graph, mother_class_net_uri)
mother_class_net_uri_list = net.mother_class_net mother_class_net_uri_list = net.mother_class_net
if mother_class_net_uri_list is None: if mother_class_net_uri_list is None:
predicat_list.append(__compute_class_type_uri(net)) predicat_list.append(__compute_class_type_uri(net))
else : else :
for mother_class_net_uri in mother_class_net_uri_list: for mother_class_net_uri in mother_class_net_uri_list:
predicat_list.append(__get_mother_class_uri(graph, mother_class_net_uri)) predicat_list.append(__get_mother_class_uri(graph, mother_class_net_uri))
print(predicat_list)
for predicat in predicat_list: for predicat in predicat_list:
triple_list.append((new_class_uri, relation, predicat)) triple_list.append((new_class_uri, relation, predicat))
...@@ -276,9 +294,13 @@ def __generate_logical_restriction(graph, new_class_uri, restriction_net_uri): ...@@ -276,9 +294,13 @@ def __generate_logical_restriction(graph, new_class_uri, restriction_net_uri):
and restriction_net.has_restriction_net_value): and restriction_net.has_restriction_net_value):
# OnProperty URI # OnProperty URI
property_net_uri = restriction_net.restriction_property[0] property_uri = restriction_net.restriction_property[0]
property_net = net.PropertyNet(graph, uri=property_net_uri) if is_property_net(graph, property_uri):
property_net = net.PropertyNet(graph, uri=property_uri)
on_property_uri = __compute_property_uri(property_net) on_property_uri = __compute_property_uri(property_net)
else:
on_property_uri = property_uri
# ValueNet URI # ValueNet URI
value_net_uri = restriction_net.restriction_net_value[0] value_net_uri = restriction_net.restriction_net_value[0]
...@@ -295,7 +317,7 @@ def __generate_logical_restriction(graph, new_class_uri, restriction_net_uri): ...@@ -295,7 +317,7 @@ def __generate_logical_restriction(graph, new_class_uri, restriction_net_uri):
elif (is_individual_net(graph, value_net_uri)): # Case 2: Individual Net elif (is_individual_net(graph, value_net_uri)): # Case 2: Individual Net
value_net = net.IndividualNet(graph, uri=value_net_uri) value_net = net.IndividualNet(graph, uri=value_net_uri)
value_individual_uri = __compute_class_uri(value_net) value_individual_uri = __compute_individual_uri(value_net)
triple_list += __generate_restriction_with_specific_value( triple_list += __generate_restriction_with_specific_value(
graph, new_class_uri, on_property_uri, value_individual_uri) graph, new_class_uri, on_property_uri, value_individual_uri)
......
...@@ -22,6 +22,7 @@ from transduction.query_builder import ( ...@@ -22,6 +22,7 @@ from transduction.query_builder import (
) )
DEFAULT_CLASS_TYPE = 'base-out:Undetermined_Thing' DEFAULT_CLASS_TYPE = 'base-out:Undetermined_Thing'
FEATURE_CLASS_TYPE = 'base-out:Feature'
#============================================================================== #==============================================================================
...@@ -80,7 +81,7 @@ def __search_pattern(graph): ...@@ -80,7 +81,7 @@ def __search_pattern(graph):
def __is_class_to_generate(class_net): def __is_class_to_generate(class_net):
check_1 = class_net.is_deprecated() check_1 = class_net.is_deprecated()
if is_instance(class_net.mother_class_net, list): if isinstance(class_net.mother_class_net, list):
check_2 = len(class_net.mother_class_net) > 0 check_2 = len(class_net.mother_class_net) > 0
else: else:
check_2 = False check_2 = False
...@@ -113,6 +114,14 @@ def __compute_class_uri(class_net): ...@@ -113,6 +114,14 @@ def __compute_class_uri(class_net):
return class_uri return class_uri
def __compute_class_type_uri(net):
if isinstance(net.class_type, list) and len(net.class_type) > 0:
class_type = net.class_type[0]
else:
class_type = f'{DEFAULT_CLASS_TYPE}'
return produce_uriref(net.support_graph, class_type)
def __get_mother_class_uri(graph, mother_class_net_uri): def __get_mother_class_uri(graph, mother_class_net_uri):
mother_class_net = net.ClassNet(graph, uri=mother_class_net_uri) mother_class_net = net.ClassNet(graph, uri=mother_class_net_uri)
return __compute_class_uri(mother_class_net) return __compute_class_uri(mother_class_net)
...@@ -156,13 +165,17 @@ def __generate_owl_typing_relation(graph, new_individual_uri, net): ...@@ -156,13 +165,17 @@ def __generate_owl_typing_relation(graph, new_individual_uri, net):
relation = produce_uriref(graph, 'rdf:type') relation = produce_uriref(graph, 'rdf:type')
predicat = None predicat = None
if net.mother_class_net:
for mother_class_net_uri in net.mother_class_net: for mother_class_net_uri in net.mother_class_net:
predicat = __get_mother_class_uri(graph, mother_class_net_uri) predicat = __get_mother_class_uri(graph, mother_class_net_uri)
if predicat is not None: if predicat is not None:
triple_list.append((new_individual_uri, relation, predicat)) triple_list.append((new_individual_uri, relation, predicat))
elif net.class_type:
predicat = __compute_class_type_uri(net)
triple_list.append((new_individual_uri, relation, predicat))
return triple_list return triple_list
......
...@@ -27,6 +27,7 @@ def __search_pattern_1(graph): ...@@ -27,6 +27,7 @@ def __search_pattern_1(graph):
'?individualNet a net:Individual_Net.', '?individualNet a net:Individual_Net.',
'?individualNet net:coverBaseNode ?sameBaseLeaf.', '?individualNet net:coverBaseNode ?sameBaseLeaf.',
'?classNet a [rdfs:subClassOf* net:Class_Net].', '?classNet a [rdfs:subClassOf* net:Class_Net].',
'FILTER NOT EXISTS {{ ?classNet a net:Deprecated_Net. }}',
'?classNet net:coverBaseNode ?sameBaseLeaf.' '?classNet net:coverBaseNode ?sameBaseLeaf.'
] ]
query_code = generate_select_query(graph, select_data_list, clause_list) query_code = generate_select_query(graph, select_data_list, clause_list)
......
...@@ -15,6 +15,8 @@ from transduction import net ...@@ -15,6 +15,8 @@ from transduction import net
from transduction.query_builder import generate_select_query from transduction.query_builder import generate_select_query
from transduction.naming_computer import define_composite_naming_1, define_restriction_naming from transduction.naming_computer import define_composite_naming_1, define_restriction_naming
ENTITY_CLASS_TYPE = 'base-out:Entity'
FEATURE_CLASS_TYPE = 'base-out:Feature'
#============================================================================== #==============================================================================
# Pattern Search: Leaf{variable, concept} corresponding to individual # Pattern Search: Leaf{variable, concept} corresponding to individual
...@@ -128,6 +130,7 @@ def __construct_individual_net( ...@@ -128,6 +130,7 @@ def __construct_individual_net(
individual_net.base_node = base_leaf individual_net.base_node = base_leaf
individual_net.node = base_leaf individual_net.node = base_leaf
individual_net.individual_label = value_label individual_net.individual_label = value_label
individual_net.class_type = ENTITY_CLASS_TYPE
individual_net.mother_class_net = mother_class_net individual_net.mother_class_net = mother_class_net
individual_net.structure = __get_structure(graph) individual_net.structure = __get_structure(graph)
......
...@@ -17,6 +17,10 @@ from transduction.query_builder import generate_select_query ...@@ -17,6 +17,10 @@ from transduction.query_builder import generate_select_query
from transduction.naming_computer import define_axiom_naming from transduction.naming_computer import define_axiom_naming
from transduction.naming_computer import define_composite_naming_2 from transduction.naming_computer import define_composite_naming_2
ENTITY_CLASS_TYPE = 'base-out:Entity'
FEATURE_CLASS_TYPE = 'base-out:Feature'
FEATURE_PROPERTY_URI = 'base-out:hasFeature'
#============================================================================== #==============================================================================
# Pattern Search: mod(class, class) # Pattern Search: mod(class, class)
...@@ -78,19 +82,19 @@ def __propagate_relation(target_net, base_net): ...@@ -78,19 +82,19 @@ def __propagate_relation(target_net, base_net):
# Construct Method(s) # Construct Method(s)
#============================================================================== #==============================================================================
def __construct_feature_restriction_net(graph, class_net): # TODO def __construct_feature_restriction_net(graph, individual_net):
restriction_net = net.RestrictionNet(graph) restriction_net = net.RestrictionNet(graph)
restriction_net.compose(class_net) restriction_net.compose(individual_net)
# -- Data Computation # -- Data Computation
restriction_net.restriction_property = '--hasFeature--' # TODO restriction_net.restriction_property = FEATURE_PROPERTY_URI
restriction_net.restriction_net_value = class_net.uri restriction_net.restriction_net_value = individual_net.uri
# -- Relation Propagation: None # -- Relation Propagation: None
# -- Net Naming # -- Net Naming
restriction_net.naming = __define_feature_restriction_naming(class_net) restriction_net.naming = __define_feature_restriction_naming(individual_net)
# -- Finalization # -- Finalization
restriction_net.finalize() restriction_net.finalize()
...@@ -100,11 +104,11 @@ def __construct_feature_restriction_net(graph, class_net): # TODO ...@@ -100,11 +104,11 @@ def __construct_feature_restriction_net(graph, class_net): # TODO
def __construct_composite_class_net(graph, class_net_1, class_net_2): def __construct_composite_class_net(graph, class_net_1, individual_net):
# -- Net Composition # -- Net Composition
composite_class_net = net.CompositeClassNet(graph) composite_class_net = net.CompositeClassNet(graph)
composite_class_net.compose(class_net_1, class_net_2) composite_class_net.compose(class_net_1, individual_net)
# -- Data Computation # -- Data Computation
composite_class_net.mother_class_net = class_net_1.uri composite_class_net.mother_class_net = class_net_1.uri
...@@ -112,11 +116,11 @@ def __construct_composite_class_net(graph, class_net_1, class_net_2): ...@@ -112,11 +116,11 @@ def __construct_composite_class_net(graph, class_net_1, class_net_2):
# -- Restriction Computation # -- Restriction Computation
triple_list_1 = [] triple_list_1 = []
# restriction_net, triple_list_1 = __construct_feature_restriction_net(graph, class_net) restriction_net, triple_list_1 = __construct_feature_restriction_net(graph, individual_net)
# composite_class_net.restriction = restriction_net.uri composite_class_net.restriction = restriction_net.uri
# -- Net Naming # -- Net Naming
composite_class_net.naming = __define_composite_naming(class_net_1, class_net_2) composite_class_net.naming = __define_composite_naming(class_net_1, individual_net)
# -- Relation Propagation # -- Relation Propagation
__propagate_relation(composite_class_net, class_net_1) __propagate_relation(composite_class_net, class_net_1)
...@@ -137,8 +141,8 @@ def __construct_individual_net(graph, class_net): ...@@ -137,8 +141,8 @@ def __construct_individual_net(graph, class_net):
individual_net.compose(class_net) individual_net.compose(class_net)
# -- Data Computation # -- Data Computation
individual_net.base_class_name = 'Feature' individual_net.class_type = FEATURE_CLASS_TYPE
individual_net.mother_class_net = class_net.uri # individual_net.mother_class_net = class_net.uri
# -- Net Naming # -- Net Naming
individual_net.naming = f'{__extract_naming(class_net, default="something")}' individual_net.naming = f'{__extract_naming(class_net, default="something")}'
...@@ -171,13 +175,14 @@ def analyze_phenomena_mod_1(graph): ...@@ -171,13 +175,14 @@ def analyze_phenomena_mod_1(graph):
class_net_2 = net.ClassNet(graph, uri=pattern.class_net_2) class_net_2 = net.ClassNet(graph, uri=pattern.class_net_2)
# -- New Net Construction(s) # -- New Net Construction(s)
_, triple_list_1 = __construct_composite_class_net(graph, class_net_1, class_net_2) individual_net, triple_list_1 = __construct_individual_net(graph, class_net_2)
_, triple_list_2 = __construct_individual_net(graph, class_net_2) _, triple_list_2 = __construct_composite_class_net(graph, class_net_1, individual_net)
# -- Resulting List Update # -- Resulting List Update
rule_triple_list += triple_list_1 + triple_list_2 rule_triple_list += triple_list_1 + triple_list_2
# -- Deprecation: Origin Class Net # -- Deprecation: Origin Class Nets
rule_triple_list += class_net_1.deprecate() rule_triple_list += class_net_1.deprecate()
rule_triple_list += class_net_2.deprecate()
return rule_label, rule_triple_list return rule_label, rule_triple_list
\ No newline at end of file
...@@ -151,7 +151,8 @@ scheme = { ...@@ -151,7 +151,8 @@ scheme = {
phenomena_analyze_sequence_2, phenomena_analyze_sequence_2,
composite_class_extraction_sequence, composite_class_extraction_sequence,
classification_sequence_2, classification_sequence_2,
heuristic_deduction_sequence], heuristic_deduction_sequence
],
'Generation': [owl_generation_sequence] 'Generation': [owl_generation_sequence]
......
...@@ -34,8 +34,8 @@ class IndividualNet(Net): ...@@ -34,8 +34,8 @@ class IndividualNet(Net):
self.type_uri = produce_uriref(self.support_graph, f'net:{self.type_id}') self.type_uri = produce_uriref(self.support_graph, f'net:{self.type_id}')
# -- Net Attributes # -- Net Attributes
self.attr_list += ['base_class_name', 'mother_class_net', 'individual_label', 'individual_uri'] self.attr_list += ['class_type', 'mother_class_net', 'individual_label', 'individual_uri']
self._base_class_name = None self._class_type = None
self._mother_class_net = [] self._mother_class_net = []
self._individual_label = None self._individual_label = None
self._individual_uri = None self._individual_uri = None
...@@ -46,14 +46,14 @@ class IndividualNet(Net): ...@@ -46,14 +46,14 @@ class IndividualNet(Net):
#-------------------------------------------------------------------------- #--------------------------------------------------------------------------
@property @property
def base_class_name(self): def class_type(self):
if self._base_class_name is None: if self._class_type is None:
self._base_class_name = self.get_value_list_from_graph('_base_class_name') self._class_type = self.get_value_list_from_graph('class_type')
return self._base_class_name return self._class_type
@base_class_name.setter @class_type.setter
def base_class_name(self, new_value): def class_type(self, new_value):
self._base_class_name = self.set_attribute_value_list(new_value, produce_literal) self._class_type = self.set_attribute_value_list(new_value, produce_uriref)
@property @property
......
@prefix ns1: <https://tenet.tetras-libre.fr/base-ontology#> .
@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#SolarSystem> a owl:Individual,
<https://tenet.tetras-libre.fr/extract-result#system>,
<https://tenet.tetras-libre.fr/extract-result#system-hasPart-object>,
<https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun> ;
rdfs:label "SolarSystem" ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#direct> a owl:ObjectProperty ;
rdfs:label "direct" ;
rdfs:subPropertyOf ns1:Out_ObjectProperty ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#gravitation-bind-system> a owl:Class ;
rdfs:subClassOf [ a owl:Restriction ;
owl:onProperty <https://tenet.tetras-libre.fr/extract-result#bind> ;
owl:someValuesFrom <https://tenet.tetras-libre.fr/extract-result#system> ],
<https://tenet.tetras-libre.fr/extract-result#gravitation> ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#hasManner> a owl:ObjectProperty ;
rdfs:label "hasManner" ;
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-SSC-01-01> a owl:Individual,
<https://tenet.tetras-libre.fr/extract-result#object> ;
rdfs:label "any object" ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#object-orbit-hasManner-direct-sun> a owl:Class ;
rdfs:subClassOf [ a owl:Restriction ;
owl:onProperty <https://tenet.tetras-libre.fr/extract-result#orbit-hasManner-direct> ;
owl:someValuesFrom <https://tenet.tetras-libre.fr/extract-result#sun> ],
<https://tenet.tetras-libre.fr/extract-result#object> ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#object-orbit-hasManner-not-direct-sun> a owl:Class ;
rdfs:subClassOf [ a owl:Restriction ;
owl:onProperty <https://tenet.tetras-libre.fr/extract-result#orbit-hasManner-not-direct> ;
owl:someValuesFrom <https://tenet.tetras-libre.fr/extract-result#sun> ],
<https://tenet.tetras-libre.fr/extract-result#object> ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#sun-SSC-01-01> a owl:Individual,
<https://tenet.tetras-libre.fr/extract-result#sun> ;
rdfs:label "any sun" ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#bind> a owl:ObjectProperty ;
rdfs:label "bind" ;
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:Entity ;
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" .
<https://tenet.tetras-libre.fr/extract-result#orbit-hasManner-not-direct> a owl:ObjectProperty ;
rdfs:subPropertyOf <https://tenet.tetras-libre.fr/extract-result#orbit> ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#system-hasPart-object> a owl:Class ;
rdfs:subClassOf [ a owl:Restriction ;
owl:onProperty <https://tenet.tetras-libre.fr/extract-result#hasPart> ;
owl:someValuesFrom <https://tenet.tetras-libre.fr/extract-result#object> ],
<https://tenet.tetras-libre.fr/extract-result#system> ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun> a owl:Class ;
rdfs:subClassOf [ a owl:Restriction ;
owl:onProperty <https://tenet.tetras-libre.fr/extract-result#hasPart> ;
owl:someValuesFrom <https://tenet.tetras-libre.fr/extract-result#sun> ],
<https://tenet.tetras-libre.fr/extract-result#system> ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#hasPart> a owl:ObjectProperty ;
rdfs:label "hasPart" ;
rdfs:subPropertyOf ns1:Out_ObjectProperty ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#orbit> a owl:ObjectProperty ;
rdfs:label "orbit" ;
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:Entity ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#sun> a owl:Class ;
rdfs:label "sun" ;
rdfs:subClassOf ns1:Entity ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#system> a owl:Class ;
rdfs:label "system" ;
rdfs:subClassOf ns1:Entity,
ns1:Undetermined_Thing ;
ns1:fromStructure "SSC-01-01" .
- INFO - [TENET] Extraction Processing
- INFO -
=== Process Initialization ===
- INFO - -- Process Setting
- INFO - ----- Corpus source: /home/lamenji/Workspace/Tetras/tenet/tests/main_tests/test_data/amrDocuments/dev/solar-system-01/ (amr)
- INFO - ----- Base output dir: /home/lamenji/Workspace/Tetras/tenet/tests/main_tests/test_owl_output/SolarSystemDev01-20230906
- INFO - ----- technical dir path: /home/lamenji/Workspace/Tetras/tenet/tests/main_tests/test_owl_output/SolarSystemDev01-20230906/technical-data/
- INFO - ----- Ontology target (id): https://tenet.tetras-libre.fr/demo/01/
- INFO - ----- Current path: /home/lamenji/Workspace/Tetras/tenet/tenet
- DEBUG - ----- Config file: /home/lamenji/Workspace/Tetras/tenet/tenet/owl_amr_config.xml
- DEBUG -
*** Config (Full Parameters) ***
-- Base Parameters
----- config file: /home/lamenji/Workspace/Tetras/tenet/tenet/owl_amr_config.xml
----- uuid: https://tenet.tetras-libre.fr/demo/01/
----- technical base name: tenet.tetras-libre.fr_demo_01
----- source corpus: /home/lamenji/Workspace/Tetras/tenet/tests/main_tests/test_data/amrDocuments/dev/solar-system-01/
----- target reference: base
----- process level: sentence
----- source type: amr
----- extraction scheme: owl_amr_scheme_1
-- Directories
----- base directory: ./
----- structure directory: ./structure/
----- CTS directory: ./scheme/
----- target frame directory: ./../input/targetFrameStructure/
----- input document directory:
----- base output dir: /home/lamenji/Workspace/Tetras/tenet/tests/main_tests/test_owl_output/SolarSystemDev01-20230906
----- output directory: /home/lamenji/Workspace/Tetras/tenet/tests/main_tests/test_owl_output/SolarSystemDev01-20230906/tenet.tetras-libre.fr_demo_01-20230906/
----- sentence output directory: /home/lamenji/Workspace/Tetras/tenet/tests/main_tests/test_owl_output/SolarSystemDev01-20230906/technical-data/
----- technical dir path: /home/lamenji/Workspace/Tetras/tenet/tests/main_tests/test_owl_output/SolarSystemDev01-20230906/technical-data/
-- Config File Definition
----- schema file: ./structure/amr-rdf-schema.ttl
----- semantic net file: ./structure/owl-snet-schema.ttl
----- config param file: ./structure/config-parameters.ttl
----- base ontology file: ./structure/base-ontology.ttl
----- CTS file: ./scheme/owl_amr_scheme_1.py
-- Useful References for Ontology
----- base URI: https://tenet.tetras-libre.fr/working
----- ontology suffix: -ontology.ttl
----- ontology seed suffix: -ontology-seed.ttl
-- Source File Definition
----- source sentence file: /home/lamenji/Workspace/Tetras/tenet/tests/main_tests/test_data/amrDocuments/dev/solar-system-01/**/*.ttl
-- Target File Definition
----- frame ontology file: ./../input/targetFrameStructure/base-ontology.ttl
----- frame ontology seed file: ./../input/targetFrameStructure/base-ontology-seed.ttl
-- Output
----- ontology namespace: https://tenet.tetras-libre.fr/base-ontology/
----- output file: /home/lamenji/Workspace/Tetras/tenet/tests/main_tests/test_owl_output/SolarSystemDev01-20230906/technical-data/tenet.tetras-libre.fr_demo_01.ttl
*** - ***
- DEBUG - -- Counting number of graph files (sentences)
- INFO - ----- Number of Graphs: 1
- INFO -
=== Extraction Processing ===
- INFO - Single-Processing Run
- INFO -
[P-1] *** extraction from sentence 1 ***
- INFO - [P-1] -- Work Structure Preparation
- DEBUG - [P-1] --- Graph Initialization
- DEBUG - [P-1] ----- Configuration Loading
- DEBUG - [P-1] -------- RDF Schema (320)
- DEBUG - [P-1] -------- Semantic Net Definition (488)
- DEBUG - [P-1] -------- Config Parameter Definition (522)
- DEBUG - [P-1] ----- Frame Ontology Loading
- DEBUG - [P-1] -------- Base Ontology produced as output (552)
- DEBUG - [P-1] --- Source Data Import
- DEBUG - [P-1] ----- Sentence Loading
- DEBUG - [P-1] -------- /home/lamenji/Workspace/Tetras/tenet/tests/main_tests/test_data/amrDocuments/dev/solar-system-01/SSC-01-01.stog.amr.ttl (600)
- DEBUG - [P-1] --- Export work graph as turtle
- DEBUG - [P-1] ----- Work graph file: /home/lamenji/Workspace/Tetras/tenet/tests/main_tests/test_owl_output/SolarSystemDev01-20230906/technical-data/tenet.tetras-libre.fr_demo_01-1/tenet.tetras-libre.fr_demo_01.ttl
- INFO - [P-1] ----- Sentence (id): SSC-01-01
- INFO - [P-1] ----- Sentence (text): The Solar System is the gravitationally bound system of the Sun and the objects that orbit it, either directly or indirectly.
- INFO - [P-1] -- Loading Extraction Scheme (owl_amr_scheme_1)
- DEBUG - [P-1] ----- Step number: 3
- INFO - [P-1] -- Loading Extraction Rules (amr_master_rule/*)
- DEBUG - [P-1] ----- Total rule number: 0
- INFO - [P-1] -- Step 1: Preprocessing
- INFO - [P-1] --- Sequence: Bug fixing for some known anomalies of AMR-LD data
- INFO - [P-1] ----- fix AMR bug (1): 5/5 new triples (605, 0:00:00.015620)
- INFO - [P-1] --- Sequence: AMR reification from AMR-Linked-Data to AMR (tenet) structure
- INFO - [P-1] ----- reclassify AMR-LD concept (1): 10/10 new triples (615, 0:00:00.085073)
- DEBUG - [P-1] ----- reclassify AMR-LD concept (2): 0/0 new triple (615, 0:00:00.049408)
- INFO - [P-1] ----- reclassify AMR-LD concept (3): 12/12 new triples (627, 0:00:00.030799)
- INFO - [P-1] ----- reclassify AMR-LD concept (4): 16/16 new triples (643, 0:00:00.049864)
- INFO - [P-1] ----- reclassify AMR-LD concept (5): 2/4 new triples (645, 0:00:00.027882)
- INFO - [P-1] ----- reify roles as concept: 10/10 new triples (655, 0:00:00.039276)
- INFO - [P-1] ----- reclassify existing variable: 45/45 new triples (700, 0:00:00.021072)
- INFO - [P-1] ----- add new variable for reified concept: 8/8 new triples (708, 0:00:00.047295)
- INFO - [P-1] ----- add AMR leaf for reclassified concept: 33/33 new triples (741, 0:00:00.018441)
- INFO - [P-1] ----- add AMR leaf for reified concept: 8/8 new triples (749, 0:00:00.014258)
- INFO - [P-1] ----- add AMR edge for core relation: 27/27 new triples (776, 0:00:00.083836)
- INFO - [P-1] ----- add AMR edge for reified concept: 12/12 new triples (788, 0:00:00.068741)
- INFO - [P-1] ----- add AMR edge for name relation: 5/5 new triples (793, 0:00:00.018140)
- DEBUG - [P-1] ----- add AMR edge for quant relation: 0/0 new triple (793, 0:00:00.024061)
- INFO - [P-1] ----- add AMR edge for polarity relation: 5/5 new triples (798, 0:00:00.027029)
- INFO - [P-1] ----- update AMR edge role 1: 15/15 new triples (813, 0:00:00.071808)
- INFO - [P-1] ----- add AMR root: 5/5 new triples (818, 0:00:00.010238)
- DEBUG - [P-1] --- Serializing graph to tenet.tetras-libre.fr_demo_01_Preprocessing
- DEBUG - [P-1] ----- step: Preprocessing
- DEBUG - [P-1] ----- id: https://tenet.tetras-libre.fr/demo/01/
- DEBUG - [P-1] ----- work_file: /home/lamenji/Workspace/Tetras/tenet/tests/main_tests/test_owl_output/SolarSystemDev01-20230906/technical-data/tenet.tetras-libre.fr_demo_01-1/tenet.tetras-libre.fr_demo_01_Preprocessing.ttl
- DEBUG - [P-1] ----- base: http://https://tenet.tetras-libre.fr/demo/01//Preprocessing
- INFO - [P-1] ----- 218 triples extracted during Preprocessing step
- INFO - [P-1] -- Step 2: Transduction
- INFO - [P-1] --- Sequence: atomic extraction sequence
- INFO - [P-1] ----- extract atom classes: 30/30 new triples (848, 0:00:00.147829)
- INFO - [P-1] ----- extract atom individuals: 8/8 new triples (856, 0:00:00.043447)
- INFO - [P-1] ----- extract atomic properties: 75/75 new triples (931, 0:00:00.205234)
- INFO - [P-1] ----- extract atom values: 10/10 new triples (941, 0:00:00.057538)
- INFO - [P-1] ----- extract atom phenomena: 14/14 new triples (955, 0:00:00.063343)
- INFO - [P-1] ----- propagate atom relations: 24/68 new triples (979, 0:00:01.005282)
- INFO - [P-1] --- Sequence: classification sequence (1)
- DEBUG - [P-1] ----- classify modality phenomena: 0/0 new triple (979, 0:00:00.020802)
- INFO - [P-1] ----- reclassify argument property to class: 11/14 new triples (990, 0:00:00.065016)
- INFO - [P-1] --- Sequence: phenomena analyze sequence (1)
- INFO - [P-1] ----- analyze "polarity" phenomena (1): 32/36 new triples (1022, 0:00:00.101273)
- DEBUG - [P-1] ----- analyze "polarity" phenomena (2): 0/0 new triple (1022, 0:00:00.017251)
- DEBUG - [P-1] ----- analyze "polarity" phenomena (3): 0/0 new triple (1022, 0:00:00.018228)
- DEBUG - [P-1] ----- analyze "polarity" phenomena (4): 0/0 new triple (1022, 0:00:00.037989)
- DEBUG - [P-1] ----- analyze "polarity" phenomena (5): 0/0 new triple (1022, 0:00:00.039996)
- DEBUG - [P-1] ----- analyze modifier phenomena (mod): 0/0 new triple (1022, 0:00:00.010478)
- DEBUG - [P-1] ----- classify modality phenomena: 0/0 new triple (1022, 0:00:00.020166)
- INFO - [P-1] --- Sequence: phenomena analyze sequence (2)
- INFO - [P-1] ----- analyze "or" phenomena (1): 1/1 new triple (1023, 0:00:00.075612)
- INFO - [P-1] ----- analyze "or" phenomena (2): 55/82 new triples (1078, 0:00:00.266134)
- INFO - [P-1] ----- analyze "and" phenomena (1): 2/14 new triples (1080, 0:00:00.151265)
- DEBUG - [P-1] ----- analyze "and" phenomena (2): 0/0 new triple (1080, 0:00:00.011186)
- INFO - [P-1] --- Sequence: composite class extraction sequence
- INFO - [P-1] ----- extract composite classes (1): 127/138 new triples (1207, 0:00:00.508342)
- DEBUG - [P-1] ----- extract composite classes (2): 0/0 new triple (1207, 0:00:00.030570)
- INFO - [P-1] --- Sequence: classification sequence (2)
- INFO - [P-1] ----- classify class net as entity from core arguments: 10/181 new triples (1217, 0:00:00.255949)
- DEBUG - [P-1] ----- classify class net as entity from :part relation: 0/0 new triple (1217, 0:00:00.009253)
- DEBUG - [P-1] ----- classify class net as entity from degree arguments: 0/0 new triple (1217, 0:00:00.017830)
- INFO - [P-1] ----- Associate mother to class net from :domain relation: 5/34 new triples (1222, 0:00:00.077896)
- DEBUG - [P-1] ----- Propagate individuals to net with same base node: 0/10 new triple (1222, 0:00:00.025623)
- INFO - [P-1] ----- Propagate individuals to net with domain link: 3/60 new triples (1225, 0:00:00.114215)
- INFO - [P-1] --- Sequence: heuristic dedeuction sequence
- INFO - [P-1] ----- deduce individual and relation from restriction: 40/40 new triples (1265, 0:00:00.215058)
- DEBUG - [P-1] --- Serializing graph to tenet.tetras-libre.fr_demo_01_Transduction
- DEBUG - [P-1] ----- step: Transduction
- DEBUG - [P-1] ----- id: https://tenet.tetras-libre.fr/demo/01/
- DEBUG - [P-1] ----- work_file: /home/lamenji/Workspace/Tetras/tenet/tests/main_tests/test_owl_output/SolarSystemDev01-20230906/technical-data/tenet.tetras-libre.fr_demo_01-1/tenet.tetras-libre.fr_demo_01_Transduction.ttl
- DEBUG - [P-1] ----- base: http://https://tenet.tetras-libre.fr/demo/01//Transduction
- INFO - [P-1] ----- 447 triples extracted during Transduction step
- INFO - [P-1] -- Step 3: Generation
- INFO - [P-1] --- Sequence: OWL Generation Sequence
- INFO - [P-1] ----- generate OWL class: 52/55 new triples (1317, 0:00:00.554421)
- INFO - [P-1] ----- generate OWL property: 29/29 new triples (1346, 0:00:00.297564)
- INFO - [P-1] ----- generate OWL individual: 14/15 new triples (1360, 0:00:00.155865)
- DEBUG - [P-1] --- Serializing graph to tenet.tetras-libre.fr_demo_01_Generation
- DEBUG - [P-1] ----- step: Generation
- DEBUG - [P-1] ----- id: https://tenet.tetras-libre.fr/demo/01/
- DEBUG - [P-1] ----- work_file: /home/lamenji/Workspace/Tetras/tenet/tests/main_tests/test_owl_output/SolarSystemDev01-20230906/technical-data/tenet.tetras-libre.fr_demo_01-1/tenet.tetras-libre.fr_demo_01_Generation.ttl
- DEBUG - [P-1] ----- base: http://https://tenet.tetras-libre.fr/demo/01//Generation
- INFO - [P-1] ----- 95 triples extracted during Generation step
- DEBUG - [P-1] --- Serializing graph to factoid file (/home/lamenji/Workspace/Tetras/tenet/tests/main_tests/test_owl_output/SolarSystemDev01-20230906/technical-data/tenet.tetras-libre.fr_demo_01-1/tenet.tetras-libre.fr_demo_01_factoid.ttl)
- DEBUG - [P-1] ----- Number of factoids: 99
- DEBUG - [P-1] ----- Graph base: http://https://tenet.tetras-libre.fr/demo/01//factoid
- INFO - [P-1] Success (99 extracted triple(s))
- INFO -
=== Final Ontology Generation ===
- INFO - -- Making complete factoid graph by merging the result factoids
- INFO - ----- Total factoid number: 99
- INFO - -- Serializing graph to factoid string
- INFO - ----- Graph base: http://https://tenet.tetras-libre.fr/demo/01//factoid
- INFO - -- Serializing graph to factoid file
- INFO - ----- Ontology Turtle File: /home/lamenji/Workspace/Tetras/tenet/tests/main_tests/test_owl_output/SolarSystemDev01-20230906/SolarSystemDev01_factoid.ttl
- INFO -
=== Done ===
@prefix ns1: <https://tenet.tetras-libre.fr/base-ontology#> .
@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#SolarSystem> a owl:Individual,
<https://tenet.tetras-libre.fr/extract-result#system>,
<https://tenet.tetras-libre.fr/extract-result#system-hasPart-object>,
<https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun> ;
rdfs:label "SolarSystem" ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#direct> a owl:ObjectProperty ;
rdfs:label "direct" ;
rdfs:subPropertyOf ns1:Out_ObjectProperty ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#gravitation-bind-system> a owl:Class ;
rdfs:subClassOf [ a owl:Restriction ;
owl:onProperty <https://tenet.tetras-libre.fr/extract-result#bind> ;
owl:someValuesFrom <https://tenet.tetras-libre.fr/extract-result#system> ],
<https://tenet.tetras-libre.fr/extract-result#gravitation> ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#hasManner> a owl:ObjectProperty ;
rdfs:label "hasManner" ;
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-SSC-01-01> a owl:Individual,
<https://tenet.tetras-libre.fr/extract-result#object> ;
rdfs:label "any object" ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#object-orbit-hasManner-direct-sun> a owl:Class ;
rdfs:subClassOf [ a owl:Restriction ;
owl:onProperty <https://tenet.tetras-libre.fr/extract-result#orbit-hasManner-direct> ;
owl:someValuesFrom <https://tenet.tetras-libre.fr/extract-result#sun> ],
<https://tenet.tetras-libre.fr/extract-result#object> ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#object-orbit-hasManner-not-direct-sun> a owl:Class ;
rdfs:subClassOf [ a owl:Restriction ;
owl:onProperty <https://tenet.tetras-libre.fr/extract-result#orbit-hasManner-not-direct> ;
owl:someValuesFrom <https://tenet.tetras-libre.fr/extract-result#sun> ],
<https://tenet.tetras-libre.fr/extract-result#object> ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#sun-SSC-01-01> a owl:Individual,
<https://tenet.tetras-libre.fr/extract-result#sun> ;
rdfs:label "any sun" ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#bind> a owl:ObjectProperty ;
rdfs:label "bind" ;
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:Entity ;
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" .
<https://tenet.tetras-libre.fr/extract-result#orbit-hasManner-not-direct> a owl:ObjectProperty ;
rdfs:subPropertyOf <https://tenet.tetras-libre.fr/extract-result#orbit> ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#system-hasPart-object> a owl:Class ;
rdfs:subClassOf [ a owl:Restriction ;
owl:onProperty <https://tenet.tetras-libre.fr/extract-result#hasPart> ;
owl:someValuesFrom <https://tenet.tetras-libre.fr/extract-result#object> ],
<https://tenet.tetras-libre.fr/extract-result#system> ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun> a owl:Class ;
rdfs:subClassOf [ a owl:Restriction ;
owl:onProperty <https://tenet.tetras-libre.fr/extract-result#hasPart> ;
owl:someValuesFrom <https://tenet.tetras-libre.fr/extract-result#sun> ],
<https://tenet.tetras-libre.fr/extract-result#system> ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#hasPart> a owl:ObjectProperty ;
rdfs:label "hasPart" ;
rdfs:subPropertyOf ns1:Out_ObjectProperty ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#orbit> a owl:ObjectProperty ;
rdfs:label "orbit" ;
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:Entity ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#sun> a owl:Class ;
rdfs:label "sun" ;
rdfs:subClassOf ns1:Entity ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#system> a owl:Class ;
rdfs:label "system" ;
rdfs:subClassOf ns1:Entity,
ns1:Undetermined_Thing ;
ns1:fromStructure "SSC-01-01" .
@prefix ns1: <https://tenet.tetras-libre.fr/base-ontology#> .
@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#SolarSystem> a owl:Individual,
<https://tenet.tetras-libre.fr/extract-result#system>,
<https://tenet.tetras-libre.fr/extract-result#system-hasPart-object>,
<https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun> ;
rdfs:label "SolarSystem" ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#direct> a owl:ObjectProperty ;
rdfs:label "direct" ;
rdfs:subPropertyOf ns1:Out_ObjectProperty ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#gravitation-bind-system> a owl:Class ;
rdfs:subClassOf [ a owl:Restriction ;
owl:onProperty <https://tenet.tetras-libre.fr/extract-result#bind> ;
owl:someValuesFrom <https://tenet.tetras-libre.fr/extract-result#system> ],
<https://tenet.tetras-libre.fr/extract-result#gravitation> ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#hasManner> a owl:ObjectProperty ;
rdfs:label "hasManner" ;
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-SSC-01-01> a owl:Individual,
<https://tenet.tetras-libre.fr/extract-result#object> ;
rdfs:label "any object" ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#object-orbit-hasManner-direct-sun> a owl:Class ;
rdfs:subClassOf [ a owl:Restriction ;
owl:onProperty <https://tenet.tetras-libre.fr/extract-result#orbit-hasManner-direct> ;
owl:someValuesFrom <https://tenet.tetras-libre.fr/extract-result#sun> ],
<https://tenet.tetras-libre.fr/extract-result#object> ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#object-orbit-hasManner-not-direct-sun> a owl:Class ;
rdfs:subClassOf [ a owl:Restriction ;
owl:onProperty <https://tenet.tetras-libre.fr/extract-result#orbit-hasManner-not-direct> ;
owl:someValuesFrom <https://tenet.tetras-libre.fr/extract-result#sun> ],
<https://tenet.tetras-libre.fr/extract-result#object> ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#sun-SSC-01-01> a owl:Individual,
<https://tenet.tetras-libre.fr/extract-result#sun> ;
rdfs:label "any sun" ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#bind> a owl:ObjectProperty ;
rdfs:label "bind" ;
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:Entity ;
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" .
<https://tenet.tetras-libre.fr/extract-result#orbit-hasManner-not-direct> a owl:ObjectProperty ;
rdfs:subPropertyOf <https://tenet.tetras-libre.fr/extract-result#orbit> ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#system-hasPart-object> a owl:Class ;
rdfs:subClassOf [ a owl:Restriction ;
owl:onProperty <https://tenet.tetras-libre.fr/extract-result#hasPart> ;
owl:someValuesFrom <https://tenet.tetras-libre.fr/extract-result#object> ],
<https://tenet.tetras-libre.fr/extract-result#system> ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun> a owl:Class ;
rdfs:subClassOf [ a owl:Restriction ;
owl:onProperty <https://tenet.tetras-libre.fr/extract-result#hasPart> ;
owl:someValuesFrom <https://tenet.tetras-libre.fr/extract-result#sun> ],
<https://tenet.tetras-libre.fr/extract-result#system> ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#hasPart> a owl:ObjectProperty ;
rdfs:label "hasPart" ;
rdfs:subPropertyOf ns1:Out_ObjectProperty ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#orbit> a owl:ObjectProperty ;
rdfs:label "orbit" ;
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:Entity ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#sun> a owl:Class ;
rdfs:label "sun" ;
rdfs:subClassOf ns1:Entity ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#system> a owl:Class ;
rdfs:label "system" ;
rdfs:subClassOf ns1:Entity,
ns1:Undetermined_Thing ;
ns1:fromStructure "SSC-01-01" .
- INFO - [TENET] Extraction Processing
- INFO -
=== Process Initialization ===
- INFO - -- Process Setting
- INFO - ----- Corpus source: /home/lamenji/Workspace/Tetras/tenet/tests/main_tests/test_data/amrDocuments/dev/solar-system-01/ (amr)
- INFO - ----- Base output dir: /home/lamenji/Workspace/Tetras/tenet/tests/main_tests/test_owl_output/SolarSystemDev01-20230907
- INFO - ----- technical dir path: /home/lamenji/Workspace/Tetras/tenet/tests/main_tests/test_owl_output/SolarSystemDev01-20230907/technical-data/
- INFO - ----- Ontology target (id): https://tenet.tetras-libre.fr/demo/01/
- INFO - ----- Current path: /home/lamenji/Workspace/Tetras/tenet/tenet
- DEBUG - ----- Config file: /home/lamenji/Workspace/Tetras/tenet/tenet/owl_amr_config.xml
- DEBUG -
*** Config (Full Parameters) ***
-- Base Parameters
----- config file: /home/lamenji/Workspace/Tetras/tenet/tenet/owl_amr_config.xml
----- uuid: https://tenet.tetras-libre.fr/demo/01/
----- technical base name: tenet.tetras-libre.fr_demo_01
----- source corpus: /home/lamenji/Workspace/Tetras/tenet/tests/main_tests/test_data/amrDocuments/dev/solar-system-01/
----- target reference: base
----- process level: sentence
----- source type: amr
----- extraction scheme: owl_amr_scheme_1
-- Directories
----- base directory: ./
----- structure directory: ./structure/
----- CTS directory: ./scheme/
----- target frame directory: ./../input/targetFrameStructure/
----- input document directory:
----- base output dir: /home/lamenji/Workspace/Tetras/tenet/tests/main_tests/test_owl_output/SolarSystemDev01-20230907
----- output directory: /home/lamenji/Workspace/Tetras/tenet/tests/main_tests/test_owl_output/SolarSystemDev01-20230907/tenet.tetras-libre.fr_demo_01-20230907/
----- sentence output directory: /home/lamenji/Workspace/Tetras/tenet/tests/main_tests/test_owl_output/SolarSystemDev01-20230907/technical-data/
----- technical dir path: /home/lamenji/Workspace/Tetras/tenet/tests/main_tests/test_owl_output/SolarSystemDev01-20230907/technical-data/
-- Config File Definition
----- schema file: ./structure/amr-rdf-schema.ttl
----- semantic net file: ./structure/owl-snet-schema.ttl
----- config param file: ./structure/config-parameters.ttl
----- base ontology file: ./structure/base-ontology.ttl
----- CTS file: ./scheme/owl_amr_scheme_1.py
-- Useful References for Ontology
----- base URI: https://tenet.tetras-libre.fr/working
----- ontology suffix: -ontology.ttl
----- ontology seed suffix: -ontology-seed.ttl
-- Source File Definition
----- source sentence file: /home/lamenji/Workspace/Tetras/tenet/tests/main_tests/test_data/amrDocuments/dev/solar-system-01/**/*.ttl
-- Target File Definition
----- frame ontology file: ./../input/targetFrameStructure/base-ontology.ttl
----- frame ontology seed file: ./../input/targetFrameStructure/base-ontology-seed.ttl
-- Output
----- ontology namespace: https://tenet.tetras-libre.fr/base-ontology/
----- output file: /home/lamenji/Workspace/Tetras/tenet/tests/main_tests/test_owl_output/SolarSystemDev01-20230907/technical-data/tenet.tetras-libre.fr_demo_01.ttl
*** - ***
- DEBUG - -- Counting number of graph files (sentences)
- INFO - ----- Number of Graphs: 1
- INFO -
=== Extraction Processing ===
- INFO - Single-Processing Run
- INFO -
[P-1] *** extraction from sentence 1 ***
- INFO - [P-1] -- Work Structure Preparation
- DEBUG - [P-1] --- Graph Initialization
- DEBUG - [P-1] ----- Configuration Loading
- DEBUG - [P-1] -------- RDF Schema (320)
- DEBUG - [P-1] -------- Semantic Net Definition (488)
- DEBUG - [P-1] -------- Config Parameter Definition (522)
- DEBUG - [P-1] ----- Frame Ontology Loading
- DEBUG - [P-1] -------- Base Ontology produced as output (552)
- DEBUG - [P-1] --- Source Data Import
- DEBUG - [P-1] ----- Sentence Loading
- DEBUG - [P-1] -------- /home/lamenji/Workspace/Tetras/tenet/tests/main_tests/test_data/amrDocuments/dev/solar-system-01/SSC-01-01.stog.amr.ttl (600)
- DEBUG - [P-1] --- Export work graph as turtle
- DEBUG - [P-1] ----- Work graph file: /home/lamenji/Workspace/Tetras/tenet/tests/main_tests/test_owl_output/SolarSystemDev01-20230907/technical-data/tenet.tetras-libre.fr_demo_01-1/tenet.tetras-libre.fr_demo_01.ttl
- INFO - [P-1] ----- Sentence (id): SSC-01-01
- INFO - [P-1] ----- Sentence (text): The Solar System is the gravitationally bound system of the Sun and the objects that orbit it, either directly or indirectly.
- INFO - [P-1] -- Loading Extraction Scheme (owl_amr_scheme_1)
- DEBUG - [P-1] ----- Step number: 3
- INFO - [P-1] -- Loading Extraction Rules (amr_master_rule/*)
- DEBUG - [P-1] ----- Total rule number: 0
- INFO - [P-1] -- Step 1: Preprocessing
- INFO - [P-1] --- Sequence: Bug fixing for some known anomalies of AMR-LD data
- INFO - [P-1] ----- fix AMR bug (1): 5/5 new triples (605, 0:00:00.032567)
- INFO - [P-1] --- Sequence: AMR reification from AMR-Linked-Data to AMR (tenet) structure
- INFO - [P-1] ----- reclassify AMR-LD concept (1): 10/10 new triples (615, 0:00:00.148893)
- DEBUG - [P-1] ----- reclassify AMR-LD concept (2): 0/0 new triple (615, 0:00:00.086849)
- INFO - [P-1] ----- reclassify AMR-LD concept (3): 12/12 new triples (627, 0:00:00.048743)
- INFO - [P-1] ----- reclassify AMR-LD concept (4): 16/16 new triples (643, 0:00:00.088739)
- INFO - [P-1] ----- reclassify AMR-LD concept (5): 2/4 new triples (645, 0:00:00.051627)
- INFO - [P-1] ----- reify roles as concept: 10/10 new triples (655, 0:00:00.072283)
- INFO - [P-1] ----- reclassify existing variable: 45/45 new triples (700, 0:00:00.092468)
- INFO - [P-1] ----- add new variable for reified concept: 8/8 new triples (708, 0:00:00.065668)
- INFO - [P-1] ----- add AMR leaf for reclassified concept: 33/33 new triples (741, 0:00:00.020561)
- INFO - [P-1] ----- add AMR leaf for reified concept: 8/8 new triples (749, 0:00:00.013074)
- INFO - [P-1] ----- add AMR edge for core relation: 27/27 new triples (776, 0:00:00.089648)
- INFO - [P-1] ----- add AMR edge for reified concept: 12/12 new triples (788, 0:00:00.064984)
- INFO - [P-1] ----- add AMR edge for name relation: 5/5 new triples (793, 0:00:00.020700)
- DEBUG - [P-1] ----- add AMR edge for quant relation: 0/0 new triple (793, 0:00:00.028528)
- INFO - [P-1] ----- add AMR edge for polarity relation: 5/5 new triples (798, 0:00:00.046143)
- INFO - [P-1] ----- update AMR edge role 1: 15/15 new triples (813, 0:00:00.086301)
- INFO - [P-1] ----- add AMR root: 5/5 new triples (818, 0:00:00.012268)
- DEBUG - [P-1] --- Serializing graph to tenet.tetras-libre.fr_demo_01_Preprocessing
- DEBUG - [P-1] ----- step: Preprocessing
- DEBUG - [P-1] ----- id: https://tenet.tetras-libre.fr/demo/01/
- DEBUG - [P-1] ----- work_file: /home/lamenji/Workspace/Tetras/tenet/tests/main_tests/test_owl_output/SolarSystemDev01-20230907/technical-data/tenet.tetras-libre.fr_demo_01-1/tenet.tetras-libre.fr_demo_01_Preprocessing.ttl
- DEBUG - [P-1] ----- base: http://https://tenet.tetras-libre.fr/demo/01//Preprocessing
- INFO - [P-1] ----- 218 triples extracted during Preprocessing step
- INFO - [P-1] -- Step 2: Transduction
- INFO - [P-1] --- Sequence: atomic extraction sequence
- INFO - [P-1] ----- extract atom classes: 30/30 new triples (848, 0:00:00.183850)
- INFO - [P-1] ----- extract atom individuals: 8/8 new triples (856, 0:00:00.057230)
- INFO - [P-1] ----- extract atomic properties: 75/75 new triples (931, 0:00:00.215462)
- INFO - [P-1] ----- extract atom values: 10/10 new triples (941, 0:00:00.052401)
- INFO - [P-1] ----- extract atom phenomena: 14/14 new triples (955, 0:00:00.079278)
- INFO - [P-1] ----- propagate atom relations: 24/68 new triples (979, 0:00:00.966830)
- INFO - [P-1] --- Sequence: classification sequence (1)
- DEBUG - [P-1] ----- classify modality phenomena: 0/0 new triple (979, 0:00:00.020232)
- INFO - [P-1] ----- reclassify argument property to class: 11/14 new triples (990, 0:00:00.071110)
- INFO - [P-1] --- Sequence: phenomena analyze sequence (1)
- INFO - [P-1] ----- analyze "polarity" phenomena (1): 32/36 new triples (1022, 0:00:00.098591)
- DEBUG - [P-1] ----- analyze "polarity" phenomena (2): 0/0 new triple (1022, 0:00:00.017179)
- DEBUG - [P-1] ----- analyze "polarity" phenomena (3): 0/0 new triple (1022, 0:00:00.015483)
- DEBUG - [P-1] ----- analyze "polarity" phenomena (4): 0/0 new triple (1022, 0:00:00.040661)
- DEBUG - [P-1] ----- analyze "polarity" phenomena (5): 0/0 new triple (1022, 0:00:00.038285)
- DEBUG - [P-1] ----- analyze modifier phenomena (mod): 0/0 new triple (1022, 0:00:00.008402)
- DEBUG - [P-1] ----- classify modality phenomena: 0/0 new triple (1022, 0:00:00.020498)
- INFO - [P-1] --- Sequence: phenomena analyze sequence (2)
- INFO - [P-1] ----- analyze "or" phenomena (1): 1/1 new triple (1023, 0:00:00.078090)
- INFO - [P-1] ----- analyze "or" phenomena (2): 55/82 new triples (1078, 0:00:00.261511)
- INFO - [P-1] ----- analyze "and" phenomena (1): 2/14 new triples (1080, 0:00:00.149177)
- DEBUG - [P-1] ----- analyze "and" phenomena (2): 0/0 new triple (1080, 0:00:00.011176)
- INFO - [P-1] --- Sequence: composite class extraction sequence
- INFO - [P-1] ----- extract composite classes (1): 127/138 new triples (1207, 0:00:00.568371)
- DEBUG - [P-1] ----- extract composite classes (2): 0/0 new triple (1207, 0:00:00.031109)
- INFO - [P-1] --- Sequence: classification sequence (2)
- INFO - [P-1] ----- classify class net as entity from core arguments: 10/181 new triples (1217, 0:00:00.255142)
- DEBUG - [P-1] ----- classify class net as entity from :part relation: 0/0 new triple (1217, 0:00:00.009949)
- DEBUG - [P-1] ----- classify class net as entity from degree arguments: 0/0 new triple (1217, 0:00:00.016688)
- INFO - [P-1] ----- Associate mother to class net from :domain relation: 5/34 new triples (1222, 0:00:00.080006)
- DEBUG - [P-1] ----- Propagate individuals to net with same base node: 0/10 new triple (1222, 0:00:00.025253)
- INFO - [P-1] ----- Propagate individuals to net with domain link: 3/60 new triples (1225, 0:00:00.128922)
- INFO - [P-1] --- Sequence: heuristic dedeuction sequence
- INFO - [P-1] ----- deduce individual and relation from restriction: 40/40 new triples (1265, 0:00:00.228320)
- DEBUG - [P-1] --- Serializing graph to tenet.tetras-libre.fr_demo_01_Transduction
- DEBUG - [P-1] ----- step: Transduction
- DEBUG - [P-1] ----- id: https://tenet.tetras-libre.fr/demo/01/
- DEBUG - [P-1] ----- work_file: /home/lamenji/Workspace/Tetras/tenet/tests/main_tests/test_owl_output/SolarSystemDev01-20230907/technical-data/tenet.tetras-libre.fr_demo_01-1/tenet.tetras-libre.fr_demo_01_Transduction.ttl
- DEBUG - [P-1] ----- base: http://https://tenet.tetras-libre.fr/demo/01//Transduction
- INFO - [P-1] ----- 447 triples extracted during Transduction step
- INFO - [P-1] -- Step 3: Generation
- INFO - [P-1] --- Sequence: OWL Generation Sequence
- INFO - [P-1] ----- generate OWL class: 52/55 new triples (1317, 0:00:00.589613)
- INFO - [P-1] ----- generate OWL property: 29/29 new triples (1346, 0:00:00.342292)
- INFO - [P-1] ----- generate OWL individual: 14/15 new triples (1360, 0:00:00.307726)
- DEBUG - [P-1] --- Serializing graph to tenet.tetras-libre.fr_demo_01_Generation
- DEBUG - [P-1] ----- step: Generation
- DEBUG - [P-1] ----- id: https://tenet.tetras-libre.fr/demo/01/
- DEBUG - [P-1] ----- work_file: /home/lamenji/Workspace/Tetras/tenet/tests/main_tests/test_owl_output/SolarSystemDev01-20230907/technical-data/tenet.tetras-libre.fr_demo_01-1/tenet.tetras-libre.fr_demo_01_Generation.ttl
- DEBUG - [P-1] ----- base: http://https://tenet.tetras-libre.fr/demo/01//Generation
- INFO - [P-1] ----- 95 triples extracted during Generation step
- DEBUG - [P-1] --- Serializing graph to factoid file (/home/lamenji/Workspace/Tetras/tenet/tests/main_tests/test_owl_output/SolarSystemDev01-20230907/technical-data/tenet.tetras-libre.fr_demo_01-1/tenet.tetras-libre.fr_demo_01_factoid.ttl)
- DEBUG - [P-1] ----- Number of factoids: 99
- DEBUG - [P-1] ----- Graph base: http://https://tenet.tetras-libre.fr/demo/01//factoid
- INFO - [P-1] Success (99 extracted triple(s))
- INFO -
=== Final Ontology Generation ===
- INFO - -- Making complete factoid graph by merging the result factoids
- INFO - ----- Total factoid number: 99
- INFO - -- Serializing graph to factoid string
- INFO - ----- Graph base: http://https://tenet.tetras-libre.fr/demo/01//factoid
- INFO - -- Serializing graph to factoid file
- INFO - ----- Ontology Turtle File: /home/lamenji/Workspace/Tetras/tenet/tests/main_tests/test_owl_output/SolarSystemDev01-20230907/SolarSystemDev01_factoid.ttl
- INFO -
=== Done ===
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment