Merge branch 'payload-id' of ssh://korap.ids-mannheim.de:29418/KorAP/Krill into payload-id
diff --git a/misc/payloads.md b/misc/payloads.md
index c0f2eb6..65ac2bf 100644
--- a/misc/payloads.md
+++ b/misc/payloads.md
@@ -94,37 +94,35 @@
These positions are always stored in integer.
-Relation TUI, left-part TUI and right-part TUI are also stored in
+Left-part TUI, right-part TUI, and relation TUI are also stored in
payloads. Relation TUIs are only necessary, in case an attribute
refers to it. It is necessary to have different length in payloads
for each of the following relations, so that the start and the end
ositions of the left and right parts can be determined.
1) Term to term relation
-has 1 integer for the right part token position, 1 short for the
-relation TUI, 1 short for the left-part TUI, and 1 short for
-right-part TUI. For example:
+has 1 integer for the right part token position, 1 short for the left-part TUI, 1 short for
+right-part TUI and 1 short for the
+relation TUI. For example:
- >:dependency$\<b\>32\<i\>3\<s\>3\<s\>5\<s\>4
+ >:dependency$\<b\>32\<i\>3\<s\>5\<s\>4\<s\>3
-has a token as the right part at (end) position 3, the relation
-TUI 3, the source TUI 5 and the target TUI 4.
+has a token as the right part at (end) position 3, the source TUI 5, the target TUI 4 and the relation TUI 3.
2) Term to element relation
has 1 integer for the start position of the right part, 1 integer
or the end position of the right part, and 3 TUIs as above.
- >:dependency$\<b\>33\<i\>1\<i\>3\<s\>3\<s\>5\<s\>4
+ >:dependency$\<b\>33\<i\>1\<i\>3\<s\>5\<s\>4\<s\>3
means the right part starts at token position 1 and ends at token
position 3.
3) Element to term relation
-has 1 integer for end position of the left part, 1 byte as a dummy
-to differentiate payload length, 1 integer for end position of the
+has 1 integer for end position of the left part, 1 integer for end position of the
right part, and 3 TUIs as above.
- >:dependency$\<b\>34\<i\>2\<b\>0\<i\>3\<s\>3\<s\>5\<s\>4
+ >:dependency$\<b\>34\<i\>2\<i\>3\<s\>5\<s\>4\<s\>3
means the left part ends at token position 2, and right part is a
term ending at position 3.
@@ -134,21 +132,17 @@
start position of the right part, 1 integer for end position of the
right part, and 3 TUIs as above.
- >:dependency$\<b\>35\<i\>2\<i\>3\<i\>4\<s\>3\<s\>5\<s\>4
+ >:dependency$\<b\>35\<i\>2\<i\>3\<i\>4\<s\>5\<s\>4\<s\>3
means the left part ends at token position 2, the right part is an
element starting at position 3 and ending at position 4.
*PTIs* (it’s a relation payload if the third bit is set):
- 32 >, term to term (with optional TUI and certainty)
- 33 >, term to element (with optional TUI and certainty)
- 34 >, element to term (with optional TUI and certainty)
- 35 >, element to element (with optional TUI and certainty)
- 40 <, term to term (with optional TUI and certainty)
- 41 <, term to element (with optional TUI and certainty)
- 42 <, element to term (with optional TUI and certainty)
- 43 <, element to element (with optional TUI and certainty)
+ 32 term to term relation (with optional relation TUI and certainty)
+ 33 term to element relation (with optional relation TUI and certainty)
+ 34 element to term relation (with optional relation TUI and certainty)
+ 35 element to element relation (with optional relation TUI and certainty)
### Attribute payloads
Each attribute has two payloads:
@@ -185,7 +179,3 @@
0 (no bit is set).
-
-
-
-
diff --git a/src/main/java/de/ids_mannheim/korap/query/spans/CandidateSpan.java b/src/main/java/de/ids_mannheim/korap/query/spans/CandidateSpan.java
index 1411f60..7490dec 100644
--- a/src/main/java/de/ids_mannheim/korap/query/spans/CandidateSpan.java
+++ b/src/main/java/de/ids_mannheim/korap/query/spans/CandidateSpan.java
@@ -23,7 +23,9 @@
private int position;
private CandidateSpan childSpan; // used for example for multiple distance
// with unordered constraint
- protected short spanId;
+ protected short spanId;
+ protected boolean hasSpanId;
+
private short leftId, rightId;
private int leftStart, leftEnd;
private int rightStart, rightEnd;
@@ -50,9 +52,11 @@
if (span instanceof SimpleSpans) {
SimpleSpans temp = (SimpleSpans) span;
this.spanId = temp.getSpanId();
+ this.hasSpanId = temp.hasSpanId;
}
else if (span instanceof ClassSpans) {
this.spanId = ((ClassSpans) span).getNumber();
+ this.hasSpanId = true;
}
}
@@ -297,6 +301,8 @@
*/
public void setSpanId (short spanId) {
this.spanId = spanId;
+ if (spanId > 0)
+ this.hasSpanId = true;
}
diff --git a/src/main/java/de/ids_mannheim/korap/query/spans/ElementSpans.java b/src/main/java/de/ids_mannheim/korap/query/spans/ElementSpans.java
index 9571c8b..1380c91 100644
--- a/src/main/java/de/ids_mannheim/korap/query/spans/ElementSpans.java
+++ b/src/main/java/de/ids_mannheim/korap/query/spans/ElementSpans.java
@@ -122,6 +122,7 @@
// silently setting empty element and payload
this.matchEndPosition = this.matchStartPosition;
this.setSpanId((short) -1);
+ this.hasSpanId = false;
this.matchPayload = null;
return;
}
@@ -142,6 +143,7 @@
}
else {
this.setSpanId((short) -1);
+ this.hasSpanId = false;
}
// FIX ME
@@ -153,6 +155,7 @@
this.matchEndPosition = this.matchStartPosition;
this.setSpanId((short) -1);
+ this.hasSpanId = false;
this.matchPayload = null;
};
diff --git a/src/main/java/de/ids_mannheim/korap/query/spans/RelationSpans.java b/src/main/java/de/ids_mannheim/korap/query/spans/RelationSpans.java
index 02d9656..72cfc82 100644
--- a/src/main/java/de/ids_mannheim/korap/query/spans/RelationSpans.java
+++ b/src/main/java/de/ids_mannheim/korap/query/spans/RelationSpans.java
@@ -127,8 +127,8 @@
this.matchEndPosition = cs.getEnd();
this.matchPayload = cs.getPayloads();
this.setRightStart(cs.getRightStart());
- this.setRightEnd(cs.getRightEnd());
- this.spanId = cs.getSpanId(); // relation id
+ this.setRightEnd(cs.getRightEnd());
+ this.spanId = cs.getSpanId(); // relation id
this.leftId = cs.getLeftId();
this.rightId = cs.getRightId();
candidateList.remove(0);
@@ -193,12 +193,22 @@
cs.setLeftEnd(cs.start + 1);
cs.setRightStart(i);
cs.setRightEnd(i + 1);
+ cs.setLeftId(bb.getShort(5)); // left id
+ cs.setRightId(bb.getShort(7)); // right id
+ if (length > 9) {
+ cs.setSpanId(bb.getShort(9)); // relation id
+ }
}
else if (payloadTypeIdentifier == PayloadTypeIdentifier.TERM_TO_ELEMENT.value) { // length
// 15
cs.setLeftEnd(cs.start + 1);
cs.setRightStart(bb.getInt(1));
cs.setRightEnd(bb.getInt(5));
+ cs.setLeftId(bb.getShort(9)); // left id
+ cs.setRightId(bb.getShort(11)); // right id
+ if (length > 13) {
+ cs.setSpanId(bb.getShort(13)); // relation id
+ }
}
else if (payloadTypeIdentifier == PayloadTypeIdentifier.ELEMENT_TO_TERM.value) { // length
// 15
@@ -207,17 +217,26 @@
i = bb.getInt(5);
cs.setRightStart(i);
cs.setRightEnd(i + 1);
+ cs.setLeftId(bb.getShort(9)); // left id
+ cs.setRightId(bb.getShort(11)); // right id
+ if (length > 13) {
+ cs.setSpanId(bb.getShort(13)); // relation id
+ }
}
else if (payloadTypeIdentifier == PayloadTypeIdentifier.ELEMENT_TO_ELEMENT.value) {
+ // length 19
cs.setEnd(bb.getInt(1));
cs.setLeftEnd(cs.end);
cs.setRightStart(bb.getInt(5));
cs.setRightEnd(bb.getInt(9));
- }
+ cs.setLeftId(bb.getShort(13)); // left id
+ cs.setRightId(bb.getShort(15)); // right id
+ if (length > 17) {
+ cs.setSpanId(bb.getShort(17)); // relation id
+ }
+ }
- cs.setRightId(bb.getShort(length - 2)); //right id
- cs.setLeftId(bb.getShort(length - 4)); //left id
- cs.setSpanId(bb.getShort(length - 6)); //relation id
+
// Payload is cleared.
}
diff --git a/src/main/java/de/ids_mannheim/korap/query/spans/SpansWithAttribute.java b/src/main/java/de/ids_mannheim/korap/query/spans/SpansWithAttribute.java
index c38b332..e58f59d 100644
--- a/src/main/java/de/ids_mannheim/korap/query/spans/SpansWithAttribute.java
+++ b/src/main/java/de/ids_mannheim/korap/query/spans/SpansWithAttribute.java
@@ -238,8 +238,12 @@
*/
private boolean searchSpanPosition () throws IOException {
while (hasMoreSpans) {
- if (referentSpans.getSpanId() < 1) { // the element does not have an attribute
- hasMoreSpans = referentSpans.next();
+ // the element does not have an attribute
+ if (referentSpans.getSpanId() < 1) {
+ if (attributeList.size() == 0 || notAttributeList.size() > 0) {
+ return true;
+ }
+ hasMoreSpans = referentSpans.next();
continue;
}
if (checkAttributeListPosition()) {
diff --git a/src/test/java/de/ids_mannheim/korap/index/TestAttributeIndex.java b/src/test/java/de/ids_mannheim/korap/index/TestAttributeIndex.java
index 069d9a5..085c42a 100644
--- a/src/test/java/de/ids_mannheim/korap/index/TestAttributeIndex.java
+++ b/src/test/java/de/ids_mannheim/korap/index/TestAttributeIndex.java
@@ -37,9 +37,9 @@
"base",
"bcbabd",
"[(0-1)s:a|_1$<i>0<i>1|"
+ + "<>:s$<b>64<i>0<i>5<i>5<b>0<s>3|"
+ "<>:div$<b>64<i>0<i>2<i>2<b>0<s>2|"
+ "<>:div$<b>64<i>0<i>3<i>3<b>0<s>1|"
- + "<>:s$<b>64<i>0<i>5<i>5<b>0<s>3|"
+ "@:class=header$<b>17<i>3<s>1|@:class=header$<b>17<i>2<s>2]"
+ "[(1-2)s:e|_2$<i>1<i>2|"
@@ -52,16 +52,18 @@
+ "<>:div$<b>64<i>3<i>5<i>5<b>0<s>1|@:class=header$<b>17<i>5<s>1]"
+ "[(4-5)s:b|_5$<i>4<i>5|"
+ + "<>:a$<b>64<i>4<i>5<i>5<b>0<s>2|"
+ "<>:div$<b>64<i>4<i>5<i>5<b>0<s>1|"
- + "<>:a$<b>64<i>4<i>5<i>5<b>0<s>2|@:class=header$<b>17<i>5<s>2]"
+ + "@:class=header$<b>17<i>5<s>2]"
+ "[(5-6)s:d|_6$<i>5<i>6|"
+ + "<>:div$<b>64<i>5<i>6<i>6<b>0<s>2|"
+ "<>:s$<b>64<i>5<i>6<i>6<b>0<s>1|"
- + "<>:div$<b>64<i>5<i>6<i>6<b>0<s>2|@:class=header$<b>17<i>6<s>1]"
+ + "@:class=header$<b>17<i>6<s>1]"
+ "[(6-7)s:d|_7$<i>6<i>7|"
+ + "<>:s$<b>64<i>6<i>7<i>7<b>0<s>2|"
+ "<>:div$<b>64<i>6<i>7<i>7<b>0<s>1"
- + "<>:s$<b>64<i>6<i>7<i>7<b>0<s>2|"
+ "|@:class=header$<b>17<i>7<s>1|@:class=header$<b>17<i>7<s>2]");
return fd;
@@ -75,25 +77,31 @@
"base",
"bcbabd",
"[(0-1)s:b|_1$<i>0<i>1|"
+ + "<>:s<b>64<i>0<i>5<i>5<b>0<s>2|"
+ "<>:div$<b>64<i>0<i>3<i>3<b>0<s>1|"
- + "<>:s<b>64<i>0<i>5<i>5<b>0<s>2|"
+ "@:class=header$<b>17<i>3<s>1|@:class=title$<b>17<i>3<s>1|@:class=book$<b>17<i>3<s>1]"
+
+ "[(1-2)s:c|_2$<i>1<i>2|"
+ "<>:div$<b>64<i>1<i>2<i>2<b>0<s>1|"
+ "@:class=header$<b>17<i>2<s>1|@:class=title$<b>17<i>2<s>1]"
+
+ "[(2-3)s:b|_3$<i>2<i>3|"
+ "<>:div$<b>64<i>2<i>5<i>5<b>0<s>1|@:class=book$<b>17<i>5<s>1]"
+
+ "[(3-4)s:a|_4$<i>3<i>4|"
+ "<>:div$<b>64<i>3<i>5<i>5<b>0<s>1|@:class=title$<b>17<i>5<s>1]"
+
+ "[(4-5)s:b|_5$<i>4<i>5|"
+ "<>:div$<b>64<i>4<i>5<i>5<b>0<s>1|"
+ "@:class=header$<b>17<i>5<s>1|@:class=book$<b>17<i>5<s>1|@:class=title$<b>17<i>5<s>1]"
+
+ "[(5-6)s:d|_6$<i>5<i>6|"
+ + "<>:s$<b>64<i>5<i>6<i>6<b>0<s>2|"
+ "<>:div$<b>64<i>5<i>6<i>6<b>0<s>1|@:class=header$<b>17<i>6<s>1]"
- + "<>:s$<b>64<i>5<i>6<i>6<b>0<s>2|"
+
+ "[(6-7)s:d|_7$<i>6<i>7|"
+ + "<>:s$<b>64<i>6<i>7<i>7<b>0<s>2|"
+ "<>:div$<b>64<i>6<i>7<i>7<b>0<s>1|"
- + "<>:s$<b>64<i>6<i>7<i>7<b>0<s>2|"
+ "@:class=header$<b>17<i>7<s>1|@:class=title$<b>17<i>7<s>1]");
return fd;
@@ -107,25 +115,33 @@
"base",
"bcbabd",
"[(0-1)s:b|_1$<i>0<i>1|"
+ + "<>:div$<b>64<i>0<i>3<i>3<b>0<s>2|"
+ "<>:s$<b>64<i>0<i>5<i>5<b>0<s>1|"
- + "<>:div$<b>64<i>0<i>3<i>3<b>0<s>2|"
+ "@:class=header$<b>17<i>3<s>2|@:class=book$<b>17<i>5<s>1|@:class=book$<b>17<i>3<s>2]"
+
+ "[(1-2)s:e|_2$<i>1<i>2|"
+ + "<>:a$<b>64<i>1<i>2<i>2<b>0<s>2|"
+ "<>:div$<b>64<i>1<i>2<i>2<b>0<s>1|"
- + "<>:a$<b>64<i>1<i>2<i>2<b>0<s>2|@:class=book$<b>17<i>2<s>2|@:class=header$<b>17<i>2<s>1]"
+ + "@:class=book$<b>17<i>2<s>2|@:class=header$<b>17<i>2<s>1]"
+
+ "[(2-3)s:b|_3$<i>2<i>3|"
+ + "<>:a$<b>64<i>1<i>2<i>2<b>0<s>2|"
+ "<>:div$<b>64<i>2<i>3<i>5<b>0<s>1|"
- + "<>:a$<b>64<i>1<i>2<i>2<b>0<s>2|@:class=header$<b>17<i>2<s>2|@:class=book$<b>17<i>5<s>1]"
+ + "@:class=header$<b>17<i>2<s>2|@:class=book$<b>17<i>5<s>1]"
+
+ "[(3-4)s:a|_4$<i>3<i>4|"
+ "<>:div$<b>64<i>3<i>5<i>5<b>0<s>1|@:class=title$<b>17<i>5<s>1]"
+
+ "[(4-5)s:b|_5$<i>4<i>5|"
+ "<>:div$<b>64<i>4<i>5<i>5<b>0<s>1|@:class=header$<b>17<i>5<s>1|@:class=book$<b>17<i>5<s>1]"
+
+ "[(5-6)s:d|_6$<i>5<i>6|"
+ "<>:s$<b>64<i>5<i>6<i>6<b>0<s>1|"
+ "<>:div$<b>64<i>5<i>6<i>6<b>0<s>1|@:class=header$<b>17<i>6<s>1]"
+
+ "[(6-7)s:d|_7$<i>6<i>7|"
+ + "<>:s$<b>64<i>6<i>7<i>7<b>0<s>2|"
+ "<>:div$<b>64<i>6<i>7<i>7<b>0<s>1|"
- + "<>:s$<b>64<i>6<i>7<i>7<b>0<s>2|"
+ "@:class=header$<b>17<i>7<s>1|@:class=book$<b>17<i>7<s>2]");
return fd;
diff --git a/src/test/java/de/ids_mannheim/korap/index/TestReferenceIndex.java b/src/test/java/de/ids_mannheim/korap/index/TestReferenceIndex.java
index 687ef5f..e40fbc4 100644
--- a/src/test/java/de/ids_mannheim/korap/index/TestReferenceIndex.java
+++ b/src/test/java/de/ids_mannheim/korap/index/TestReferenceIndex.java
@@ -242,25 +242,30 @@
"tokens",
"Frankenstein, treat my daughter well. She is the one that saved your master who you hold so dear.",
- "[(0-12)s:Frankenstein|_0$<i>0<i>12|<>:nn$<b>64<i>0<i>12<i>1<b>0<s>18|"
- + "<>:s$<b>64<i>0<i>37<i>4<b>0<s>1|"
- + "<>:np$<b>64<i>0<i>13<i>1<b>0<s>2|"
- + "<:stanford/d:tag$<b>32<i>1<s>1<s>18<s>19]"
+ "[(0-12)s:Frankenstein|_0$<i>0<i>12|"
+ + "<>:nn$<b>64<i>0<i>12<i>1<b>0<s>3|"
+ + "<>:np$<b>64<i>0<i>13<i>1<b>0<s>2|"
+ + "<>:s$<b>64<i>0<i>37<i>4<b>0<s>1|"
+ + "<:stanford/d:tag$<b>32<i>1<s>3<s>1]"
- + "[(14-19)s:treat|_1$<i>14<i>19|<>:vb$<b>64<i>14<i>19<i>2<b>0<s>19|"
- + "<>:vp$<b>64<i>14<i>36<i>4<b>0<s>3|"
- + ">:stanford/d:tag$<b>32<i>0<s>2<s>19<s>18|"
- + ">:stanford/d:tag$<b>32<i>3<s>3<s>19<s>21|"
- + ">:stanford/d:tag$<b>32<i>4<s>4<s>19<s>22]"
+ + "[(14-19)s:treat|_1$<i>14<i>19|"
+ + "<>:vb$<b>64<i>14<i>19<i>2<b>0<s>1|"
+ + "<>:vp$<b>64<i>14<i>36<i>4<b>0<s>2|"
+ + ">:stanford/d:tag$<b>32<i>0<s>1<s>3|"
+ + ">:stanford/d:tag$<b>32<i>3<s>1<s>1|"
+ + ">:stanford/d:tag$<b>32<i>4<s>1<s>1]"
- + "[(20-22)s:my|_2$<i>20<i>22|<>:prp$<b>64<i>20<i>22<i>3<b>0<s>20|"
- + "<>:np$<b>64<i>20<i>31<i>3<b>0<s>4]"
+ + "[(20-22)s:my|_2$<i>20<i>22|"
+ + "<>:prp$<b>64<i>20<i>22<i>3<b>0<s>1|"
+ + "<>:np$<b>64<i>20<i>31<i>3<b>0<s>2]"
- + "[(23-31)s:daughter|_3$<i>23<i>31|<>:nn$<b>64<i>23<i>31<i>4<b>0<s>21|"
- + ">:stanford/d:tag$<b>32<i>2<s>5<s>21<s>20]"
+ + "[(23-31)s:daughter|_3$<i>23<i>31|"
+ + "<>:nn$<b>64<i>23<i>31<i>4<b>0<s>1|"
+ + ">:stanford/d:tag$<b>32<i>2<s>1<s>1]"
- + "[(32-36)s:well|_4$<i>32<i>36|<>:rb$<b>64<i>32<i>36<i>5<b>0<s>22|"
- + "<>:advp$<b>64<i>32<i>36<i>4<b>0<s>5]");
+ + "[(32-36)s:well|_4$<i>32<i>36|"
+ + "<>:rb$<b>64<i>32<i>36<i>5<b>0<s>1|"
+ + "<>:advp$<b>64<i>32<i>36<i>4<b>0<s>2]");
return fd;
}
@@ -272,78 +277,95 @@
"tokens",
"Frankenstein, treat my daughter well. She is the one that saved your master who you hold so dear.",
- "[(0-12)s:Frankenstein|_0$<i>0<i>12|<>:nn$<b>64<i>0<i>12<i>1<b>0<s>18|"
+ "[(0-12)s:Frankenstein|_0$<i>0<i>12|"
+ + "<>:nn$<b>64<i>0<i>12<i>1<b>0<s>3|"
+ + "<>:np$<b>64<i>0<i>13<i>1<b>0<s>2|"
+ "<>:s$<b>64<i>0<i>37<i>5<b>0<s>1|"
- + "<>:np$<b>64<i>0<i>13<i>1<b>0<s>2|"
- + "<:stanford/d:tag$<b>32<i>1<s>1<s>18<s>19]"
+ + "<:stanford/d:tag$<b>32<i>1<s>3<s>1]"
- + "[(14-19)s:treat|_1$<i>14<i>19|<>:vb$<b>64<i>14<i>19<i>2<b>0<s>19|"
- + "<>:vp$<b>64<i>14<i>36<i>5<b>0<s>3|"
- + ">:stanford/d:tag$<b>32<i>0<s>2<s>19<s>18|"
- + ">:stanford/d:tag$<b>32<i>3<s>3<s>19<s>21|"
- + ">:stanford/d:tag$<b>32<i>4<s>4<s>19<s>22]"
+ + "[(14-19)s:treat|_1$<i>14<i>19|"
+ + "<>:vb$<b>64<i>14<i>19<i>2<b>0<s>1|"
+ + "<>:vp$<b>64<i>14<i>36<i>5<b>0<s>2|"
+ + ">:stanford/d:tag$<b>32<i>0<s>1<s>2|"
+ + ">:stanford/d:tag$<b>32<i>3<s>1<s>1|"
+ + ">:stanford/d:tag$<b>32<i>4<s>1<s>1]"
+ "[(20-22)s:my|_2$<i>20<i>22|"
- + "<>:prp$<b>64<i>20<i>22<i>3<b>0<s>20|"
- + "<>:np$<b>64<i>20<i>31<i>4<b>0<s>4]"
+ + "<>:prp$<b>64<i>20<i>22<i>3<b>0<s>1|"
+ + "<>:np$<b>64<i>20<i>31<i>4<b>0<s>2]"
- + "[(23-31)s:daughter|_3$<i>23<i>31|<>:nn$<b>64<i>23<i>31<i>4<b>0<s>21|"
- + ">:stanford/d:tag$<b>32<i>2<s>5<s>21<s>20]"
+ + "[(23-31)s:daughter|_3$<i>23<i>31|"
+ + "<>:nn$<b>64<i>23<i>31<i>4<b>0<s>1|"
+ + ">:stanford/d:tag$<b>32<i>2<s>21<s>1]"
+ "[(32-36)s:well|_4$<i>32<i>36|"
- + "<>:rb$<b>64<i>32<i>36<i>5<b>0<s>22|"
- + "<>:advp$<b>64<i>32<i>36<i>5<b>0<s>5]"
+ + "<>:rb$<b>64<i>32<i>36<i>5<b>0<s>1|"
+ + "<>:advp$<b>64<i>32<i>36<i>5<b>0<s>2]"
- + "[(38-41)s:She|_5$<i>38<i>41|<>:prp$<b>64<i>38<i>41<i>6<b>0<s>23|"
- + "<>:np$<b>64<i>38<i>41<i>6<b>0<s>36|"
- + "<>:s$<b>64<i>38<i>97<i>18<b>0<s>6]"
+ + "[(38-41)s:She|_5$<i>38<i>41|"
+ + "<>:prp$<b>64<i>38<i>41<i>6<b>0<s>3|"
+ + "<>:np$<b>64<i>38<i>41<i>6<b>0<s>2|"
+ + "<>:s$<b>64<i>38<i>97<i>18<b>0<s>1]"
- + "[(42-44)s:is|_6$<i>42<i>44|<>:vb$<b>64<i>42<i>44<i>7<b>0<s>24|<>:vp$<b>64<i>42<i>96<i>18<b>0<s>7]"
+ + "[(42-44)s:is|_6$<i>42<i>44|"
+ + "<>:vb$<b>64<i>42<i>44<i>7<b>0<s>1|"
+ + "<>:vp$<b>64<i>42<i>96<i>18<b>0<s>2]"
- + "[(45-48)s:the|_7$<i>45<i>48|<>:dt$<b>64<i>45<i>48<i>8<b>0<s>25|"
- + "<>:np$<b>64<i>45<i>52<i>9<b>0<s>8|"
- + "<>:np$<b>64<i>45<i>96<i>18<b>0<s>9]"
+ + "[(45-48)s:the|_7$<i>45<i>48|"
+ + "<>:dt$<b>64<i>45<i>48<i>8<b>0<s>3|"
+ + "<>:np$<b>64<i>45<i>52<i>9<b>0<s>2|"
+ + "<>:np$<b>64<i>45<i>96<i>18<b>0<s>1]"
- + "[(49-52)s:one|_8$<i>49<i>52|<>:nn$<b>64<i>49<i>52<i>9<b>0<s>26|"
- + ">:stanford/d:tag$<b>32<i>5<s>6<s>26<s>23|"
- + ">:stanford/d:tag$<b>32<i>6<s>7<s>26<s>24|"
- + ">:stanford/d:tag$<b>32<i>7<s>8<s>26<s>25|"
- + ">:stanford/d:tag$<b>32<i>10<s>9<s>26<s>28]"
+ + "[(49-52)s:one|_8$<i>49<i>52|"
+ + "<>:nn$<b>64<i>49<i>52<i>9<b>0<s>1|"
+ + ">:stanford/d:tag$<b>32<i>5<s>1<s>3|"
+ + ">:stanford/d:tag$<b>32<i>6<s>1<s>1|"
+ + ">:stanford/d:tag$<b>32<i>7<s>1<s>3|"
+ + ">:stanford/d:tag$<b>32<i>10<s>1<s>1]"
- + "[(53-57)s:that|_9$<i>53<i>57|<>:rp$<b>64<i>53<i>57<i>10<b>0<s>27|"
- + "<>:sb$<b>64<i>53<i>96<i>18<b>0<s>10]"
+ + "[(53-57)s:that|_9$<i>53<i>57|"
+ + "<>:rp$<b>64<i>53<i>57<i>10<b>0<s>1|"
+ + "<>:sb$<b>64<i>53<i>96<i>18<b>0<s>2]"
- + "[(58-63)s:saved|_10$<i>58<i>63|<>:vb$<b>64<i>58<i>63<i>11<b>0<s>28|"
- + "<>:s$<b>64<i>58<i>96<i>18<b>0<s>11|"
- + "<>:vp$<b>64<i>58<i>96<i>18<b>0<s>12|"
- + ">:stanford/d:tag$<b>32<i>9<s>10<s>28<s>27|"
- + ">:stanford/d:tag$<b>32<i>12<s>11<s>28<s>30|"
- + ">:stanford/d:tag$<b>32<i>15<s>12<s>28<s>33]"
+ + "[(58-63)s:saved|_10$<i>58<i>63|"
+ + "<>:vb$<b>64<i>58<i>63<i>11<b>0<s>1|"
+ + "<>:s$<b>64<i>58<i>96<i>18<b>0<s>2|"
+ + "<>:vp$<b>64<i>58<i>96<i>18<b>0<s>3|"
+ + ">:stanford/d:tag$<b>32<i>9<s>1<s>1|"
+ + ">:stanford/d:tag$<b>32<i>12<s>1<s>1|"
+ + ">:stanford/d:tag$<b>32<i>15<s>1<s>33]"
- + "[(64-68)s:your|_11$<i>64<i>68|<>:prp$<b>64<i>64<i>68<i>12<b>0<s>29|"
- + "<>:np$<b>64<i>64<i>75<i>13<b>0<s>13]"
+ + "[(64-68)s:your|_11$<i>64<i>68|"
+ + "<>:prp$<b>64<i>64<i>68<i>12<b>0<s>1|"
+ + "<>:np$<b>64<i>64<i>75<i>13<b>0<s>2]"
- + "[(69-75)s:master|_12$<i>69<i>75|<>:nn$<b>64<i>69<i>75<i>13<b>0<s>30|"
- + ">:stanford/d:tag$<b>32<i>11<s>13<s>30<s>29]"
+ + "[(69-75)s:master|_12$<i>69<i>75|"
+ + "<>:nn$<b>64<i>69<i>75<i>13<b>0<s>1|"
+ + ">:stanford/d:tag$<b>32<i>11<s>1<s>1]"
- + "[(76-79)s:who|_13$<i>76<i>79|<>:rp$<b>64<i>76<i>79<i>14<b>0<s>31|"
- + "<>:sb$<b>64<i>76<i>96<i>18<b>0<s>14]"
+ + "[(76-79)s:who|_13$<i>76<i>79|"
+ + "<>:rp$<b>64<i>76<i>79<i>14<b>0<s>1|"
+ + "<>:sb$<b>64<i>76<i>96<i>18<b>0<s>2]"
- + "[(80-83)s:you|_14$<i>80<i>83|<>:prp$<b>64<i>80<i>83<i>15<b>0<s>32|"
- + "<>:np$<b>64<i>80<i>83<i>15<b>0<s>37|"
- + "<>:s$<b>64<i>80<i>96<i>18<b>0<s>15]"
+ + "[(80-83)s:you|_14$<i>80<i>83|"
+ + "<>:prp$<b>64<i>80<i>83<i>15<b>0<s>3|"
+ + "<>:np$<b>64<i>80<i>83<i>15<b>0<s>2|"
+ + "<>:s$<b>64<i>80<i>96<i>18<b>0<s>1]"
- + "[(84-88)s:hold|_15$<i>84<i>88|<>:vb$<b>64<i>84<i>88<i>16<b>0<s>33|"
- + "<>:vp$<b>64<i>84<i>96<i>18<b>0<s>16|"
- + ">:stanford/d:tag$<b>32<i>13<s>14<s>33<s>31|"
- + ">:stanford/d:tag$<b>32<i>14<s>15<s>33<s>32|"
- + ">:stanford/d:tag$<b>32<i>17<s>16<s>33<s>35]"
+ + "[(84-88)s:hold|_15$<i>84<i>88|"
+ + "<>:vb$<b>64<i>84<i>88<i>16<b>0<s>2|"
+ + "<>:vp$<b>64<i>84<i>96<i>18<b>0<s>1|"
+ + ">:stanford/d:tag$<b>32<i>13<s>2<s>1|"
+ + ">:stanford/d:tag$<b>32<i>14<s>2<s>3|"
+ + ">:stanford/d:tag$<b>32<i>17<s>2<s>1]"
- + "[(89-91)s:so|_16$<i>89<i>91|<>:rb$<b>64<i>89<i>91<i>17<b>0<s>341|"
- + "<>:adjp$<b>64<i>89<i>96<i>18<b>0<s>17]"
+ + "[(89-91)s:so|_16$<i>89<i>91|"
+ + "<>:rb$<b>64<i>89<i>91<i>17<b>0<s>1|"
+ + "<>:adjp$<b>64<i>89<i>96<i>18<b>0<s>2]"
- + "[(92-96)s:dear|_17$<i>92<i>96|<>:jj$<b>64<i>92<i>96<i>18<b>0<s>35|"
- + ">:stanford/d:tag$<b>32<i>16<s>17<s>35<s>34]");
+ + "[(92-96)s:dear|_17$<i>92<i>96|"
+ + "<>:jj$<b>64<i>92<i>96<i>18<b>0<s>1|"
+ + ">:stanford/d:tag$<b>32<i>16<s>1<s>1]");
return fd;
}
diff --git a/src/test/java/de/ids_mannheim/korap/index/TestRelationIndex.java b/src/test/java/de/ids_mannheim/korap/index/TestRelationIndex.java
index 07b8e50..4c4ab60 100644
--- a/src/test/java/de/ids_mannheim/korap/index/TestRelationIndex.java
+++ b/src/test/java/de/ids_mannheim/korap/index/TestRelationIndex.java
@@ -76,18 +76,20 @@
"base",
"ceccecdeed",
"[(0-1)s:c$<s>1|_0$<i>0<i>1"
- + "|>:xip/syntax-dep_rel$<b>32<i>6<s>1<s>1<s>1]"
+ + "|>:xip/syntax-dep_rel$<b>32<i>6<s>1<s>1]"
+ "[(1-2)s:e$<s>1|_1$<i>1<i>2|"
- + "<:xip/syntax-dep_rel$<b>32<i>9<s>1<s>1<s>1|"
- + ">:xip/syntax-dep_rel$<b>32<i>4<s>1<s>1<s>1]"
+ + "<:xip/syntax-dep_rel$<b>32<i>9<s>1<s>1|"
+ + ">:xip/syntax-dep_rel$<b>32<i>4<s>1<s>1]"
+ "[(2-3)s:c|_2$<i>2<i>3]"
- + "[(3-4)s:c$<s>1|s:b$<s>2|_3$<i>3<i>4|<:xip/syntax-dep_rel$<b>32<i>9<s>1<s>1<s>1]"
- + "[(4-5)s:e$<s>1|s:d$<s>2|_4$<i>4<i>5|<:xip/syntax-dep_rel$<b>32<i>1<s>1<s>1<s>1]"
+ + "[(3-4)s:c$<s>1|s:b$<s>2|_3$<i>3<i>4|<:xip/syntax-dep_rel$<b>32<i>9<s>1<s>1]"
+ + "[(4-5)s:e$<s>1|s:d$<s>2|_4$<i>4<i>5|<:xip/syntax-dep_rel$<b>32<i>1<s>1<s>1]"
+ "[(5-6)s:c|_5$<i>5<i>6]"
- + "[(6-7)s:d$<s>1|_6$<i>6<i>7|<:xip/syntax-dep_rel$<b>32<i>1<s>1<s>1<s>1]"
+ + "[(6-7)s:d$<s>1|_6$<i>6<i>7|<:xip/syntax-dep_rel$<b>32<i>1<s>1<s>1]"
+ "[(7-8)s:e|_7$<i>7<i>8]"
+ "[(8-9)s:e|s:b|_8$<i>8<i>9]"
- + "[(9-10)s:d$<s>1|_9$<i>9<i>10|>:xip/syntax-dep_rel$<b>32<i>1<s>2<s>1<s>1|>:xip/syntax-dep_rel$<b>32<i>3<s>1<s>1<s>1]");
+ + "[(9-10)s:d$<s>1|_9$<i>9<i>10|"
+ + ">:xip/syntax-dep_rel$<b>32<i>1<s>1<s>1|"
+ + ">:xip/syntax-dep_rel$<b>32<i>3<s>1<s>1]");
return fd;
}
@@ -99,22 +101,23 @@
"base",
"ceccecdeed",
"[(0-1)s:c$<s>2|<>:p$<b>64<i>0<i>3<i>3<b>0<s>1|_0$<i>0<i>1|"
- + ">:xip/syntax-dep_rel$<b>35<i>3<i>6<i>9<s>2<s>1<s>1|"
- + ">:xip/syntax-dep_rel$<b>33<i>6<i>9<s>1<s>2<s>1|"
+ + ">:xip/syntax-dep_rel$<b>35<i>3<i>6<i>9<s>1<s>1<s>2|"
+ + ">:xip/syntax-dep_rel$<b>33<i>6<i>9<s>2<s>1|"
+ "@:func=subj$<b>18<s>2]"
+ "[(1-2)s:e|_1$<i>1<i>2|<>:p$<b>64<i>1<i>3<i>3<b>0<s>1]"
+ "[(2-3)s:c|_2$<i>2<i>3]"
+ "[(3-4)s:c|s:b|_3$<i>3<i>4]"
+ "[(4-5)s:e|s:d|_4$<i>4<i>5]"
+ "[(5-6)s:c|_5$<i>5<i>6]"
- + "[(6-7)s:d$<s>2|<>:p$<b>64<i>6<i>9<i>9<b>0<s>1|_6$<i>6<i>7|"
- + "<:xip/syntax-dep_rel$<b>34<i>9<i>1<s>1<s>1<s>2|"
- + ">:xip/syntax-dep_rel$<b>34<i>9<i>9<s>3<s>1<s>1|"
- + "<:xip/syntax-dep_rel$<b>35<i>9<i>1<i>3<s>2<s>1<s>1|"
+ + "[(6-7)s:d$<s>2|<>:p$<b>64<i>6<i>9<i>9<b>0<s>1|_6$<i>6<i>7|"
+ + ">:xip/syntax-dep_rel$<b>34<i>9<i>9<s>1<s>1|"
+ + "<:xip/syntax-dep_rel$<b>35<i>9<i>1<i>3<s>1<s>1<s>2|"
+ + "<:xip/syntax-dep_rel$<b>34<i>9<i>1<s>1<s>2|"
+ "@:func=obj$<b>18<s>2]"
+ "[(7-8)s:e|_7$<i>7<i>8]"
+ "[(8-9)s:e|s:b|_8$<i>8<i>9]"
- + "[(9-10)s:d$<s>1|_9$<i>9<i>10|<:xip/syntax-dep_rel$<b>33<i>6<i>9<s>2<s>1<s>1]");
+ + "[(9-10)s:d$<s>1|_9$<i>9<i>10|<"
+ + ":xip/syntax-dep_rel$<b>33<i>6<i>9<s>2<s>1]");
return fd;
}
@@ -126,65 +129,66 @@
"base",
"Ich kaufe die Blümen für meine Mutter.",
"[(0-3)s:Ich|_0$<i>0<i>3|pos:NN$<s>1|<>:s$<b>64<i>0<i>38<i>7<b>0<s>2|<>:np$<b>64<i>0<i>3<i>1<b>0<s>3|"
- + ">:child-of$<b>33<i>0<i>7<s>4<s>3<s>2|"
- + ">:child-of$<b>33<i>0<i>1<s>5<s>1<s>3|"
- + "<:child-of$<b>32<i>0<s>6<s>3<s>1|"
- + "<:child-of$<b>35<i>7<i>0<i>1<s>7<s>2<s>3|"
- + "<:child-of$<b>35<i>7<i>1<i>7<s>8<s>2<s>2|"
- + "<:dep$<b>32<i>0<s>9<s>1<s>1|"
+ + ">:child-of$<b>33<i>0<i>7<s>3<s>2<s>4|"
+ + ">:child-of$<b>33<i>0<i>1<s>1<s>3|"
+ + "<:child-of$<b>32<i>0<s>3<s>1|"
+ + "<:child-of$<b>35<i>7<i>0<i>1<s>2<s>3|"
+ + "<:child-of$<b>35<i>7<i>1<i>7<s>2<s>2|"
+ + "<:dep$<b>32<i>0<s>1<s>1|"
+ "@:func=sbj$<b>18<i>7<s>4]"
+
"[(1-2)s:kaufe|_1$<i>4<i>9|pos:V$<s>1|<>:vp$<b>64<i>4<i>38<i>7<b>0<s>2|"
- + ">:child-of$<b>35<i>7<i>0<i>7<s>6<s>2<s>2|"
- + ">:child-of$<b>33<i>1<i>7<s>2<s>7<s>2|"
- + "<:child-of$<b>34<i>7<i>2<s>8<s>2<s>1|"
- + "<:child-of$<b>35<i>7<i>2<i>7<s>9<s>2<s>4|"
- + ">:dep$<b>32<i>0<s>3<s>1<s>1|"
- + ">:dep$<b>32<i>3<s>4<s>1<s>1]"
+ + ">:child-of$<b>35<i>7<i>0<i>7<s>2<s>2|"
+ + ">:child-of$<b>33<i>1<i>7<s>2<s>7|"
+ + "<:child-of$<b>34<i>7<i>2<s>2<s>1|"
+ + "<:child-of$<b>35<i>7<i>2<i>7<s>2<s>4|"
+ + ">:dep$<b>32<i>0<s>1<s>1|"
+ + ">:dep$<b>32<i>3<s>1<s>1]"
+
- "[(2-3)s:die|_2$<i>10<i>13|pos:ART$<s>1|tt:DET$<s>2|<>:np$<b>64<i>10<i>20<i>4<b>0<s>3|<>:np$<b>64<i>10<i>38<i>7<b>0<s>4|"
- + ">:child-of$<b>35<i>4<i>2<i>7<s>10<s>3<s>4|"
- + ">:child-of$<b>33<i>2<i>4<s>11<s>1<s>3|"
- + ">:child-of$<b>35<i>7<i>1<i>7<s>12<s>4<s>2|"
- + "<:child-of$<b>34<i>4<i>2<s>13<s>3<s>1|"
- + "<:child-of$<b>34<i>4<i>3<s>14<s>3<s>1|"
- + "<:child-of$<b>35<i>7<i>2<i>4<s>15<s>4<s>3|"
- + "<:child-of$<b>35<i>7<i>4<i>7<s>16<s>4<s>2|"
- + ">:parent-of$<b>35<i>7<i>4<i>7<s>17<s>4<s>2|"
- + "<:dep$<b>32<i>3<s>3<s>1<s>1|"
+ "[(2-3)s:die|_2$<i>10<i>13|pos:ART$<s>1|tt:DET$<s>2|"
+ + "<>:np$<b>64<i>10<i>20<i>4<b>0<s>3|<>:np$<b>64<i>10<i>38<i>7<b>0<s>4|"
+ + ">:child-of$<b>35<i>4<i>2<i>7<s>3<s>4|"
+ + ">:child-of$<b>33<i>2<i>4<s>1<s>3|"
+ + ">:child-of$<b>35<i>7<i>1<i>7<s>4<s>2|"
+ + "<:child-of$<b>34<i>4<i>2<s>3<s>1|"
+ + "<:child-of$<b>34<i>4<i>3<s>3<s>1|"
+ + "<:child-of$<b>35<i>7<i>2<i>4<s>4<s>3|"
+ + "<:child-of$<b>35<i>7<i>4<i>7<s>4<s>2|"
+ + ">:parent-of$<b>35<i>7<i>4<i>7<s>4<s>2|"
+ + "<:dep$<b>32<i>3<s>1<s>1<s>3|"
+ "@:func=head$<b>18<i>4<s>3]"
+ "[(3-4)s:Blümen|_3$<i>14<i>20|pos:NN$<s>1|"
- + ">:child-of$<b>33<i>2<i>4<s>17<s>1<s>3|"
- + "<:dep$<b>32<i>1<s>2<s>1<s>1|"
- + ">:dep$<b>32<i>2<s>3<s>1<s>1|"
- + ">:dep$<b>32<i>4<s>4<s>1<s>1|"
- + "@:func=obj$<b>18<i>4<s>3]"
+ + ">:child-of$<b>33<i>2<i>4<s>1<s>3|"
+ + "<:dep$<b>32<i>1<s>1<s>1|"
+ + ">:dep$<b>32<i>2<s>1<s>1<s>2|"
+ + ">:dep$<b>32<i>4<s>1<s>1|"
+ + "@:func=obj$<b>18<i>4<s>2]"
+ "[(4-5)s:für|_4$<i>21<i>24|pos:PREP$<s>1|<>:pp$<b>64<i>21<i>38<i>7<b>0<s>2|"
- + ">:child-of$<b>33<i>4<i>7<s>18<s>1<s>2|"
- + ">:child-of$<b>35<i>7<i>2<i>7<s>19<s>2<s>4|"
- + "<:child-of$<b>34<i>7<i>5<s>20<s>2<s>1|"
- + "<:child-of$<b>35<i>7<i>5<i>7<s>21<s>2<s>2|"
- + "<:dep$<b>32<i>3<s>1<s>1<s>1|"
- + ">:dep$<b>32<i>6<s>3<s>1<s>1]"
+ + ">:child-of$<b>33<i>4<i>7<s>1<s>2|"
+ + ">:child-of$<b>35<i>7<i>2<i>7<s>2<s>4|"
+ + "<:child-of$<b>34<i>7<i>5<s>2<s>1|"
+ + "<:child-of$<b>35<i>7<i>5<i>7<s>2<s>2|"
+ + "<:dep$<b>32<i>3<s>1<s>1|"
+ + ">:dep$<b>32<i>6<s>1<s>1]"
+
"[(5-6)s:meine|_5$<i>25<i>30|pos:ART$<s>1|<>:np$<b>64<i>25<i>38<i>7<b>0<s>2|"
- + ">:child-of$<b>33<i>5<i>7<s>22<s>1<s>2|"
- + ">:child-of$<b>35<i>7<i>4<i>7<s>23<s>2<s>2|"
- + "<:child-of$<b>34<i>7<i>5<s>24<s>2<s>1|"
- + "<:child-of$<b>34<i>7<i>6<s>25<s>2<s>1|"
- + "<:dep$<b>32<i>6<s>3<s>1<s>1|"
+ + ">:child-of$<b>33<i>5<i>7<s>1<s>2|"
+ + ">:child-of$<b>35<i>7<i>4<i>7<s>2<s>2|"
+ + "<:child-of$<b>34<i>7<i>5<s>2<s>1|"
+ + "<:child-of$<b>34<i>7<i>6<s>2<s>1|"
+ + "<:dep$<b>32<i>6<s>1<s>1<s>3|"
+ "@:func=head$<b>18<i>7<s>3]"
+ "[(6-7)s:Mutter.|_6$<i>31<i>38|pos:NN$<s>1|"
- + ">:child-of$<b>33<i>5<i>7<s>26<s>1<s>2|"
- + ">:dep$<b>32<i>5<s>2<s>1<s>1|"
- + "<:dep$<b>32<i>4<s>3<s>1<s>1]");
+ + ">:child-of$<b>33<i>5<i>7<s>1<s>2|"
+ + ">:dep$<b>32<i>5<s>1<s>1|"
+ + "<:dep$<b>32<i>4<s>1<s>1]");
return fd;
@@ -321,12 +325,12 @@
kr = ki.search(saq, (short) 20);
// child-of with attr func=sbj
- SpanWithAttributeQuery wq = new SpanWithAttributeQuery(fq, saq, true);
-
- kr = ki.search(wq, (short) 20);
- assertEquals((long) 1, kr.getTotalResults());
- assertEquals(0, kr.getMatch(0).getStartPos()); // token
- assertEquals(7, kr.getMatch(0).getEndPos());
+ SpanWithAttributeQuery wq;
+ // wq = new SpanWithAttributeQuery(fq, saq, true);
+ // kr = ki.search(wq, (short) 20);
+ // assertEquals((long) 1, kr.getTotalResults());
+ // assertEquals(0, kr.getMatch(0).getStartPos()); // token
+ // assertEquals(7, kr.getMatch(0).getEndPos());
// child-of without attr func=sbj
wq = new SpanWithAttributeQuery(fq,