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

New Extraction Rule: degree_analyzer_1 (2)

parent 941dff15
No related branches found
No related tags found
No related merge requests found
......@@ -24,7 +24,7 @@ DEGREE_PROPERTY_NET_URI = 'net:predefinedProperty_hasDegree'
#==============================================================================
# Pattern Search: DEGREE_PHENOMENA
# Pattern Search: degree91(ARG1: entity, ARG2: attribute, ARG3: degree)
#==============================================================================
DEGREE_PHENOMENA_URI = 'amr:phenomena_degree'
......@@ -56,8 +56,31 @@ def __search_pattern(graph):
# Useful Additional Search
#==============================================================================
def __search_degree_arg4(graph, degree_net_uri):
select_data_list = ['?comparated_class_net']
clause_list = [(degree_net_uri, ARG_RELATION[4], '?comparated_class_net'),
'?comparated_class_net a [rdfs:subClassOf* net:Class_Net].']
query_code = generate_select_distinct_query(graph, select_data_list, clause_list)
result_set = graph.query(query_code)
return query_code, result_set
def __search_degree_arg5(graph, degree_net_uri):
select_data_list = ['?superlative_class_net']
clause_list = [(degree_net_uri, ARG_RELATION[5], '?superlative_class_net'),
'?superlative_class_net a [rdfs:subClassOf* net:Class_Net].']
query_code = generate_select_distinct_query(graph, select_data_list, clause_list)
result_set = graph.query(query_code)
return query_code, result_set
def __search_degree_arg6(graph, degree_net_uri):
select_data_list = ['?reference_net']
clause_list = [(degree_net_uri, ARG_RELATION[6], '?reference_net'),
'?reference_net a [rdfs:subClassOf* net:Class_Net].']
query_code = generate_select_distinct_query(graph, select_data_list, clause_list)
result_set = graph.query(query_code)
return query_code, result_set
#==============================================================================
......@@ -200,6 +223,13 @@ def __construct_feature_individual_net(graph, feature_class_net, degree_individu
def __associate_mother_relation(graph, left_class_net, right_class_net):
left_class_net.mother_class_net = right_class_net.uri
result_triple_list = left_class_net.generate_triple_definition()
return left_class_net, result_triple_list
#==============================================================================
# Main Method
#==============================================================================
......@@ -227,11 +257,28 @@ def analyze_phenomena_degree91_1(graph):
feature_individual_net, triple_list_2 = __construct_feature_individual_net(
graph, attribute_class_net, degree_individual_net)
_, triple_list_3 = __construct_composite_class_net(
new_entity_class_net, triple_list_3 = __construct_composite_class_net(
graph, entity_class_net, feature_individual_net, phenomena_net)
# -- Resulting List Update
rule_triple_list += triple_list_1 + triple_list_2 + triple_list_3
rule_triple_list += (triple_list_1 + triple_list_2 + triple_list_3)
# -- Comparison Handle (ARG4)
_, comparated_class_set = __search_degree_arg4(graph, phenomena_net.uri)
for row in comparated_class_set:
pass #TODO: uri=row.comparated_class_net
# -- Superlative Handle (ARG5)
_, superlative_set = __search_degree_arg5(graph, phenomena_net.uri)
for row in superlative_set:
superlative_class_net = net.ClassNet(graph, uri=row.superlative_class_net)
_, triple_list_5 = __associate_mother_relation(
graph, new_entity_class_net, superlative_class_net)
rule_triple_list += triple_list_5
# -- Reference Handle (ARG6)
_, reference_set = __search_degree_arg6(graph, phenomena_net.uri)
for row in reference_set:
pass #TODO: uri=row.reference_net
# -- Deprecation: Origin Class Nets
rule_triple_list += entity_class_net.deprecate()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment