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

Update generation CTR

parent e19d4318
No related branches found
No related tags found
No related merge requests found
Showing
with 6197 additions and 109 deletions
......@@ -34,8 +34,9 @@ class ClassNet(Net):
self.type_uri = f'net:{self.type_id}'
# -- Net Attributes
self.attr_list += ['class_name']
self.attr_list += ['class_name', 'class_uri']
self._class_name = None
self._class_uri = None
#--------------------------------------------------------------------------
......@@ -51,3 +52,14 @@ class ClassNet(Net):
@class_name.setter
def class_name(self, new_value):
self._class_name = self.set_attribute_value_list(new_value, produce_literal)
@property
def class_uri(self):
if self._class_uri is None:
self._class_uri = self.get_value_list_from_graph('class_uri')
return self._class_uri
@class_uri.setter
def class_uri(self, new_value):
self._class_uri = self.set_attribute_value_list(new_value, produce_uriref)
......@@ -34,10 +34,11 @@ class IndividualNet(Net):
self.type_uri = f'net:{self.type_id}'
# -- Net Attributes
self.attr_list += ['base_class_name', 'mother_class_net', 'individual_label']
self.attr_list += ['base_class_name', 'mother_class_net', 'individual_label', 'individual_uri']
self._base_class_name = None
self._mother_class_net = []
self._individual_label = None
self._individual_uri = None
#--------------------------------------------------------------------------
......@@ -75,3 +76,14 @@ class IndividualNet(Net):
@individual_label.setter
def individual_label(self, new_value):
self._individual_label = self.set_attribute_value_list(new_value, produce_literal)
@property
def individual_uri(self):
if self._individual_uri is None:
self._individual_uri = self.get_value_list_from_graph('individual_uri')
return self._individual_uri
@individual_uri.setter
def individual_uri(self, new_value):
self._individual_uri = self.set_attribute_value_list(new_value, produce_uriref)
......@@ -34,8 +34,9 @@ class PropertyNet(Net):
self.type_uri = f'net:{self.type_id}'
# -- Net Attributes
self.attr_list += ['property_name']
self.attr_list += ['property_name', 'property_uri']
self._property_name = None
self._property_uri = None
#--------------------------------------------------------------------------
......@@ -51,3 +52,14 @@ class PropertyNet(Net):
@property_name.setter
def property_name(self, new_value):
self._property_name = self.set_attribute_value_list(new_value, produce_literal)
@property
def property_uri(self):
if self._property_uri is None:
self._property_uri = self.get_value_list_from_graph('property_uri')
return self._property_uri
@property_uri.setter
def property_uri(self, new_value):
self._property_uri = self.set_attribute_value_list(new_value, produce_uriref)
......@@ -73,7 +73,12 @@ class SemanticNetReferenceHandle:
# Axiom Net
'axiom_name': 'hasAxiomName',
'axiom_uri': 'hasAxiomURI',
'axiom_net_argument': 'hasNetArgument'
'axiom_net_argument': 'hasNetArgument',
# URI for OWL declaration
'class_uri': 'hasClassURI',
'property_uri': 'hasPropertyURI',
'individual_uri': 'hasIndividualURI'
}
......
......@@ -137,6 +137,25 @@ rule_set['compute-uri-for-owl-declaration-6'] = {
"""
}
rule_set['compute-uri-for-owl-declaration-7'] = {
'label': "compute-uri-for-owl-declaration-7",
'comment': ("Compute URI for OWL declaration: ",
" URI of mother properties "),
'construction': """
?motherPropertyNet net:hasPropertyURI ?newPropertyUri.
""",
'clause': """
?net1 a [rdfs:subClassOf* net:Property_Net] ;
net:hasMotherPropertyNet ?motherPropertyNet.
?motherPropertyNet a [rdfs:subClassOf* net:Property_Net] ;
net:hasPropertyName ?motherPropertyName.
""",
'binding': """
BIND (CONCAT(str(ext-out:), str(?motherPropertyName)) AS ?c1).
BIND (uri(?c1) AS ?newPropertyUri).
"""
}
# *** New Net *** URI from Naming attribute
rule_set['compute-uri-for-owl-declaration-101'] = {
......@@ -158,6 +177,25 @@ rule_set['compute-uri-for-owl-declaration-101'] = {
"""
}
rule_set['compute-uri-for-owl-declaration-102'] = {
'label': "compute-uri-for-owl-declaration-102",
'comment': ("Compute URI for OWL declaration: ",
" URI of mother properties (from Naming) "),
'construction': """
?motherPropertyNet net:hasPropertyURI ?newPropertyUri.
""",
'clause': """
?net1 a [rdfs:subClassOf* net:Property_Net] ;
net:hasMotherPropertyNet ?motherPropertyNet.
?motherPropertyNet a [rdfs:subClassOf* net:Property_Net] ;
net:hasNaming ?motherPropertyName.
""",
'binding': """
BIND (CONCAT(str(ext-out:), str(?motherPropertyName)) AS ?c1).
BIND (uri(?c1) AS ?newPropertyUri).
"""
}
# ---------------------------------------------
......
#!/usr/bin/python3.10
# -*-coding:Utf-8 -*
#==============================================================================
# TENET: Rule to conjunctive phenomena or (rule 1)
#------------------------------------------------------------------------------
# Net Expansion AMR rule to analyse conjunctive phenomena (or)
# Rule: property(class, or_phenomena) => compositeClass
#==============================================================================
import rdflib
from rdflib import Graph
import febTransduction as transduction
from febTransduction import net
from febTransduction.query_builder import generate_select_query
from febTransduction.naming_computer import define_axiom_naming
from febTransduction.naming_computer import define_composite_naming_2
#==============================================================================
# Select Pattern: polarity(property, 'negative')
#==============================================================================
POLARITY_RELATION = 'amr:role_polarity'
def __rule_pattern_query_code(graph):
select_data_list = ['?property_net']
clause_list = []
clause_list.append(f'?property_net a [rdfs:subClassOf* net:Property_Net].')
clause_list.append(f'?property_net {POLARITY_RELATION} ?value_net.')
clause_list.append(('?value_net', 'net:hasValueLabel', rdflib.term.Literal('negative')))
query_code = generate_select_query(graph, select_data_list, clause_list)
return query_code
def __search_pattern(graph):
query_code = __rule_pattern_query_code(graph)
rule_pattern_set = graph.query(query_code)
return rule_pattern_set
#==============================================================================
# Relation Propagation
#==============================================================================
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 Methods: construction of composite class net
#==============================================================================
def __construct_disjoint_axiom_net(graph, property_net_1, property_net_2):
axiom_net = net.AxiomNet(graph)
axiom_net.compose(property_net_1, property_net_2)
# -- Data Computation
axiom_net.axiom_name = 'disjointProperty'
axiom_net.axiom_uri = 'owl:propertyDisjointWith'
axiom_net.axiom_net_argument = [property_net_1.uri, property_net_2.uri]
# -- Relation Propagation: None
# -- Net Naming
arg_net_list = [property_net_1, property_net_2]
axiom_net.naming = define_axiom_naming(axiom_net, arg_net_list)
# -- Finalization
axiom_net.finalize()
triple_list = axiom_net.generate_triple_definition()
return axiom_net, triple_list
def __construct_negative_property_net(graph, property_net_1):
# -- Net Composition
composite_property_net = net.CompositePropertyNet(graph)
composite_property_net.compose(property_net_1)
# -- Data Computation
composite_property_net.property_type = 'owl:ObjectProperty'
# -- Restriction Computation
triple_list_1 = []
# restriction_net, triple_list_1 = __construct_restriction_net(graph, property_net_1)
# composite_class_net.restriction = restriction_net.uri
# -- Relation Propagation
__propagate_relation(composite_property_net, property_net_1)
# -- Net Naming
composite_property_net.naming = define_composite_naming_2('not', property_net_1)
# -- Finalization
composite_property_net.finalize()
triple_list_2 = composite_property_net.generate_triple_definition()
result_triple_list = triple_list_1 + triple_list_2
return composite_property_net, result_triple_list
#==============================================================================
# Main Method: analyze_phenomena_or_1
#==============================================================================
def analyze_phenomena_polarity_1(graph):
# -- Rule Initialization
rule_label = '"polarity" phenomena analysis 1 [ polarity(property, "negative") ]'
# -- Search for patterns
rule_pattern_set = __search_pattern(graph)
# -- Selection Analyzing (1)
rule_triple_list = []
for selection_1 in rule_pattern_set:
# -- Net Selection
property_net = net.PropertyNet(graph, uri=selection_1.property_net)
# -- New Negative Property Net
negative_property_net, triple_list_1 = __construct_negative_property_net(graph, property_net)
# -- New Axiom Net
_, triple_list_2 = __construct_disjoint_axiom_net(graph, property_net, negative_property_net)
_, triple_list_3 = __construct_disjoint_axiom_net(graph, negative_property_net, property_net)
# -- Update Rule Triple List
rule_triple_list += triple_list_1 + triple_list_2 + triple_list_3
# -- Deprecation: Origin Class Net
rule_triple_list += property_net.deprecate()
return rule_label, rule_triple_list
\ No newline at end of file
......@@ -247,7 +247,9 @@ main_generation_sequence = {
'compute-uri-for-owl-declaration-4',
'compute-uri-for-owl-declaration-5',
'compute-uri-for-owl-declaration-6',
'compute-uri-for-owl-declaration-7',
'compute-uri-for-owl-declaration-101',
'compute-uri-for-owl-declaration-102',
'generate-atom-class',
'classify-atom-class-1',
'classify-atom-class-2',
......
This diff is collapsed.
@base <http://https://tenet.tetras-libre.fr/demo/01//factoid> .
@prefix ns1: <https://tenet.tetras-libre.fr/base-ontology#> .
@prefix ns2: <https://tenet.tetras-libre.fr/semantic-net#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
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_p ns2:hasClassURI <https://tenet.tetras-libre.fr/extract-result#system> .
ns2:atomClass_system_s ns2:hasClassURI <https://tenet.tetras-libre.fr/extract-result#system> .
ns2:atomProperty_bind_b ns2:hasProperty12URI <https://tenet.tetras-libre.fr/extract-result#bind-of> ;
ns2:hasPropertyURI <https://tenet.tetras-libre.fr/extract-result#bind> .
ns2:atomProperty_direct_d ns2:hasProperty12URI <https://tenet.tetras-libre.fr/extract-result#direct-of> ;
ns2:hasPropertyURI <https://tenet.tetras-libre.fr/extract-result#direct> .
ns2:atomProperty_hasManner_m9 ns2:hasProperty12URI <https://tenet.tetras-libre.fr/extract-result#hasManner> ;
ns2:hasPropertyURI <https://tenet.tetras-libre.fr/extract-result#hasManner> .
ns2:atomProperty_hasPart_p9 ns2:hasProperty12URI <https://tenet.tetras-libre.fr/extract-result#hasPart> ;
ns2:hasPropertyURI <https://tenet.tetras-libre.fr/extract-result#hasPart> .
ns2:atomProperty_orbit_o2 ns2:hasPropertyURI <https://tenet.tetras-libre.fr/extract-result#orbit> .
ns2:compositeClass_gravitation-binding-system-hasPart-sun-and-object_g ns2:hasClassURI <https://tenet.tetras-libre.fr/extract-result#gravitation-binding-system-hasPart-sun-and-object> .
ns2:compositeClass_system-hasPart-sun-and-object-hasPart-object_s ns2:hasClassURI <https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun-and-object-hasPart-object> .
ns2:compositeClass_system-hasPart-sun-and-object-hasPart-sun_s ns2:hasClassURI <https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun-and-object-hasPart-sun> .
ns2:compositeClass_system-hasPart-sun-and-object_s ns2:hasClassURI <https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun-and-object> .
ns2:compositeProperty_not-direct_d2 ns2:hasPropertyURI <https://tenet.tetras-libre.fr/extract-result#not-direct> .
ns2:compositeProperty_orbit-hasManner-direct_o2 ns2:hasPropertyURI <https://tenet.tetras-libre.fr/extract-result#orbit-hasManner-direct> .
ns2:compositeProperty_orbit-hasManner-not-direct_o2 ns2:hasPropertyURI <https://tenet.tetras-libre.fr/extract-result#orbit-hasManner-not-direct> .
ns2:individual_system_SolarSystem ns2:hasIndividualURI <https://tenet.tetras-libre.fr/extract-result#solar-system> .
<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#direct> a owl:ObjectProperty ;
rdfs:label "direct" ;
rdfs:subPropertyOf ns1:Out_ObjectProperty ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#direct-of> a owl:ObjectProperty ;
rdfs:label "direct-of" ;
rdfs:subPropertyOf ns1:Out_ObjectProperty ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#gravitation-binding-system-hasPart-sun-and-object> a owl:Class ;
rdfs:label "gravitation-binding-system-hasPart-sun-and-object" ;
rdfs:subClassOf [ a owl:Restriction ;
owl:onProperty <https://tenet.tetras-libre.fr/extract-result#bind-of> ;
owl:someValuesFrom <https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun-and-object> ],
<https://tenet.tetras-libre.fr/extract-result#gravitation> ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#not-direct> a owl:ObjectProperty ;
rdfs:label "not-direct" ;
rdfs:subPropertyOf ns1:Out_ObjectProperty ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#orbit-hasManner-direct> a owl:ObjectProperty ;
rdfs:label "orbit-hasManner-direct" ;
rdfs:subPropertyOf ns1:Out_ObjectProperty,
<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:label "orbit-hasManner-not-direct" ;
rdfs:subPropertyOf ns1:Out_ObjectProperty,
<https://tenet.tetras-libre.fr/extract-result#orbit> ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#solar-system> a owl:individual,
<https://tenet.tetras-libre.fr/extract-result#system>,
<https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun-and-object>,
<https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun-and-object-hasPart-object>,
<https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun-and-object-hasPart-sun> ;
rdfs:label "Solar System" ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#bind-of> a owl:ObjectProperty ;
rdfs:label "bind-of" ;
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#hasManner> a owl:ObjectProperty ;
rdfs:label "hasManner" ;
rdfs:subPropertyOf ns1:Out_ObjectProperty ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun-and-object-hasPart-object> a owl:Class ;
rdfs:label "system-hasPart-sun-and-object-hasPart-object" ;
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>,
<https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun-and-object> ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun-and-object-hasPart-sun> a owl:Class ;
rdfs:label "system-hasPart-sun-and-object-hasPart-sun" ;
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>,
<https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun-and-object> ;
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#orbit> a owl:ObjectProperty ;
rdfs:label "orbit" ;
rdfs:subPropertyOf ns1:Out_ObjectProperty ;
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-hasPart-sun-and-object> a owl:Class ;
rdfs:label "system-hasPart-sun-and-object" ;
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> ],
[ 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#system> a owl:Class ;
rdfs:label "system" ;
rdfs:subClassOf ns1:Entity ;
ns1:fromStructure "SSC-01-01" .
- DEBUG - ----- Total rule number: 92
- INFO - -- Applying extraction step: preprocessing
- INFO - --- *** November Transduction *** Sequence: amrld-correcting-sequence
- INFO - ----- fix-amr-bug-about-system-solar-planet: 5/5 new triples (630, 0:00:00.038804)
- INFO - --- *** November Transduction *** Sequence: amr-reification-sequence
- INFO - ----- reclassify-concept-1: 10/10 new triples (640, 0:00:00.117236)
- DEBUG - ----- reclassify-concept-2: 0/0 new triple (640, 0:00:00.065532)
- INFO - ----- reclassify-concept-3: 12/12 new triples (652, 0:00:00.041686)
- INFO - ----- reclassify-concept-4: 16/16 new triples (668, 0:00:00.060816)
- INFO - ----- reclassify-concept-5: 2/4 new triples (670, 0:00:00.053734)
- INFO - ----- reify-roles-as-concept: 10/10 new triples (680, 0:00:00.049589)
- INFO - ----- reclassify-existing-variable: 45/45 new triples (725, 0:00:00.031790)
- INFO - ----- add-new-variable-for-reified-concept: 8/8 new triples (733, 0:00:00.058736)
- INFO - ----- add-amr-leaf-for-reclassified-concept: 33/33 new triples (766, 0:00:00.047864)
- INFO - ----- add-amr-leaf-for-reified-concept: 8/8 new triples (774, 0:00:00.035782)
- INFO - ----- add-amr-edge-for-core-relation: 27/27 new triples (801, 0:00:00.137312)
- INFO - ----- add-amr-edge-for-reified-concept: 12/12 new triples (813, 0:00:00.142932)
- INFO - ----- add-amr-edge-for-name-relation: 5/5 new triples (818, 0:00:00.068310)
- DEBUG - ----- add-value-for-quant-relation: 0/0 new triple (818, 0:00:00.071059)
- INFO - ----- add-amr-edge-for-polarity-relation: 5/5 new triples (823, 0:00:00.068878)
- INFO - ----- update-amr-edge-role-1: 15/15 new triples (838, 0:00:00.088637)
- INFO - ----- add-amr-root: 5/5 new triples (843, 0:00:00.025930)
- DEBUG - --- Serializing graph to tenet.tetras-libre.fr_demo_01_preprocessing
- DEBUG - ----- step: preprocessing
- DEBUG - ----- id: https://tenet.tetras-libre.fr/demo/01/
- DEBUG - ----- work_file: /home/lamenji/Workspace/Tetras/tenet/tests/output/SolarSystemDev01-20230316/technical-data/tenet.tetras-libre.fr_demo_01-1/tenet.tetras-libre.fr_demo_01_preprocessing.ttl
- DEBUG - ----- base: http://https://tenet.tetras-libre.fr/demo/01//preprocessing
- INFO - ----- 218 triples extracted during preprocessing step
- INFO - -- Applying extraction step: transduction
- INFO - --- *** November Transduction *** Sequence: atomic-extraction-sequence
- INFO - ----- create-atom-class-net: 35/35 new triples (878, 0:00:00.074657)
- DEBUG - ----- (refinement) refine-cover-node-1: 5 new triples (883)
- DEBUG - ----- (refinement) refine-cover-node-2: 5 new triples (888)
- INFO - ----- create-individual-net-1: 10/10 new triples (898, 0:00:00.079833)
- DEBUG - ----- (refinement) refine-cover-node-1: 1 new triples (899)
- INFO - ----- create-atom-property-net-1: 88/88 new triples (987, 0:00:00.187669)
- DEBUG - ----- (refinement) refine-cover-node-1: 6 new triples (993)
- INFO - ----- create-value-net: 17/17 new triples (1010, 0:00:00.061686)
- INFO - ----- create-phenomena-net-1: 24/25 new triples (1034, 0:00:00.083828)
- DEBUG - ----- (refinement) refine-cover-node-1: 2 new triples (1036)
- INFO - --- *** November Transduction *** Sequence: atomic-extraction-sequence
- INFO - ----- create-atom-class-net: 1/49 new triple (1037, 0:00:00.092615)
- DEBUG - ----- create-individual-net-1: 0/10 new triple (1037, 0:00:00.076037)
- INFO - ----- create-atom-property-net-1: 1/95 new triple (1038, 0:00:00.159905)
- DEBUG - ----- create-value-net: 0/17 new triple (1038, 0:00:00.094954)
- DEBUG - ----- create-phenomena-net-1: 0/25 new triple (1038, 0:00:00.079379)
- INFO - --- *** February Transduction *** Sequence: phenomena_polarity_analyze_sequence
- INFO - ----- "polarity" phenomena analysis 1 [ polarity(property, "negative") ]: 32/34 new triples (1070, 0:00:00.100942)
- INFO - --- *** November Transduction *** Sequence: phenomena-application-mod-sequence
- DEBUG - ----- mod-phenomena-application-1: 0/0 new triple (1070, 0:00:00.095353)
- DEBUG - ----- mod-phenomena-application-2: 0/0 new triple (1070, 0:00:00.046630)
- DEBUG - ----- mod-phenomena-application-3: 0/0 new triple (1070, 0:00:00.077677)
- INFO - --- *** November Transduction *** Sequence: phenomena-application-and-sequence
- INFO - ----- and-conjunction-phenomena-application-1: 14/17 new triples (1084, 0:00:00.235945)
- DEBUG - ----- (refinement) refine-cover-node-1: 1 new triples (1085)
- INFO - ----- and-conjunction-phenomena-application-2: 1/1 new triple (1086, 0:00:00.130303)
- INFO - ----- and-conjunction-phenomena-application-3: 14/14 new triples (1100, 0:00:00.134144)
- INFO - ----- and-conjunction-phenomena-application-4: 14/14 new triples (1114, 0:00:00.190137)
- DEBUG - ----- (refinement) refine-cover-node-2: 1 new triples (1115)
- INFO - ----- and-conjunction-phenomena-application-5: 6/9 new triples (1121, 0:00:00.083171)
- INFO - ----- and-conjunction-phenomena-application-6: 2/2 new triples (1123, 0:00:00.229855)
- INFO - --- *** February Transduction *** Sequence: phenomena_or_analyze_sequence
- DEBUG - ----- "or" phenomena analysis 1 [ property(class, or_phenomena) ]: 0/0 new triple (1123, 0:00:00.012913)
- INFO - ----- "or" phenomena analysis 2 [ property(property, or_phenomena) ]: 56/76 new triples (1179, 0:00:00.353788)
- INFO - --- *** November Transduction *** Sequence: phenomena-checking-sequence
- INFO - ----- expand-and-conjunction-phenomena-net: 5/5 new triples (1184, 0:00:00.013585)
- DEBUG - ----- expand-degree-phenomena-net-1: 0/0 new triple (1184, 0:00:00.007805)
- DEBUG - ----- expand-degree-phenomena-net-2: 0/0 new triple (1184, 0:00:00.008898)
- DEBUG - ----- expand-degree-phenomena-net-3: 0/0 new triple (1184, 0:00:00.007362)
- DEBUG - ----- expand-degree-phenomena-net-4: 0/0 new triple (1184, 0:00:00.007814)
- DEBUG - ----- expand-degree-phenomena-net-5: 0/0 new triple (1184, 0:00:00.007939)
- DEBUG - ----- expand-degree-phenomena-net-6: 0/0 new triple (1184, 0:00:00.007793)
- INFO - --- *** November Transduction *** Sequence: composite-property-extraction-sequence
- DEBUG - ----- create-composite-class-net-from-property-1: 0/0 new triple (1184, 0:00:00.087571)
- DEBUG - ----- create-composite-class-net-from-property-2: 0/0 new triple (1184, 0:00:00.211892)
- INFO - --- *** November Transduction *** Sequence: composite-class-extraction-sequence-1
- INFO - ----- create-composite-class-net-from-property-1: 48/54 new triples (1232, 0:00:00.542917)
- DEBUG - ----- (refinement) refine-cover-node-1: 7 new triples (1239)
- DEBUG - ----- (refinement) refine-cover-node-2: 3 new triples (1242)
- DEBUG - ----- create-composite-class-net-from-property-2: 0/0 new triple (1242, 0:00:00.152455)
- INFO - ----- create-composite-class-net-from-property-3: 15/18 new triples (1257, 0:00:00.216304)
- INFO - --- *** November Transduction *** Sequence: composite-class-extraction-sequence-2
- DEBUG - ----- create-composite-class-net-from-phenomena-1: 0/0 new triple (1257, 0:00:00.034840)
- DEBUG - ----- create-composite-class-net-from-phenomena-2: 0/0 new triple (1257, 0:00:00.036641)
- DEBUG - ----- create-composite-class-net-from-phenomena-3: 0/0 new triple (1257, 0:00:00.034019)
- DEBUG - ----- create-composite-class-net-from-phenomena-4: 0/0 new triple (1257, 0:00:00.047468)
- INFO - --- *** November Transduction *** Sequence: restriction-adding-sequence
- DEBUG - ----- add-restriction-to-class-net-from-property-1: 0/0 new triple (1257, 0:00:00.039341)
- INFO - --- *** November Transduction *** Sequence: classification-sequence
- INFO - ----- classify-net-from-core-1: 7/7 new triples (1264, 0:00:00.011189)
- INFO - ----- classify-net-from-core-2: 1/6 new triple (1265, 0:00:00.006297)
- DEBUG - ----- classify-net-from-core-3: 0/0 new triple (1265, 0:00:00.037935)
- DEBUG - ----- classify-net-from-part: 0/0 new triple (1265, 0:00:00.007636)
- INFO - ----- classify-net-from-domain: 4/4 new triples (1269, 0:00:00.008663)
- DEBUG - ----- classify-net-from-degree-phenomena-1: 0/0 new triple (1269, 0:00:00.011751)
- DEBUG - ----- classify-net-from-degree-phenomena-2: 0/0 new triple (1269, 0:00:00.030770)
- DEBUG - ----- classify-net-from-degree-phenomena-3: 0/0 new triple (1269, 0:00:00.006438)
- INFO - ----- propagate-individual-1: 1/1 new triple (1270, 0:00:00.006357)
- INFO - ----- propagate-individual-2: 4/4 new triples (1274, 0:00:00.006013)
- DEBUG - ----- reclassify-deprecated-net: 0/0 new triple (1274, 0:00:00.007375)
- 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/output/SolarSystemDev01-20230316/technical-data/tenet.tetras-libre.fr_demo_01-1/tenet.tetras-libre.fr_demo_01_transduction.ttl
- DEBUG - ----- base: http://https://tenet.tetras-libre.fr/demo/01//transduction
- INFO - ----- 431 triples extracted during transduction step
- INFO - -- Applying extraction step: generation
- INFO - --- *** November Transduction *** Sequence: main-generation-sequence
- INFO - ----- compute-uri-for-owl-declaration-1: 8/8 new triples (1282, 0:00:00.027447)
- INFO - ----- compute-uri-for-owl-declaration-2: 1/4 new triple (1283, 0:00:00.018112)
- INFO - ----- compute-uri-for-owl-declaration-3: 1/1 new triple (1284, 0:00:00.025137)
- DEBUG - ----- compute-uri-for-owl-declaration-4: 0/0 new triple (1284, 0:00:00.018540)
- INFO - ----- compute-uri-for-owl-declaration-5: 4/4 new triples (1288, 0:00:00.017574)
- INFO - ----- compute-uri-for-owl-declaration-6: 4/4 new triples (1292, 0:00:00.023562)
- INFO - ----- compute-uri-for-owl-declaration-7: 1/1 new triple (1293, 0:00:00.019000)
- INFO - ----- compute-uri-for-owl-declaration-101: 3/7 new triples (1296, 0:00:00.021879)
- DEBUG - ----- compute-uri-for-owl-declaration-102: 0/1 new triple (1296, 0:00:00.016158)
- INFO - ----- generate-atom-class: 12/12 new triples (1308, 0:00:00.007895)
- INFO - ----- classify-atom-class-1: 4/4 new triples (1312, 0:00:00.006506)
- DEBUG - ----- classify-atom-class-2: 0/0 new triple (1312, 0:00:00.012444)
- INFO - ----- generate-individual: 3/3 new triples (1315, 0:00:00.007788)
- DEBUG - ----- classify-individual-1: 0/0 new triple (1315, 0:00:00.009026)
- INFO - ----- classify-individual-2: 4/4 new triples (1319, 0:00:00.008873)
- INFO - ----- generate-atom-property-1: 20/20 new triples (1339, 0:00:00.009435)
- INFO - ----- generate-atom-property-12: 8/16 new triples (1347, 0:00:00.010707)
- DEBUG - ----- generate-inverse-relation: 0/0 new triple (1347, 0:00:00.006682)
- INFO - ----- generate-composite-class: 18/18 new triples (1365, 0:00:00.009133)
- DEBUG - ----- add-restriction-to-class-1: 0/0 new triple (1365, 0:00:00.016949)
- DEBUG - ----- add-restriction-to-class-2: 0/0 new triple (1365, 0:00:00.012484)
- INFO - ----- add-restriction-to-class-3: 20/24 new triples (1385, 0:00:00.018321)
- DEBUG - ----- add-restriction-to-class-4: 0/0 new triple (1385, 0:00:00.015023)
- DEBUG - ----- add-restriction-to-class-5: 0/0 new triple (1385, 0:00:00.012901)
- DEBUG - ----- add-restriction-to-class-6: 0/0 new triple (1385, 0:00:00.011054)
- DEBUG - ----- generate-composite-property-1: 0/0 new triple (1385, 0:00:00.006645)
- INFO - ----- generate-composite-property-2: 12/12 new triples (1397, 0:00:00.008532)
- INFO - ----- generate-composite-property-3: 2/2 new triples (1399, 0:00:00.008837)
- 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/output/SolarSystemDev01-20230316/technical-data/tenet.tetras-libre.fr_demo_01-1/tenet.tetras-libre.fr_demo_01_generation.ttl
- DEBUG - ----- base: http://https://tenet.tetras-libre.fr/demo/01//generation
- INFO - ----- 125 triples extracted during generation step
- DEBUG - --- Serializing graph to factoid file (/home/lamenji/Workspace/Tetras/tenet/tests/output/SolarSystemDev01-20230316/technical-data/tenet.tetras-libre.fr_demo_01-1/tenet.tetras-libre.fr_demo_01_factoid.ttl)
- DEBUG - ----- Number of factoids: 145
- 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: 145
- 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/output/SolarSystemDev01-20230316/SolarSystemDev01_factoid.ttl
- INFO -
=== Done ===
@base <http://https://tenet.tetras-libre.fr/demo/01//factoid> .
@prefix ns1: <https://tenet.tetras-libre.fr/base-ontology#> .
@prefix ns2: <https://tenet.tetras-libre.fr/semantic-net#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
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_p ns2:hasClassURI <https://tenet.tetras-libre.fr/extract-result#system> .
ns2:atomClass_system_s ns2:hasClassURI <https://tenet.tetras-libre.fr/extract-result#system> .
ns2:atomProperty_bind_b ns2:hasProperty12URI <https://tenet.tetras-libre.fr/extract-result#bind-of> ;
ns2:hasPropertyURI <https://tenet.tetras-libre.fr/extract-result#bind> .
ns2:atomProperty_direct_d ns2:hasProperty12URI <https://tenet.tetras-libre.fr/extract-result#direct-of> ;
ns2:hasPropertyURI <https://tenet.tetras-libre.fr/extract-result#direct> .
ns2:atomProperty_hasManner_m9 ns2:hasProperty12URI <https://tenet.tetras-libre.fr/extract-result#hasManner> ;
ns2:hasPropertyURI <https://tenet.tetras-libre.fr/extract-result#hasManner> .
ns2:atomProperty_hasPart_p9 ns2:hasProperty12URI <https://tenet.tetras-libre.fr/extract-result#hasPart> ;
ns2:hasPropertyURI <https://tenet.tetras-libre.fr/extract-result#hasPart> .
ns2:atomProperty_orbit_o2 ns2:hasPropertyURI <https://tenet.tetras-libre.fr/extract-result#orbit> .
ns2:compositeClass_gravitation-binding-system-hasPart-sun-and-object_g ns2:hasClassURI <https://tenet.tetras-libre.fr/extract-result#gravitation-binding-system-hasPart-sun-and-object> .
ns2:compositeClass_system-hasPart-sun-and-object-hasPart-object_s ns2:hasClassURI <https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun-and-object-hasPart-object> .
ns2:compositeClass_system-hasPart-sun-and-object-hasPart-sun_s ns2:hasClassURI <https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun-and-object-hasPart-sun> .
ns2:compositeClass_system-hasPart-sun-and-object_s ns2:hasClassURI <https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun-and-object> .
ns2:compositeProperty_not-direct_d2 ns2:hasPropertyURI <https://tenet.tetras-libre.fr/extract-result#not-direct> .
ns2:compositeProperty_orbit-hasManner-direct_o2 ns2:hasPropertyURI <https://tenet.tetras-libre.fr/extract-result#orbit-hasManner-direct> .
ns2:compositeProperty_orbit-hasManner-not-direct_o2 ns2:hasPropertyURI <https://tenet.tetras-libre.fr/extract-result#orbit-hasManner-not-direct> .
ns2:individual_system_SolarSystem ns2:hasIndividualURI <https://tenet.tetras-libre.fr/extract-result#solar-system> .
<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#direct> a owl:ObjectProperty ;
rdfs:label "direct" ;
rdfs:subPropertyOf ns1:Out_ObjectProperty ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#direct-of> a owl:ObjectProperty ;
rdfs:label "direct-of" ;
rdfs:subPropertyOf ns1:Out_ObjectProperty ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#gravitation-binding-system-hasPart-sun-and-object> a owl:Class ;
rdfs:label "gravitation-binding-system-hasPart-sun-and-object" ;
rdfs:subClassOf [ a owl:Restriction ;
owl:onProperty <https://tenet.tetras-libre.fr/extract-result#bind-of> ;
owl:someValuesFrom <https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun-and-object> ],
<https://tenet.tetras-libre.fr/extract-result#gravitation> ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#not-direct> a owl:ObjectProperty ;
rdfs:label "not-direct" ;
rdfs:subPropertyOf ns1:Out_ObjectProperty ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#orbit-hasManner-direct> a owl:ObjectProperty ;
rdfs:label "orbit-hasManner-direct" ;
rdfs:subPropertyOf ns1:Out_ObjectProperty,
<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:label "orbit-hasManner-not-direct" ;
rdfs:subPropertyOf ns1:Out_ObjectProperty,
<https://tenet.tetras-libre.fr/extract-result#orbit> ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#solar-system> a owl:individual,
<https://tenet.tetras-libre.fr/extract-result#system>,
<https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun-and-object>,
<https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun-and-object-hasPart-object>,
<https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun-and-object-hasPart-sun> ;
rdfs:label "Solar System" ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#bind-of> a owl:ObjectProperty ;
rdfs:label "bind-of" ;
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#hasManner> a owl:ObjectProperty ;
rdfs:label "hasManner" ;
rdfs:subPropertyOf ns1:Out_ObjectProperty ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun-and-object-hasPart-object> a owl:Class ;
rdfs:label "system-hasPart-sun-and-object-hasPart-object" ;
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>,
<https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun-and-object> ;
ns1:fromStructure "SSC-01-01" .
<https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun-and-object-hasPart-sun> a owl:Class ;
rdfs:label "system-hasPart-sun-and-object-hasPart-sun" ;
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>,
<https://tenet.tetras-libre.fr/extract-result#system-hasPart-sun-and-object> ;
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#orbit> a owl:ObjectProperty ;
rdfs:label "orbit" ;
rdfs:subPropertyOf ns1:Out_ObjectProperty ;
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-hasPart-sun-and-object> a owl:Class ;
rdfs:label "system-hasPart-sun-and-object" ;
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> ],
[ 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#system> a owl:Class ;
rdfs:label "system" ;
rdfs:subClassOf ns1:Entity ;
ns1:fromStructure "SSC-01-01" .
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment