alpinotreebank.dact, alpinotreebank.zip
_vorfeld
alpino2agenshd-relatie onder cnj-relatie: _in_place=true|false
_vorfeld en _in_place klaar zijndact_attrib
dact_attrib voor DbXML versie 2 en dact_attrib_v6 voor versie 6Dit is een aardig begin. Er moeten minimaal twee crd’s en twee cnj’s zijn, en er moet een crd vooraan staan. Die crd vooraan is gewoonlijk de eerste node die genummerd wordt met een id onder de conj.
match (n1:nw)<-[:rel{rel:'crd'}]-(n:node{cat: 'conj'})-[:rel{rel: 'crd'}]->(:nw)
match (:nw{sentid: n.sentid})<-[:rel{rel:'cnj'}]-(n)-[:rel{rel: 'cnj'}]->(:nw)
where n1.id = n.id + 1
return n
Maar je krijgt vrij veel fouten. Met extra tests filter je die er uit:
match (n1:nw)<-[:rel{rel:'crd'}]-(n:node{cat: 'conj'})-[:rel{rel: 'crd'}]->(n3:nw)
match (n2:nw{sentid: n.sentid})<-[:rel{rel:'cnj'}]-(n)-[:rel{rel: 'cnj'}]->(n4:nw)
where n1.id = n.id + 1
and (
n1.id < n2.id
and n2.id < n3.id
and n3.id < n4.id
or
n1.begin < n2.begin
and n2.begin < n3.begin
and n3.begin < n4.begin
)
return n
Die tests met begin zijn nodig omdat de ids niet altijd oplopend
zijn genummerd. In SPOD in PaQu gaat dat ook fout. Daar wordt
deze zin
ook niet gevonden.
Ook met tests op begin erbij mis je er nog een paar die wel goed zijn, zoals deze:
Hiermee kun je zien welke items er door de toegevoegde tests worden uitgefilterd:
match (n1:nw)<-[:rel{rel:'crd'}]-(n:node{cat: 'conj'})-[:rel{rel: 'crd'}]->(:nw)
match (:nw{sentid: n.sentid})<-[:rel{rel:'cnj'}]-(n)-[:rel{rel: 'cnj'}]->(:nw)
where n1.id = n.id + 1
return n.sentid, n.id
except
match (n1:nw)<-[:rel{rel:'crd'}]-(n:node{cat: 'conj'})-[:rel{rel: 'crd'}]->(n3:nw)
match (n2:nw{sentid: n.sentid})<-[:rel{rel:'cnj'}]-(n)-[:rel{rel: 'cnj'}]->(n4:nw)
where n1.id = n.id + 1
and (
n1.id < n2.id
and n2.id < n3.id
and n3.id < n4.id
or
n1.begin < n2.begin
and n2.begin < n3.begin
and n3.begin < n4.begin
)
return n.sentid, n.id