"operation:or" -> "operation:disjunction"
negated tokens
diff --git a/src/test/java/de/ids_mannheim/korap/query/serialize/AnnisQueryProcessorTest.java b/src/test/java/de/ids_mannheim/korap/query/serialize/AnnisQueryProcessorTest.java
index 8a0ae98..d8b0196 100644
--- a/src/test/java/de/ids_mannheim/korap/query/serialize/AnnisQueryProcessorTest.java
+++ b/src/test/java/de/ids_mannheim/korap/query/serialize/AnnisQueryProcessorTest.java
@@ -956,6 +956,22 @@
assertEquals("korap:group", res.at("/query/operands/0/operands/0/@type").asText());
assertEquals("operation:relation", res.at("/query/operands/0/operands/0/operation").asText());
}
+
+ @Test
+ public void testDisjunction() throws Exception {
+ query = "cat=\"NP\" | cat=\"VP\"";
+ qs.setQuery(query, "annis");
+ res = mapper.readTree(qs.toJSON());
+ assertEquals("korap:group", res.at("/query/@type").asText());
+ assertEquals("operation:disjunction", res.at("/query/operation").asText());
+ assertEquals("korap:span", res.at("/query/operands/0/@type").asText());
+ assertEquals("NP", res.at("/query/operands/0/key").asText());
+ assertEquals("c", res.at("/query/operands/0/layer").asText());
+ assertEquals("korap:span", res.at("/query/operands/1/@type").asText());
+ assertEquals("VP", res.at("/query/operands/1/key").asText());
+ assertEquals("c", res.at("/query/operands/1/layer").asText());
+ }
+
//
// query = "cat=\"NP\" & cat=\"VP\" & cat=\"PP\" & #1 $ #2 $ #3";
// String cp2 =
diff --git a/src/test/java/de/ids_mannheim/korap/query/serialize/Cosmas2QueryProcessorTest.java b/src/test/java/de/ids_mannheim/korap/query/serialize/Cosmas2QueryProcessorTest.java
index 82020db..faabc82 100644
--- a/src/test/java/de/ids_mannheim/korap/query/serialize/Cosmas2QueryProcessorTest.java
+++ b/src/test/java/de/ids_mannheim/korap/query/serialize/Cosmas2QueryProcessorTest.java
@@ -241,7 +241,7 @@
qs.setQuery(query, "cosmas2");
res = mapper.readTree(qs.toJSON());
assertEquals("korap:group", res.at("/query/@type").asText());
- assertEquals("operation:or", res.at("/query/operation").asText());
+ assertEquals("operation:disjunction", res.at("/query/operation").asText());
assertEquals("Sonne", res.at("/query/operands/0/wrap/key").asText());
assertEquals("Mond", res.at("/query/operands/1/wrap/key").asText());
assertEquals(true, res.at("/query/operands/2").isMissingNode());
@@ -250,7 +250,7 @@
qs.setQuery(query, "cosmas2");
res = mapper.readTree(qs.toJSON());
assertEquals("korap:group", res.at("/query/@type").asText());
- assertEquals("operation:or", res.at("/query/operation").asText());
+ assertEquals("operation:disjunction", res.at("/query/operation").asText());
assertEquals("korap:group", res.at("/query/operands/0/@type").asText());
assertEquals("operation:sequence", res.at("/query/operands/0/operation").asText());
assertEquals("Sonne", res.at("/query/operands/0/operands/0/wrap/key").asText());
@@ -262,7 +262,7 @@
qs.setQuery(query, "cosmas2");
res = mapper.readTree(qs.toJSON());
assertEquals("korap:group", res.at("/query/@type").asText());
- assertEquals("operation:or", res.at("/query/operation").asText());
+ assertEquals("operation:disjunction", res.at("/query/operation").asText());
assertEquals("korap:group", res.at("/query/operands/0/@type").asText());
assertEquals("operation:sequence", res.at("/query/operands/0/operation").asText());
assertEquals("korap:group", res.at("/query/operands/1/@type").asText());
@@ -286,7 +286,7 @@
assertEquals(0, res.at("/query/distances/0/min").asInt());
assertEquals(0, res.at("/query/distances/0/max").asInt());
assertEquals("korap:group", res.at("/query/operands/0/@type").asText());
- assertEquals("operation:or", res.at("/query/operands/0/operation").asText());
+ assertEquals("operation:disjunction", res.at("/query/operands/0/operation").asText());
assertEquals("Sonne", res.at("/query/operands/0/operands/0/wrap/key").asText());
assertEquals("Mond", res.at("/query/operands/0/operands/1/wrap/key").asText());
assertEquals("korap:token", res.at("/query/operands/1/@type").asText());
@@ -304,7 +304,7 @@
assertEquals("korap:token", res.at("/query/operands/0/@type").asText());
assertEquals("scheint", res.at("/query/operands/0/wrap/key").asText());
assertEquals("korap:group", res.at("/query/operands/1/@type").asText());
- assertEquals("operation:or", res.at("/query/operands/1/operation").asText());
+ assertEquals("operation:disjunction", res.at("/query/operands/1/operation").asText());
assertEquals("Sonne", res.at("/query/operands/1/operands/0/wrap/key").asText());
assertEquals("Mond", res.at("/query/operands/1/operands/1/wrap/key").asText());
@@ -327,7 +327,7 @@
assertEquals(0, res.at("/query/operands/1/distances/0/max").asInt());
assertEquals("scheint", res.at("/query/operands/1/operands/0/wrap/key").asText());
assertEquals("korap:group", res.at("/query/operands/1/operands/1/@type").asText());
- assertEquals("operation:or", res.at("/query/operands/1/operands/1/operation").asText());
+ assertEquals("operation:disjunction", res.at("/query/operands/1/operands/1/operation").asText());
assertEquals("Sonne", res.at("/query/operands/1/operands/1/operands/0/wrap/key").asText());
assertEquals("Mond", res.at("/query/operands/1/operands/1/operands/1/wrap/key").asText());
}
diff --git a/src/test/java/de/ids_mannheim/korap/query/serialize/PoliqarpPlusQueryProcessorTest.java b/src/test/java/de/ids_mannheim/korap/query/serialize/PoliqarpPlusQueryProcessorTest.java
index f9cdf16..04bd48c 100644
--- a/src/test/java/de/ids_mannheim/korap/query/serialize/PoliqarpPlusQueryProcessorTest.java
+++ b/src/test/java/de/ids_mannheim/korap/query/serialize/PoliqarpPlusQueryProcessorTest.java
@@ -82,6 +82,17 @@
}
@Test
+ public void testNegatedTokens() throws JsonProcessingException, IOException {
+ query = "![p!=NN]";
+ qs.setQuery(query, "poliqarpplus");
+ res = mapper.readTree(qs.toJSON());
+ assertEquals("korap:token", res.at("/query/@type").asText());
+ assertEquals("NN", res.at("/query/wrap/key").asText());
+ assertEquals("p", res.at("/query/wrap/layer").asText());
+ assertEquals("match:eq", res.at("/query/wrap/match").asText());
+ }
+
+ @Test
public void testValue() throws JsonProcessingException, IOException {
query = "[mate/m=temp:pres]";
qs.setQuery(query, "poliqarpplus");
@@ -816,7 +827,7 @@
qs.setQuery(query, "poliqarpplus");
res = mapper.readTree(qs.toJSON());
assertEquals("korap:group", res.at("/query/@type").asText());
- assertEquals("operation:or", res.at("/query/operation").asText());
+ assertEquals("operation:disjunction", res.at("/query/operation").asText());
assertEquals("korap:token", res.at("/query/operands/0/@type").asText());
assertEquals("korap:token", res.at("/query/operands/1/@type").asText());
assertEquals("der", res.at("/query/operands/0/wrap/key").asText());
@@ -831,20 +842,20 @@
assertEquals("operation:sequence", res.at("/query/operation").asText());
assertEquals("Schild", res.at("/query/operands/1/wrap/key").asText());
assertEquals("korap:group", res.at("/query/operands/0/@type").asText());
- assertEquals("operation:or", res.at("/query/operands/0/operation").asText());
+ assertEquals("operation:disjunction", res.at("/query/operands/0/operation").asText());
query = "[base=Schild]([base=der]|[base=das])";
qs.setQuery(query, "poliqarpplus");
res = mapper.readTree(qs.toJSON());
assertEquals("Schild", res.at("/query/operands/0/wrap/key").asText());
assertEquals("korap:group", res.at("/query/operands/1/@type").asText());
- assertEquals("operation:or", res.at("/query/operands/1/operation").asText());
+ assertEquals("operation:disjunction", res.at("/query/operands/1/operation").asText());
query = "([orth=der][base=katze])|([orth=eine][base=baum])";
qs.setQuery(query, "poliqarpplus");
res = mapper.readTree(qs.toJSON());
assertEquals("korap:group", res.at("/query/@type").asText());
- assertEquals("operation:or", res.at("/query/operation").asText());
+ assertEquals("operation:disjunction", res.at("/query/operation").asText());
assertEquals("korap:group", res.at("/query/operands/0/@type").asText());
assertEquals("operation:sequence", res.at("/query/operands/0/operation").asText());
assertEquals("korap:token", res.at("/query/operands/0/operands/0/@type").asText());
@@ -857,7 +868,7 @@
qs.setQuery(query, "poliqarpplus");
res = mapper.readTree(qs.toJSON());
assertEquals("korap:group", res.at("/query/@type").asText());
- assertEquals("operation:or", res.at("/query/operation").asText());
+ assertEquals("operation:disjunction", res.at("/query/operation").asText());
assertEquals("korap:group", res.at("/query/operands/0/@type").asText());
assertEquals("operation:sequence", res.at("/query/operands/0/operation").asText());
assertEquals("korap:token", res.at("/query/operands/0/operands/0/@type").asText());
@@ -872,7 +883,7 @@
assertEquals("korap:group", res.at("/query/@type").asText());
assertEquals("operation:sequence", res.at("/query/operation").asText());
assertEquals("korap:group", res.at("/query/operands/1/@type").asText());
- assertEquals("operation:or", res.at("/query/operands/1/operation").asText());
+ assertEquals("operation:disjunction", res.at("/query/operands/1/operation").asText());
assertEquals("korap:token", res.at("/query/operands/0/@type").asText());
assertEquals("korap:token", res.at("/query/operands/2/@type").asText());
assertEquals("der", res.at("/query/operands/0/wrap/key").asText());
@@ -892,7 +903,7 @@
assertEquals("korap:group", res.at("/query/@type").asText());
assertEquals("operation:sequence", res.at("/query/operation").asText());
assertEquals("korap:group", res.at("/query/operands/1/@type").asText());
- assertEquals("operation:or", res.at("/query/operands/1/operation").asText());
+ assertEquals("operation:disjunction", res.at("/query/operands/1/operation").asText());
assertEquals("korap:token", res.at("/query/operands/0/@type").asText());
assertEquals("korap:token", res.at("/query/operands/1/operands/0/@type").asText());
assertEquals("korap:token", res.at("/query/operands/1/operands/1/@type").asText());
@@ -1243,7 +1254,7 @@
query = "([base=a]^[base=b])|[base=c]";
qs.setQuery(query, "poliqarpplus");
res = mapper.readTree(qs.toJSON());
- assertEquals("operation:or", res.at("/query/operation").asText());
+ assertEquals("operation:disjunction", res.at("/query/operation").asText());
assertEquals("operation:sequence", res.at("/query/operands/0/operation").asText());
assertEquals("operation:class", res.at("/query/operands/0/operands/1/operation").asText());
assertEquals("a", res.at("/query/operands/0/operands/0/wrap/key").asText());
@@ -1307,7 +1318,7 @@
qs.setQuery(query, "poliqarpplus");
res = mapper.readTree(qs.toJSON());
assertEquals("Der", res.at("/query/operands/0/wrap/key").asText());
- assertEquals("operation:or", res.at("/query/operands/1/operation").asText());
+ assertEquals("operation:disjunction", res.at("/query/operands/1/operation").asText());
assertEquals("große", res.at("/query/operands/1/operands/0/wrap/key").asText());
assertEquals("kleine", res.at("/query/operands/1/operands/1/wrap/key").asText());
assertEquals("Baum", res.at("/query/operands/2/wrap/key").asText());
@@ -1315,7 +1326,7 @@
query = "der große Baum | der kleine Baum";
qs.setQuery(query, "poliqarpplus");
res = mapper.readTree(qs.toJSON());
- assertEquals("operation:or", res.at("/query/operation").asText());
+ assertEquals("operation:disjunction", res.at("/query/operation").asText());
assertEquals("der", res.at("/query/operands/0/operands/0/wrap/key").asText());
assertEquals("große", res.at("/query/operands/0/operands/1/wrap/key").asText());
assertEquals("Baum", res.at("/query/operands/0/operands/2/wrap/key").asText());