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

New AMR Rule: transduction.phenomena_polarity_analyzer_4 (and 5)

parent 39bd04f4
Branches
Tags
No related merge requests found
Showing
with 6351 additions and 200 deletions
......@@ -14,6 +14,8 @@ from scheme.amr_clara_rule.transduction.composite_class_extractor_2 import *
from scheme.amr_clara_rule.transduction.phenomena_polarity_analyzer_1 import *
from scheme.amr_clara_rule.transduction.phenomena_polarity_analyzer_2 import *
from scheme.amr_clara_rule.transduction.phenomena_polarity_analyzer_3 import *
from scheme.amr_clara_rule.transduction.phenomena_polarity_analyzer_4 import *
from scheme.amr_clara_rule.transduction.phenomena_polarity_analyzer_5 import *
from scheme.amr_clara_rule.transduction.phenomena_mod_analyzer_1 import *
from scheme.amr_clara_rule.transduction.phenomena_or_analyzer_1 import *
from scheme.amr_clara_rule.transduction.phenomena_or_analyzer_2 import *
......
......@@ -32,6 +32,7 @@ def __search_pattern(graph):
f'FILTER NOT EXISTS {{ ?phenomena_net a net:Deprecated_Net. }}',
f'?phenomena_net {PHENOMENA_TYPE_RELATION} {POSSIBLE_PHENOMENA_URI}.',
f'?phenomena_net {POLARITY_RELATION} ?value_net.',
f'FILTER NOT EXISTS {{ ?value_net a net:Deprecated_Net. }}',
('?value_net', 'net:hasValueLabel', rdflib.term.Literal('negative'))]
query_code = generate_select_query(graph, select_data_list, clause_list)
result_set = graph.query(query_code)
......@@ -111,7 +112,8 @@ def analyze_phenomena_polarity_2(graph):
_, triple_list_1 = __construct_phenomena_net(graph, origin_phenomena_net, value_net)
rule_triple_list += triple_list_1
# -- Deprecation: Origin Class Net
# -- Deprecation: Origin Class Net and Value Net
rule_triple_list += origin_phenomena_net.deprecate()
rule_triple_list += value_net.deprecate()
return rule_label, rule_triple_list
\ No newline at end of file
......@@ -32,6 +32,7 @@ def __search_pattern(graph):
f'FILTER NOT EXISTS {{ ?phenomena_net a net:Deprecated_Net. }}',
f'?phenomena_net {PHENOMENA_TYPE_RELATION} {POSSIBLE_PHENOMENA_URI}.',
f'?phenomena_net {POLARITY_RELATION} ?value_net.',
f'FILTER NOT EXISTS {{ ?value_net a net:Deprecated_Net. }}',
('?value_net', 'net:hasValueLabel', rdflib.term.Literal('negative'))]
query_code = generate_select_query(graph, select_data_list, clause_list)
result_set = graph.query(query_code)
......@@ -111,7 +112,8 @@ def analyze_phenomena_polarity_3(graph):
_, triple_list_1 = __construct_phenomena_net(graph, origin_phenomena_net, value_net)
rule_triple_list += triple_list_1
# -- Deprecation: Origin Class Net
# -- Deprecation: Origin Class Net and Value Net
rule_triple_list += origin_phenomena_net.deprecate()
rule_triple_list += value_net.deprecate()
return rule_label, rule_triple_list
\ No newline at end of file
#!/usr/bin/python3.10
# -*-coding:Utf-8 -*
#==============================================================================
# TENET: Rule to negative polarity phenomena (rule 3)
#------------------------------------------------------------------------------
# Net Expansion AMR rule to analyse negative polarity phenomena
# Rule: polarity(phenomena, 'negative') => phenomena
#==============================================================================
import rdflib
from rdflib import Graph
import transduction
from transduction import net
from transduction.query_builder import generate_select_query
from transduction.naming_computer import define_axiom_naming
from transduction.naming_computer import define_composite_naming_2
#==============================================================================
# Pattern Search: polarity(phenomena, 'negative')
#==============================================================================
POLARITY_RELATION = 'amr:role_polarity'
PHENOMENA_TYPE_RELATION = 'net:hasPhenomenaType'
POSSIBLE_PHENOMENA_URI = 'amr:phenomena_modality_prohibition'
def __search_pattern(graph):
query_code = ''
result_set = []
for arg_relation in ['amr:role_ARG1', 'amr:role_ARG2']:
select_data_list = ['?phenomena_net', '?value_net']
clause_list = [f'?phenomena_net a [rdfs:subClassOf* net:Phenomena_Net].',
f'FILTER NOT EXISTS {{ ?phenomena_net a net:Deprecated_Net. }}',
f'?phenomena_net {PHENOMENA_TYPE_RELATION} {POSSIBLE_PHENOMENA_URI}.',
f'?property_net a [rdfs:subClassOf* net:Atom_Property_Net].',
f'?phenomena_net {arg_relation} ?property_net.',
f'?property_net {POLARITY_RELATION} ?value_net.',
f'FILTER NOT EXISTS {{ ?value_net a net:Deprecated_Net. }}',
('?value_net', 'net:hasValueLabel', rdflib.term.Literal('negative'))
]
query_code = generate_select_query(graph, select_data_list, clause_list)
result_set += graph.query(query_code)
return query_code, result_set
#==============================================================================
# Useful Computation Method(s)
#==============================================================================
def __filter_relation(relation_list):
result_list = []
for relation in relation_list:
check = True
(s, p, o) = relation
if s == o: check = False
if p == POLARITY_RELATION: check = False
if check: result_list.append(relation)
return result_list
def __propagate_relation(target_net, base_net):
target_net.input_relation_list = base_net.input_relation_list
out_relation_list = __filter_relation(base_net.output_relation_list)
target_net.output_relation_list = out_relation_list
#==============================================================================
# Construct Method(s)
#==============================================================================
def __construct_phenomena_net(graph, origin_phenomena_net, value_net):
# -- Net Composition
new_phenomena_net = net.PhenomenaNet(graph)
new_phenomena_net.compose(origin_phenomena_net, value_net)
# -- Data Computation
new_phenomena_net.phenomena_type = 'amr:phenomena_modality_obligation'
new_phenomena_net.phenomena_ref = f'not-{origin_phenomena_net.phenomena_ref}'
# -- Net Naming
new_phenomena_net.naming = 'obligation-modality'
# -- Relation Propagation
__propagate_relation(new_phenomena_net, origin_phenomena_net)
# -- Finalization
new_phenomena_net.finalize()
triple_definition = new_phenomena_net.generate_triple_definition()
return new_phenomena_net, triple_definition
#==============================================================================
# Main Method
#==============================================================================
def analyze_phenomena_polarity_4(graph):
# -- Rule Initialization
rule_label = 'analyze "polarity" phenomena (4)'
rule_triple_list = []
# -- Search for patterns
_, pattern_set = __search_pattern(graph)
# -- Pattern Analysis
for pattern in pattern_set:
origin_phenomena_net = net.PhenomenaNet(graph, uri=pattern.phenomena_net)
value_net = net.ValueNet(graph, uri=pattern.value_net)
# -- New Negative Property Net
_, triple_list_1 = __construct_phenomena_net(graph, origin_phenomena_net, value_net)
rule_triple_list += triple_list_1
# -- Deprecation: Origin Class Net and Value Net
rule_triple_list += origin_phenomena_net.deprecate()
rule_triple_list += value_net.deprecate()
return rule_label, rule_triple_list
\ No newline at end of file
#!/usr/bin/python3.10
# -*-coding:Utf-8 -*
#==============================================================================
# TENET: Rule to negative polarity phenomena (rule 3)
#------------------------------------------------------------------------------
# Net Expansion AMR rule to analyse negative polarity phenomena
# Rule: polarity(phenomena, 'negative') => phenomena
#==============================================================================
import rdflib
from rdflib import Graph
import transduction
from transduction import net
from transduction.query_builder import generate_select_query
from transduction.naming_computer import define_axiom_naming
from transduction.naming_computer import define_composite_naming_2
#==============================================================================
# Pattern Search: polarity(phenomena, 'negative')
#==============================================================================
POLARITY_RELATION = 'amr:role_polarity'
PHENOMENA_TYPE_RELATION = 'net:hasPhenomenaType'
POSSIBLE_PHENOMENA_URI = 'amr:phenomena_modality_obligation'
def __search_pattern(graph):
query_code = ''
result_set = []
for arg_relation in ['amr:role_ARG1', 'amr:role_ARG2']:
select_data_list = ['?phenomena_net', '?value_net']
clause_list = [f'?phenomena_net a [rdfs:subClassOf* net:Phenomena_Net].',
f'FILTER NOT EXISTS {{ ?phenomena_net a net:Deprecated_Net. }}',
f'?phenomena_net {PHENOMENA_TYPE_RELATION} {POSSIBLE_PHENOMENA_URI}.',
f'?property_net a [rdfs:subClassOf* net:Atom_Property_Net].',
f'?phenomena_net {arg_relation} ?property_net.',
f'?property_net {POLARITY_RELATION} ?value_net.',
f'FILTER NOT EXISTS {{ ?value_net a net:Deprecated_Net. }}',
('?value_net', 'net:hasValueLabel', rdflib.term.Literal('negative'))
]
query_code = generate_select_query(graph, select_data_list, clause_list)
result_set += graph.query(query_code)
return query_code, result_set
#==============================================================================
# Useful Computation Method(s)
#==============================================================================
def __filter_relation(relation_list):
result_list = []
for relation in relation_list:
check = True
(s, p, o) = relation
if s == o: check = False
if p == POLARITY_RELATION: check = False
if check: result_list.append(relation)
return result_list
def __propagate_relation(target_net, base_net):
target_net.input_relation_list = base_net.input_relation_list
out_relation_list = __filter_relation(base_net.output_relation_list)
target_net.output_relation_list = out_relation_list
#==============================================================================
# Construct Method(s)
#==============================================================================
def __construct_phenomena_net(graph, origin_phenomena_net, value_net):
# -- Net Composition
new_phenomena_net = net.PhenomenaNet(graph)
new_phenomena_net.compose(origin_phenomena_net, value_net)
# -- Data Computation
new_phenomena_net.phenomena_type = 'amr:phenomena_modality_prohibition'
new_phenomena_net.phenomena_ref = f'not-{origin_phenomena_net.phenomena_ref}'
# -- Net Naming
new_phenomena_net.naming = 'prohibition-modality'
# -- Relation Propagation
__propagate_relation(new_phenomena_net, origin_phenomena_net)
# -- Finalization
new_phenomena_net.finalize()
triple_definition = new_phenomena_net.generate_triple_definition()
return new_phenomena_net, triple_definition
#==============================================================================
# Main Method
#==============================================================================
def analyze_phenomena_polarity_5(graph):
# -- Rule Initialization
rule_label = 'analyze "polarity" phenomena (5)'
rule_triple_list = []
# -- Search for patterns
_, pattern_set = __search_pattern(graph)
# -- Pattern Analysis
for pattern in pattern_set:
origin_phenomena_net = net.PhenomenaNet(graph, uri=pattern.phenomena_net)
value_net = net.ValueNet(graph, uri=pattern.value_net)
# -- New Negative Property Net
_, triple_list_1 = __construct_phenomena_net(graph, origin_phenomena_net, value_net)
rule_triple_list += triple_list_1
# -- Deprecation: Origin Class Net and Value Net
rule_triple_list += origin_phenomena_net.deprecate()
rule_triple_list += value_net.deprecate()
return rule_label, rule_triple_list
\ No newline at end of file
......@@ -185,6 +185,8 @@ phenomena_analyze_sequence_1 = ['phenomena analyze sequence (1)',
rule.analyze_phenomena_polarity_1,
rule.analyze_phenomena_polarity_2,
rule.analyze_phenomena_polarity_3,
rule.analyze_phenomena_polarity_4,
rule.analyze_phenomena_polarity_5,
rule.analyze_phenomena_mod_1
]
......
This diff is collapsed.
......@@ -759,9 +759,6 @@ net:Atom_Class_Net a owl:Class ;
net:Class_Net a owl:Class ;
rdfs:subClassOf net:Net .
net:Deprecated_Net a owl:Class ;
rdfs:subClassOf net:Net .
net:Phenomena_Net a owl:Class ;
rdfs:subClassOf net:Net .
......@@ -843,6 +840,9 @@ ns3:FrameRole a ns11:Role,
:toReify a owl:AnnotationProperty ;
rdfs:subPropertyOf :AMR_AnnotationProperty .
net:Deprecated_Net a owl:Class ;
rdfs:subClassOf net:Net .
net:Net_Structure a owl:Class ;
rdfs:label "Semantic Net Structure" ;
rdfs:comment "A semantic net captures a set of nodes, and associates this set with type(s) and value(s)." .
......@@ -851,7 +851,8 @@ net:has_relation_value a owl:AnnotationProperty ;
rdfs:label "has relation value" ;
rdfs:subPropertyOf net:has_object .
net:value_negative_blankNode a net:Value_Net ;
net:value_negative_blankNode a net:Deprecated_Net,
net:Value_Net ;
net:coverAmrValue :value_negative ;
net:hasNaming "negative" ;
net:hasStructure "document-03" ;
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
......@@ -20,11 +20,15 @@ TEST_FILE_NAME_1 = 'negation-devGraph-1'
TEST_FILE_NAME_2 = 'negation-devGraph-2'
TEST_FILE_NAME_3 = 'negation-devGraph-3'
TEST_FILE_NAME_4 = 'negation-devGraph-4'
TEST_FILE_NAME_5 = 'negation-devGraph-5'
TEST_FILE_NAME_6 = 'negation-devGraph-6'
from context import tenet
from tenet.scheme.amr_master_rule.transduction import phenomena_polarity_analyzer_1 as rule_1
from tenet.scheme.amr_clara_rule.transduction import phenomena_polarity_analyzer_2 as rule_2
from tenet.scheme.amr_clara_rule.transduction import phenomena_polarity_analyzer_3 as rule_3
from tenet.scheme.amr_clara_rule.transduction import phenomena_polarity_analyzer_4 as rule_4
from tenet.scheme.amr_clara_rule.transduction import phenomena_polarity_analyzer_5 as rule_5
from tenet.scheme import amr_master_rule as rule
from tenet.scheme import amr_clara_rule
......@@ -113,6 +117,7 @@ def test_search_pattern_2(graph):
for selection in pattern_set:
result_str = f'>>> '
result_str += f'{selection.phenomena_net.n3(graph.namespace_manager)}'
result_str += f' {selection.value_net.n3(graph.namespace_manager)}'
print(result_str)
return pattern_set
......@@ -124,6 +129,31 @@ def test_search_pattern_3(graph):
for selection in pattern_set:
result_str = f'>>> '
result_str += f'{selection.phenomena_net.n3(graph.namespace_manager)}'
result_str += f' {selection.value_net.n3(graph.namespace_manager)}'
print(result_str)
return pattern_set
def test_search_pattern_4(graph):
query_code, pattern_set = rule_4.__search_pattern(graph)
print(f'\n ----- query code: {query_code}')
print(f'\n ----- number of selection found: {len(pattern_set)}')
for selection in pattern_set:
result_str = f'>>> '
result_str += f'{selection.phenomena_net.n3(graph.namespace_manager)}'
result_str += f' {selection.value_net.n3(graph.namespace_manager)}'
print(result_str)
return pattern_set
def test_search_pattern_5(graph):
query_code, pattern_set = rule_5.__search_pattern(graph)
print(f'\n ----- query code: {query_code}')
print(f'\n ----- number of selection found: {len(pattern_set)}')
for selection in pattern_set:
result_str = f'>>> '
result_str += f'{selection.phenomena_net.n3(graph.namespace_manager)}'
result_str += f' {selection.value_net.n3(graph.namespace_manager)}'
print(result_str)
return pattern_set
......@@ -153,6 +183,8 @@ if __name__ == '__main__':
graph_2 = load_test_graph(TEST_FILE_NAME_2)
graph_3 = load_test_graph(TEST_FILE_NAME_3)
graph_4 = load_test_graph(TEST_FILE_NAME_4)
graph_5 = load_test_graph(TEST_FILE_NAME_5)
graph_6 = load_test_graph(TEST_FILE_NAME_6)
print('\n \n')
......@@ -227,4 +259,32 @@ if __name__ == '__main__':
test_rule_application(TEST_FILE_NAME_4, graph_4, amr_clara_rule.analyze_phenomena_polarity_3)
print('\n \n')
print('\n ///////////////////// Extraction Rule 4')
print('\n *** Step Test ***')
print('\n -- Step 1: Search Pattern')
pattern_set = test_search_pattern_4(graph_5)
print('\n \n')
print('\n *** Unit Test ***')
test_rule_application(TEST_FILE_NAME_5, graph_5, amr_clara_rule.analyze_phenomena_polarity_4)
print('\n \n')
print('\n ///////////////////// Extraction Rule 5')
print('\n *** Step Test ***')
print('\n -- Step 1: Search Pattern')
pattern_set = test_search_pattern_5(graph_6)
print('\n \n')
print('\n *** Unit Test ***')
test_rule_application(TEST_FILE_NAME_6, graph_6, amr_clara_rule.analyze_phenomena_polarity_5)
print('\n \n')
print('\n *** - ***')
\ No newline at end of file
......@@ -8,10 +8,10 @@ ns1:Concept a rdfs:Class ;
ns1:Role a rdfs:Class ;
rdfs:label "AMR-Role" .
<http://amr.isi.edu/amr_data/document-01#root01> a ns1:AMR ;
ns1:has-id "document-01" ;
<http://amr.isi.edu/amr_data/asail_odrl_sentences-01#root01> a ns1:AMR ;
ns1:has-id "asail_odrl_sentences-01" ;
ns1:has-sentence "Movie9898 can be used." ;
ns1:root <http://amr.isi.edu/amr_data/document-01#p> .
ns1:root <http://amr.isi.edu/amr_data/asail_odrl_sentences-01#p> .
ns2:possible-01.ARG1 a ns2:FrameRole .
......@@ -21,14 +21,14 @@ ns1:NamedEntity a ns1:Concept ;
rdfs:label "AMR-EntityType",
"AMR-Term" .
<http://amr.isi.edu/amr_data/document-01#m> a <http://amr.isi.edu/rdf/amr-terms#movie> ;
<http://amr.isi.edu/amr_data/asail_odrl_sentences-01#m> a <http://amr.isi.edu/rdf/amr-terms#movie> ;
rdfs:label "9898" .
<http://amr.isi.edu/amr_data/document-01#p> a ns2:possible-01 ;
ns2:possible-01.ARG1 <http://amr.isi.edu/amr_data/document-01#u> .
<http://amr.isi.edu/amr_data/asail_odrl_sentences-01#p> a ns2:possible-01 ;
ns2:possible-01.ARG1 <http://amr.isi.edu/amr_data/asail_odrl_sentences-01#u> .
<http://amr.isi.edu/amr_data/document-01#u> a ns2:use-01 ;
ns2:use-01.ARG1 <http://amr.isi.edu/amr_data/document-01#m> .
<http://amr.isi.edu/amr_data/asail_odrl_sentences-01#u> a ns2:use-01 ;
ns2:use-01.ARG1 <http://amr.isi.edu/amr_data/asail_odrl_sentences-01#m> .
ns2:possible-01 a ns1:Frame .
......
@prefix ns1: <http://amr.isi.edu/frames/ld/v1.2.2/> .
@prefix ns2: <http://amr.isi.edu/rdf/core-amr#> .
@prefix ns1: <http://amr.isi.edu/rdf/core-amr#> .
@prefix ns2: <http://amr.isi.edu/frames/ld/v1.2.2/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
ns2:Concept a rdfs:Class ;
ns1:Concept a rdfs:Class ;
rdfs:label "AMR-Concept" .
ns2:Role a rdfs:Class ;
ns1:Role a rdfs:Class ;
rdfs:label "AMR-Role" .
<http://amr.isi.edu/amr_data/document-02#root01> a ns2:AMR ;
ns2:has-id "document-02" ;
ns2:has-sentence "John must play the movie." ;
ns2:root <http://amr.isi.edu/amr_data/document-02#o> .
<http://amr.isi.edu/amr_data/asail_odrl_sentences-02#root01> a ns1:AMR ;
ns1:has-id "asail_odrl_sentences-02" ;
ns1:has-sentence "John must play the movie." ;
ns1:root <http://amr.isi.edu/amr_data/asail_odrl_sentences-02#o> .
ns1:obligate-01.ARG2 a ns1:FrameRole .
ns2:obligate-01.ARG2 a ns2:FrameRole .
ns1:play-02.ARG0 a ns1:FrameRole .
ns2:play-02.ARG0 a ns2:FrameRole .
ns1:play-02.ARG1 a ns1:FrameRole .
ns2:play-02.ARG1 a ns2:FrameRole .
<http://amr.isi.edu/amr_data/document-02#m> a <http://amr.isi.edu/rdf/amr-terms#movie> .
<http://amr.isi.edu/amr_data/asail_odrl_sentences-02#m> a <http://amr.isi.edu/rdf/amr-terms#movie> .
<http://amr.isi.edu/amr_data/document-02#o> a ns1:obligate-01 ;
ns1:obligate-01.ARG2 <http://amr.isi.edu/amr_data/document-02#p> .
<http://amr.isi.edu/amr_data/asail_odrl_sentences-02#o> a ns2:obligate-01 ;
ns2:obligate-01.ARG2 <http://amr.isi.edu/amr_data/asail_odrl_sentences-02#p> .
<http://amr.isi.edu/amr_data/document-02#p> a ns1:play-02 ;
ns1:play-02.ARG0 <http://amr.isi.edu/amr_data/document-02#p2> ;
ns1:play-02.ARG1 <http://amr.isi.edu/amr_data/document-02#m> .
<http://amr.isi.edu/amr_data/asail_odrl_sentences-02#p> a ns2:play-02 ;
ns2:play-02.ARG0 <http://amr.isi.edu/amr_data/asail_odrl_sentences-02#p2> ;
ns2:play-02.ARG1 <http://amr.isi.edu/amr_data/asail_odrl_sentences-02#m> .
<http://amr.isi.edu/amr_data/document-02#p2> a <http://amr.isi.edu/entity-types#person> ;
<http://amr.isi.edu/amr_data/asail_odrl_sentences-02#p2> a <http://amr.isi.edu/entity-types#person> ;
rdfs:label "John" .
<http://amr.isi.edu/entity-types#person> a ns2:NamedEntity .
<http://amr.isi.edu/entity-types#person> a ns1:NamedEntity .
ns1:obligate-01 a ns2:Frame .
ns2:obligate-01 a ns1:Frame .
ns1:play-02 a ns2:Frame .
ns2:play-02 a ns1:Frame .
<http://amr.isi.edu/rdf/amr-terms#movie> a ns2:Concept .
<http://amr.isi.edu/rdf/amr-terms#movie> a ns1:Concept .
ns2:NamedEntity a ns2:Concept ;
ns1:NamedEntity a ns1:Concept ;
rdfs:label "AMR-EntityType",
"AMR-Term" .
ns2:Frame a ns2:Concept ;
ns1:Frame a ns1:Concept ;
rdfs:label "AMR-PropBank-Frame" .
ns1:FrameRole a ns2:Role ;
ns2:FrameRole a ns1:Role ;
rdfs:label "AMR-PropBank-Role" .
@prefix ns1: <http://amr.isi.edu/rdf/core-amr#> .
@prefix ns2: <http://amr.isi.edu/rdf/amr-terms#> .
@prefix ns1: <http://amr.isi.edu/rdf/amr-terms#> .
@prefix ns2: <http://amr.isi.edu/rdf/core-amr#> .
@prefix ns3: <http://amr.isi.edu/frames/ld/v1.2.2/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
ns1:Concept a rdfs:Class ;
ns2:Concept a rdfs:Class ;
rdfs:label "AMR-Concept" .
ns1:Role a rdfs:Class ;
ns2:Role a rdfs:Class ;
rdfs:label "AMR-Role" .
<http://amr.isi.edu/amr_data/document-03#root01> a ns1:AMR ;
ns1:has-id "document-03" ;
ns1:has-sentence "John is not allowed to play the movie." ;
ns1:root <http://amr.isi.edu/amr_data/document-03#a> .
<http://amr.isi.edu/amr_data/asail_odrl_sentences-03#root01> a ns2:AMR ;
ns2:has-id "asail_odrl_sentences-03" ;
ns2:has-sentence "John is not allowed to play the movie." ;
ns2:root <http://amr.isi.edu/amr_data/asail_odrl_sentences-03#a> .
ns3:allow-01.ARG1 a ns3:FrameRole .
......@@ -20,34 +20,34 @@ ns3:play-01.ARG0 a ns3:FrameRole .
ns3:play-01.ARG1 a ns3:FrameRole .
<http://amr.isi.edu/amr_data/document-03#a> a ns3:allow-01 ;
ns3:allow-01.ARG1 <http://amr.isi.edu/amr_data/document-03#p> ;
ns2:polarity "-" .
<http://amr.isi.edu/amr_data/asail_odrl_sentences-03#a> a ns3:allow-01 ;
ns3:allow-01.ARG1 <http://amr.isi.edu/amr_data/asail_odrl_sentences-03#p> ;
ns1:polarity "-" .
<http://amr.isi.edu/amr_data/document-03#m> a ns2:movie .
<http://amr.isi.edu/amr_data/asail_odrl_sentences-03#m> a ns1:movie .
<http://amr.isi.edu/amr_data/document-03#p> a ns3:play-01 ;
ns3:play-01.ARG0 <http://amr.isi.edu/amr_data/document-03#p2> ;
ns3:play-01.ARG1 <http://amr.isi.edu/amr_data/document-03#m> .
<http://amr.isi.edu/amr_data/asail_odrl_sentences-03#p> a ns3:play-01 ;
ns3:play-01.ARG0 <http://amr.isi.edu/amr_data/asail_odrl_sentences-03#p2> ;
ns3:play-01.ARG1 <http://amr.isi.edu/amr_data/asail_odrl_sentences-03#m> .
<http://amr.isi.edu/amr_data/document-03#p2> a <http://amr.isi.edu/entity-types#person> ;
<http://amr.isi.edu/amr_data/asail_odrl_sentences-03#p2> a <http://amr.isi.edu/entity-types#person> ;
rdfs:label "John" .
<http://amr.isi.edu/entity-types#person> a ns1:NamedEntity .
<http://amr.isi.edu/entity-types#person> a ns2:NamedEntity .
ns3:allow-01 a ns1:Frame .
ns3:allow-01 a ns2:Frame .
ns3:play-01 a ns1:Frame .
ns3:play-01 a ns2:Frame .
ns2:movie a ns1:Concept .
ns1:movie a ns2:Concept .
ns1:NamedEntity a ns1:Concept ;
ns2:NamedEntity a ns2:Concept ;
rdfs:label "AMR-EntityType",
"AMR-Term" .
ns1:Frame a ns1:Concept ;
ns2:Frame a ns2:Concept ;
rdfs:label "AMR-PropBank-Frame" .
ns3:FrameRole a ns1:Role ;
ns3:FrameRole a ns2:Role ;
rdfs:label "AMR-PropBank-Role" .
@prefix ns1: <http://amr.isi.edu/rdf/core-amr#> .
@prefix ns2: <http://amr.isi.edu/rdf/amr-terms#> .
@prefix ns3: <http://amr.isi.edu/frames/ld/v1.2.2/> .
@prefix ns1: <http://amr.isi.edu/frames/ld/v1.2.2/> .
@prefix ns2: <http://amr.isi.edu/rdf/core-amr#> .
@prefix ns3: <http://amr.isi.edu/rdf/amr-terms#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
ns1:Concept a rdfs:Class ;
ns2:Concept a rdfs:Class ;
rdfs:label "AMR-Concept" .
ns1:Role a rdfs:Class ;
ns2:Role a rdfs:Class ;
rdfs:label "AMR-Role" .
<http://amr.isi.edu/amr_data/document-01#root01> a ns1:AMR ;
ns1:has-id "document-01" ;
ns1:has-sentence "Movie9899 can be displayed only in Germany." ;
ns1:root <http://amr.isi.edu/amr_data/document-01#p> .
<http://amr.isi.edu/amr_data/asail_odrl_sentences-04#root01> a ns2:AMR ;
ns2:has-id "asail_odrl_sentences-04" ;
ns2:has-sentence "Movie9899 can be displayed only in Germany." ;
ns2:root <http://amr.isi.edu/amr_data/asail_odrl_sentences-04#p> .
ns3:display-01.ARG1 a ns3:FrameRole .
ns1:display-01.ARG1 a ns1:FrameRole .
ns3:display-01.ARG2 a ns3:FrameRole .
ns1:display-01.ARG2 a ns1:FrameRole .
ns3:possible-01.ARG1 a ns3:FrameRole .
ns1:possible-01.ARG1 a ns1:FrameRole .
ns2:mod a ns1:Role .
ns3:mod a ns2:Role .
<http://amr.isi.edu/amr_data/document-01#c> a <http://amr.isi.edu/entity-types#country> ;
<http://amr.isi.edu/amr_data/asail_odrl_sentences-04#c> a <http://amr.isi.edu/entity-types#country> ;
rdfs:label "Germany" ;
ns2:mod <http://amr.isi.edu/amr_data/document-01#o> .
ns3:mod <http://amr.isi.edu/amr_data/asail_odrl_sentences-04#o> .
<http://amr.isi.edu/amr_data/document-01#d> a ns3:display-01 ;
ns3:display-01.ARG1 <http://amr.isi.edu/amr_data/document-01#m> ;
ns3:display-01.ARG2 <http://amr.isi.edu/amr_data/document-01#c> .
<http://amr.isi.edu/amr_data/asail_odrl_sentences-04#d> a ns1:display-01 ;
ns1:display-01.ARG1 <http://amr.isi.edu/amr_data/asail_odrl_sentences-04#m> ;
ns1:display-01.ARG2 <http://amr.isi.edu/amr_data/asail_odrl_sentences-04#c> .
<http://amr.isi.edu/amr_data/document-01#m> a ns2:movie ;
<http://amr.isi.edu/amr_data/asail_odrl_sentences-04#m> a ns3:movie ;
rdfs:label "9899" .
<http://amr.isi.edu/amr_data/document-01#o> a ns2:only .
<http://amr.isi.edu/amr_data/asail_odrl_sentences-04#o> a ns3:only .
<http://amr.isi.edu/amr_data/document-01#p> a ns3:possible-01 ;
ns3:possible-01.ARG1 <http://amr.isi.edu/amr_data/document-01#d> .
<http://amr.isi.edu/amr_data/asail_odrl_sentences-04#p> a ns1:possible-01 ;
ns1:possible-01.ARG1 <http://amr.isi.edu/amr_data/asail_odrl_sentences-04#d> .
<http://amr.isi.edu/entity-types#country> a ns1:NamedEntity .
<http://amr.isi.edu/entity-types#country> a ns2:NamedEntity .
ns3:display-01 a ns1:Frame .
ns1:display-01 a ns2:Frame .
ns3:possible-01 a ns1:Frame .
ns1:possible-01 a ns2:Frame .
ns2:movie a ns1:Concept .
ns3:movie a ns2:Concept .
ns2:only a ns1:Concept .
ns3:only a ns2:Concept .
ns1:NamedEntity a ns1:Concept ;
ns2:NamedEntity a ns2:Concept ;
rdfs:label "AMR-EntityType",
"AMR-Term" .
ns1:Frame a ns1:Concept ;
ns2:Frame a ns2:Concept ;
rdfs:label "AMR-PropBank-Frame" .
ns3:FrameRole a ns1:Role ;
ns1:FrameRole a ns2:Role ;
rdfs:label "AMR-PropBank-Role" .
@prefix ns1: <http://amr.isi.edu/frames/ld/v1.2.2/> .
@prefix ns2: <http://amr.isi.edu/rdf/amr-terms#> .
@prefix ns3: <http://amr.isi.edu/rdf/core-amr#> .
@prefix ns2: <http://amr.isi.edu/rdf/core-amr#> .
@prefix ns3: <http://amr.isi.edu/rdf/amr-terms#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
ns3:Concept a rdfs:Class ;
ns2:Concept a rdfs:Class ;
rdfs:label "AMR-Concept" .
ns3:Role a rdfs:Class ;
ns2:Role a rdfs:Class ;
rdfs:label "AMR-Role" .
<http://amr.isi.edu/amr_data/document-02#root01> a ns3:AMR ;
ns3:has-id "document-02" ;
ns3:has-sentence "Movie9899 can be displayed only after 2019.." ;
ns3:root <http://amr.isi.edu/amr_data/document-02#p> .
<http://amr.isi.edu/amr_data/asail_odrl_sentences-05#root01> a ns2:AMR ;
ns2:has-id "asail_odrl_sentences-05" ;
ns2:has-sentence "Movie9899 can be displayed only after 2019." ;
ns2:root <http://amr.isi.edu/amr_data/asail_odrl_sentences-05#p> .
ns1:display-01.ARG1 a ns1:FrameRole .
ns1:possible-01.ARG1 a ns1:FrameRole .
ns2:mod a ns3:Role .
ns3:mod a ns2:Role .
ns2:op1 a ns3:Role .
ns3:op1 a ns2:Role .
ns2:time a ns3:Role .
ns3:time a ns2:Role .
ns3:NamedEntity a ns3:Concept ;
ns2:NamedEntity a ns2:Concept ;
rdfs:label "AMR-EntityType",
"AMR-Term" .
<http://amr.isi.edu/amr_data/document-02#a> a ns3:after ;
ns2:mod <http://amr.isi.edu/amr_data/document-02#o> ;
ns2:op1 <http://amr.isi.edu/amr_data/document-02#d2> .
<http://amr.isi.edu/amr_data/asail_odrl_sentences-05#a> a ns2:after ;
ns3:mod <http://amr.isi.edu/amr_data/asail_odrl_sentences-05#o> ;
ns3:op1 <http://amr.isi.edu/amr_data/asail_odrl_sentences-05#d2> .
<http://amr.isi.edu/amr_data/document-02#d> a ns1:display-01 ;
ns1:display-01.ARG1 <http://amr.isi.edu/amr_data/document-02#m> ;
ns2:time <http://amr.isi.edu/amr_data/document-02#a> .
<http://amr.isi.edu/amr_data/asail_odrl_sentences-05#d> a ns1:display-01 ;
ns1:display-01.ARG1 <http://amr.isi.edu/amr_data/asail_odrl_sentences-05#m> ;
ns3:time <http://amr.isi.edu/amr_data/asail_odrl_sentences-05#a> .
<http://amr.isi.edu/amr_data/document-02#d2> a ns3:date-entity ;
ns2:year "2019" .
<http://amr.isi.edu/amr_data/asail_odrl_sentences-05#d2> a ns2:date-entity ;
ns3:year "2019" .
<http://amr.isi.edu/amr_data/document-02#m> a ns2:movie ;
<http://amr.isi.edu/amr_data/asail_odrl_sentences-05#m> a ns3:movie ;
rdfs:label "9899" .
<http://amr.isi.edu/amr_data/document-02#o> a ns2:only .
<http://amr.isi.edu/amr_data/asail_odrl_sentences-05#o> a ns3:only .
<http://amr.isi.edu/amr_data/document-02#p> a ns1:possible-01 ;
ns1:possible-01.ARG1 <http://amr.isi.edu/amr_data/document-02#d> .
<http://amr.isi.edu/amr_data/asail_odrl_sentences-05#p> a ns1:possible-01 ;
ns1:possible-01.ARG1 <http://amr.isi.edu/amr_data/asail_odrl_sentences-05#d> .
ns1:display-01 a ns3:Frame .
ns1:display-01 a ns2:Frame .
ns1:possible-01 a ns3:Frame .
ns1:possible-01 a ns2:Frame .
ns2:movie a ns3:Concept .
ns3:movie a ns2:Concept .
ns2:only a ns3:Concept .
ns3:only a ns2:Concept .
ns3:after a ns3:Concept .
ns2:after a ns2:Concept .
ns3:date-entity a ns3:Concept .
ns2:date-entity a ns2:Concept .
ns1:FrameRole a ns3:Role ;
ns1:FrameRole a ns2:Role ;
rdfs:label "AMR-PropBank-Role" .
ns3:Frame a ns3:Concept ;
ns2:Frame a ns2:Concept ;
rdfs:label "AMR-PropBank-Frame" .
@prefix ns1: <http://amr.isi.edu/rdf/core-amr#> .
@prefix ns2: <http://amr.isi.edu/rdf/amr-terms#> .
@prefix ns3: <http://amr.isi.edu/frames/ld/v1.2.2/> .
@prefix ns1: <http://amr.isi.edu/frames/ld/v1.2.2/> .
@prefix ns2: <http://amr.isi.edu/rdf/core-amr#> .
@prefix ns3: <http://amr.isi.edu/rdf/amr-terms#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
ns1:Concept a rdfs:Class ;
ns2:Concept a rdfs:Class ;
rdfs:label "AMR-Concept" .
ns1:Role a rdfs:Class ;
ns2:Role a rdfs:Class ;
rdfs:label "AMR-Role" .
<http://amr.isi.edu/amr_data/document-03#root01> a ns1:AMR ;
ns1:has-id "document-03" ;
ns1:has-sentence "John is not allowed to play the movie." ;
ns1:root <http://amr.isi.edu/amr_data/document-03#a> .
<http://amr.isi.edu/amr_data/asail_odrl_sentences-06#root01> a ns2:AMR ;
ns2:has-id "asail_odrl_sentences-06" ;
ns2:has-sentence "John is not allowed to play the movie." ;
ns2:root <http://amr.isi.edu/amr_data/asail_odrl_sentences-06#a> .
ns3:prohibit-01.ARG1 a ns3:FrameRole .
ns1:allow-01.ARG1 a ns1:FrameRole .
ns3:play-01.ARG0 a ns3:FrameRole .
ns1:play-01.ARG0 a ns1:FrameRole .
ns3:play-01.ARG1 a ns3:FrameRole .
ns1:play-01.ARG1 a ns1:FrameRole .
<http://amr.isi.edu/amr_data/document-03#a> a ns3:prohibit-01 ;
ns3:prohibit-01.ARG1 <http://amr.isi.edu/amr_data/document-03#p> ;
ns2:polarity "-" .
<http://amr.isi.edu/amr_data/asail_odrl_sentences-06#a> a ns1:allow-01 ;
ns1:allow-01.ARG1 <http://amr.isi.edu/amr_data/asail_odrl_sentences-06#p> ;
ns3:polarity "-" .
<http://amr.isi.edu/amr_data/document-03#m> a ns2:movie .
<http://amr.isi.edu/amr_data/asail_odrl_sentences-06#m> a ns3:movie .
<http://amr.isi.edu/amr_data/document-03#p> a ns3:play-01 ;
ns3:play-01.ARG0 <http://amr.isi.edu/amr_data/document-03#p2> ;
ns3:play-01.ARG1 <http://amr.isi.edu/amr_data/document-03#m> .
<http://amr.isi.edu/amr_data/asail_odrl_sentences-06#p> a ns1:play-01 ;
ns1:play-01.ARG0 <http://amr.isi.edu/amr_data/asail_odrl_sentences-06#p2> ;
ns1:play-01.ARG1 <http://amr.isi.edu/amr_data/asail_odrl_sentences-06#m> .
<http://amr.isi.edu/amr_data/document-03#p2> a <http://amr.isi.edu/entity-types#person> ;
<http://amr.isi.edu/amr_data/asail_odrl_sentences-06#p2> a <http://amr.isi.edu/entity-types#person> ;
rdfs:label "John" .
<http://amr.isi.edu/entity-types#person> a ns1:NamedEntity .
<http://amr.isi.edu/entity-types#person> a ns2:NamedEntity .
ns3:prohibit-01 a ns1:Frame .
ns1:allow-01 a ns2:Frame .
ns3:play-01 a ns1:Frame .
ns1:play-01 a ns2:Frame .
ns2:movie a ns1:Concept .
ns3:movie a ns2:Concept .
ns1:NamedEntity a ns1:Concept ;
ns2:NamedEntity a ns2:Concept ;
rdfs:label "AMR-EntityType",
"AMR-Term" .
ns1:Frame a ns1:Concept ;
ns2:Frame a ns2:Concept ;
rdfs:label "AMR-PropBank-Frame" .
ns3:FrameRole a ns1:Role ;
ns1:FrameRole a ns2:Role ;
rdfs:label "AMR-PropBank-Role" .
@prefix ns1: <http://amr.isi.edu/rdf/core-amr#> .
@prefix ns2: <http://amr.isi.edu/frames/ld/v1.2.2/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
ns1:Concept a rdfs:Class ;
rdfs:label "AMR-Concept" .
ns1:Role a rdfs:Class ;
rdfs:label "AMR-Role" .
<http://amr.isi.edu/amr_data/asail_odrl_sentences-07#root01> a ns1:AMR ;
ns1:has-id "asail_odrl_sentences-07" ;
ns1:has-sentence "John is prohibited not to reproduce the Work." ;
ns1:root <http://amr.isi.edu/amr_data/asail_odrl_sentences-07#p> .
ns2:prohibit-01.ARG1 a ns2:FrameRole .
ns2:prohibit-01.ARG2 a ns2:FrameRole .
ns2:reproduce-01.ARG0 a ns2:FrameRole .
ns2:reproduce-01.ARG1 a ns2:FrameRole .
<http://amr.isi.edu/amr_data/asail_odrl_sentences-07#p> a ns2:prohibit-01 ;
ns2:prohibit-01.ARG1 <http://amr.isi.edu/amr_data/asail_odrl_sentences-07#r> ;
ns2:prohibit-01.ARG2 <http://amr.isi.edu/amr_data/asail_odrl_sentences-07#p2> .
<http://amr.isi.edu/amr_data/asail_odrl_sentences-07#r> a ns2:reproduce-01 ;
ns2:reproduce-01.ARG0 <http://amr.isi.edu/amr_data/asail_odrl_sentences-07#p2> ;
ns2:reproduce-01.ARG1 <http://amr.isi.edu/amr_data/asail_odrl_sentences-07#w> .
<http://amr.isi.edu/amr_data/asail_odrl_sentences-07#w> a ns2:work-01 .
<http://amr.isi.edu/entity-types#person> a ns1:NamedEntity .
ns2:prohibit-01 a ns1:Frame .
ns2:reproduce-01 a ns1:Frame .
ns2:work-01 a ns1:Frame .
ns1:NamedEntity a ns1:Concept ;
rdfs:label "AMR-EntityType",
"AMR-Term" .
<http://amr.isi.edu/amr_data/asail_odrl_sentences-07#p2> a <http://amr.isi.edu/entity-types#person> ;
rdfs:label "John" .
ns1:Frame a ns1:Concept ;
rdfs:label "AMR-PropBank-Frame" .
ns2:FrameRole a ns1:Role ;
rdfs:label "AMR-PropBank-Role" .
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment