From 5238f78a7c068285824f56161871be824bff9fce Mon Sep 17 00:00:00 2001 From: Thomas Krause Date: Thu, 9 Oct 2025 11:06:49 +0200 Subject: [PATCH 1/5] Update to graphANNIS 4.0.1 --- CHANGELOG.md | 5 +++++ pom.xml | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 67d83d16e7..45f746da69 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Fixed + +- Update to graphANNIS 4.0.1 that fixes performance issues with `@*` queries and has improved +timeout support for frequency queries (which otherwise could use all the resources of the server). + ## [4.15.0] - 2025-05-22 ### Added diff --git a/pom.xml b/pom.xml index 0253033dd8..a73c1bb8c2 100644 --- a/pom.xml +++ b/pom.xml @@ -39,7 +39,7 @@ 8.14.3 true org.corpus_tools.annis.gui.AnnisUiApplication - 3.8.1 + 4.0.1 4.7.2 server 1.5.24 From 8a7bcdef159ebb7f8ed4b1c50dd57cd133f95a51 Mon Sep 17 00:00:00 2001 From: Thomas Krause Date: Thu, 9 Oct 2025 11:14:06 +0200 Subject: [PATCH 2/5] fixed sh256 hashes for downloads of the updated graphANNIS --- pom.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pom.xml b/pom.xml index a73c1bb8c2..e46a9a3b31 100644 --- a/pom.xml +++ b/pom.xml @@ -261,7 +261,7 @@ https://github.com/korpling/graphANNIS/releases/download/v${graphannis.version}/graphannis-webservice-x86_64-unknown-linux-gnu.tar.xz ${project.build.directory}/native/ - e8e27646d9a0f8b9a60ca52e574f524695d153e3c9b1addd050841b16fd78aef + bbd0a6456f24c1b6594e569267302f54a142775b86ff63d2d9e4ea3b12f835de true @@ -276,7 +276,7 @@ https://github.com/korpling/graphANNIS/releases/download/v${graphannis.version}/graphannis-webservice-x86_64-pc-windows-msvc.zip ${project.build.directory}/native/win32-x86-64/ - e6c6e3131d7a644f11c1ef39e1507e87f04800ec9ef4c3bad784526c16fabdfa + 3d553737863c3dabf9fc80cbdec3aa3b909b42616ca75baa93547b24e79672df true @@ -291,7 +291,7 @@ https://github.com/korpling/graphANNIS/releases/download/v${graphannis.version}/graphannis-webservice-aarch64-apple-darwin.tar.xz ${project.build.directory}/native/ - 77357117a813fd4a19e255520f083d40584f14dc443bdee5350ec2090ee45ebc + 9c7a7bb65b3467a77330fa04856bc1169213b0c34584db6bd52ef9bc4f12d990 true @@ -306,7 +306,7 @@ https://github.com/korpling/graphANNIS/releases/download/v${graphannis.version}/graphannis-webservice-x86_64-apple-darwin.tar.xz ${project.build.directory}/native/ - 9e63429d031b2d3ff1ecc0a901f0748a6540ea0964c6b34d768f9f6bd4383489 + 659258a57a8c175910e1c3120211e732d5909a1e1cd57e822289c0535be20d9f true From 1d820a2e3c07e4ea5784644bc551f43a6294142e Mon Sep 17 00:00:00 2001 From: Thomas Krause Date: Thu, 9 Oct 2025 12:31:24 +0200 Subject: [PATCH 3/5] Fix markdown table Newer mdbook version seems to have issues with the incorrect syntax --- docs/user-guide/src/aql/operators.md | 60 ++++++++++++++-------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/docs/user-guide/src/aql/operators.md b/docs/user-guide/src/aql/operators.md index b7a719722f..66aedd7706 100644 --- a/docs/user-guide/src/aql/operators.md +++ b/docs/user-guide/src/aql/operators.md @@ -2,37 +2,37 @@ AQL currently includes the following operators: -| Operator | Description | Illustration | Notes | | -| : -------: | :------------------- | :---------------------------------------------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | -| `.` | direct precedence | ![](../images/A-pred-B.svg) | For non-terminal nodes, precedence is determined by the right-most and left-most terminal children. In corpora with multiple segmentations the layer on which consecutivity holds may be specified with `.layer` | | -| `.*` | indirect precedence | ![](../images/A-pred-ind-B.svg) | For specific sizes of precedence spans, `.n,m` can be used, e.g. `.3,4` - between 3 and 4 token distance; the default maximum distance for `.*` is 50 tokens. As above, segmentation layers may be specified, e.g. `.layer,3,4` | | -| `^` | directly near | ![](../images/A-pred-B.svg) or ![](../images/B-pred-A.svg) | Same as precedence, but in either order. In corpora with multiple segmentations the layer on which consecutivity holds may be specified with `^layer` | | -| `^*` | indirectly near | ![](../images/A-pred-ind-B.svg) or ![](../images/B-pred-ind-A.svg) | Like indirect precedence in either order. The form `^n,m` can be used, e.g. `^3,4` - between 3 and 4 token distance; the default maximum distance for `^*` is 50 tokens. As above, segmentation layers may be specified, e.g. `^layer,3,4` | | -| `>` | direct dominance | ![](../images/A-dom-B.svg) | A specific edge type may be specified, e.g. `>secedge` to find secondary edges. Edge labels are specified in brackets, e.g. `>[func="OA"]` for an edge with the function 'object, accusative' | | -| `>*` | indirect dominance | ![](../images/A-dom-ind-B.svg) | For specific distance of dominance, `>n,m` can be used, e.g. `>3,4` - dominates with 3 to 4 edges distance | | -| `@*` | part of sub-corpus | | Left attribute is part of a sub-corpus having the attribute of the right-hand side. For specific distance range in the sub-corpus hierarchy, `@n,m` can be used. | | -| `_=_` | identical coverage | ![](../images/A-cov-ident-B.svg) | Applies when two annotations cover the exact same span of tokens | | -| `_i_` | inclusion | ![](../images/A-cov-incl-B.svg) | Applies when one annotation covers a span identical to or larger than another | | -| `_o_` | overlap | ![](../images/A-cov-over-B.svg) | | | -| `_l_` | left aligned | ![](../images/A-cov-left-B.svg) | Both elements span an area beginning with the same token | | -| `_r_` | right aligned | ![](../images/A-cov-right-B.svg) | Both elements span an area ending with the same token | | -| `==` | value identity | **A = B** | The value of the annotation or token A is identical to that of B (this operator does not bind, i.e. the nodes must be connected by some other criteria too) | | -| `!=` | value difference | **A ≠ B** | The value of the annotation or token A is different from B (this operator does not bind, i.e. the nodes must be connected by some other criteria too) | | -| `->LABEL` | labeled pointing relation | ![](../images/A-point-direct-B.svg) | A labeled, directed relationship between two elements. Annotations can be specified with `->LABEL[annotation="VALUE"]` | | -| `->LABEL *` | indirect pointing relation | ![](../images/A-point-ind-B.svg) | An indirect labeled relationship between two elements. The length of the chain may be specified with `->LABEL n,m` for relation chains of length n to m | | -| `#x:arity=n` | arity | ![](../images/A-arity.svg) | Specifies the amount of directly dominated children that the searched node has | | -| `_ident_` | node identity | | True for two attributes that belong to the same node | | +| Operator | Description | Illustration | Notes | +| :----------- | -------------------------: | :----------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `.` | direct precedence | ![](../images/A-pred-B.svg) | For non-terminal nodes, precedence is determined by the right-most and left-most terminal children. In corpora with multiple segmentations the layer on which consecutivity holds may be specified with `.layer` | +| `.*` | indirect precedence | ![](../images/A-pred-ind-B.svg) | For specific sizes of precedence spans, `.n,m` can be used, e.g. `.3,4` - between 3 and 4 token distance; the default maximum distance for `.*` is 50 tokens. As above, segmentation layers may be specified, e.g. `.layer,3,4` | +| `^` | directly near | ![](../images/A-pred-B.svg) or ![](../images/B-pred-A.svg) | Same as precedence, but in either order. In corpora with multiple segmentations the layer on which consecutivity holds may be specified with `^layer` | +| `^*` | indirectly near | ![](../images/A-pred-ind-B.svg) or ![](../images/B-pred-ind-A.svg) | Like indirect precedence in either order. The form `^n,m` can be used, e.g. `^3,4` - between 3 and 4 token distance; the default maximum distance for `^*` is 50 tokens. As above, segmentation layers may be specified, e.g. `^layer,3,4` | +| `>` | direct dominance | ![](../images/A-dom-B.svg) | A specific edge type may be specified, e.g. `>secedge` to find secondary edges. Edge labels are specified in brackets, e.g. `>[func="OA"]` for an edge with the function 'object, accusative' | +| `>*` | indirect dominance | ![](../images/A-dom-ind-B.svg) | For specific distance of dominance, `>n,m` can be used, e.g. `>3,4` - dominates with 3 to 4 edges distance | +| `@*` | part of sub-corpus | | Left attribute is part of a sub-corpus having the attribute of the right-hand side. For specific distance range in the sub-corpus hierarchy, `@n,m` can be used. | +| `_=_` | identical coverage | ![](../images/A-cov-ident-B.svg) | Applies when two annotations cover the exact same span of tokens | +| `_i_` | inclusion | ![](../images/A-cov-incl-B.svg) | Applies when one annotation covers a span identical to or larger than another | +| `_o_` | overlap | ![](../images/A-cov-over-B.svg) | | +| `_l_` | left aligned | ![](../images/A-cov-left-B.svg) | Both elements span an area beginning with the same token | +| `_r_` | right aligned | ![](../images/A-cov-right-B.svg) | Both elements span an area ending with the same token | +| `==` | value identity | **A = B** | The value of the annotation or token A is identical to that of B (this operator does not bind, i.e. the nodes must be connected by some other criteria too) | +| `!=` | value difference | **A ≠ B** | The value of the annotation or token A is different from B (this operator does not bind, i.e. the nodes must be connected by some other criteria too) | +| `->LABEL` | labeled pointing relation | ![](../images/A-point-direct-B.svg) | A labeled, directed relationship between two elements. Annotations can be specified with `->LABEL[annotation="VALUE"]` | +| `->LABEL *` | indirect pointing relation | ![](../images/A-point-ind-B.svg) | An indirect labeled relationship between two elements. The length of the chain may be specified with `->LABEL n,m` for relation chains of length n to m | +| `#x:arity=n` | arity | ![](../images/A-arity.svg) | Specifies the amount of directly dominated children that the searched node has | +| `_ident_` | node identity | | True for two attributes that belong to the same node | -## Unsupported operators +## Unsupported operators The following operators have been available in the legacy version ANNIS3, but are not yet implemented in the newest ANNIS version. -| Operator | Description | Illustration | Notes | -| : -------: | :------------------- | :---------------------------------------------: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| `_ol_` and `_or_`| Overlap, but only on the left or right side | | | -| `>@l` | left-most child | ![](../images/A-left-B.svg) | | -| `>@r` | right-most child | ![](../images/A-right-B.svg) | | -| `$` | common parent node | ![](../images/A-parent-B.svg) | | -| `$*` | common ancestor node | ![](../images/A-ancestor-B.svg) | | -| `#x:tokenarity=n` | tokenarity | ![](../images/A-tokenarity.svg) | Specifies the length of the span of tokens covered by the node | -| `#x:root` | root | ![](../images/A-root.svg) | Specifies that the node is not dominated by any other node within its namespace **s** | \ No newline at end of file +| Operator | Description | Illustration | Notes | +| :---------------: | :------------------------------------------ | :-----------------------------: | :------------------------------------------------------------------------------------ | +| `_ol_` and `_or_` | Overlap, but only on the left or right side | | | +| `>@l` | left-most child | ![](../images/A-left-B.svg) | | +| `>@r` | right-most child | ![](../images/A-right-B.svg) | | +| `$` | common parent node | ![](../images/A-parent-B.svg) | | +| `$*` | common ancestor node | ![](../images/A-ancestor-B.svg) | | +| `#x:tokenarity=n` | tokenarity | ![](../images/A-tokenarity.svg) | Specifies the length of the span of tokens covered by the node | +| `#x:root` | root | ![](../images/A-root.svg) | Specifies that the node is not dominated by any other node within its namespace **s** | From 1ae6e45698d64c02b1ce0a8c5ce17cf99f4fb1bc Mon Sep 17 00:00:00 2001 From: Thomas Krause Date: Thu, 9 Oct 2025 12:31:37 +0200 Subject: [PATCH 4/5] Recompiled online help --- src/main/webapp/VAADIN/help/404.html | 114 +-- .../webapp/VAADIN/help/aql/annotations.html | 142 ++-- .../VAADIN/help/aql/compatibility-mode.html | 124 ++-- src/main/webapp/VAADIN/help/aql/export.html | 128 ++-- .../webapp/VAADIN/help/aql/frequency.html | 118 +-- src/main/webapp/VAADIN/help/aql/index.html | 124 ++-- src/main/webapp/VAADIN/help/aql/negation.html | 136 ++-- .../webapp/VAADIN/help/aql/operators.html | 159 +++-- src/main/webapp/VAADIN/help/aql/pointing.html | 132 ++-- src/main/webapp/VAADIN/help/aql/regex.html | 157 ++-- src/main/webapp/VAADIN/help/aql/trees.html | 138 ++-- .../webapp/VAADIN/help/aql/word-forms.html | 152 ++-- src/main/webapp/VAADIN/help/book.js | 675 +++++++++++------- src/main/webapp/VAADIN/help/css/chrome.css | 274 +++++-- src/main/webapp/VAADIN/help/css/general.css | 111 ++- src/main/webapp/VAADIN/help/css/print.css | 10 +- src/main/webapp/VAADIN/help/css/variables.css | 84 ++- src/main/webapp/VAADIN/help/fonts/fonts.css | 22 +- src/main/webapp/VAADIN/help/highlight.css | 1 + src/main/webapp/VAADIN/help/highlight.js | 50 +- src/main/webapp/VAADIN/help/index.html | 118 +-- .../webapp/VAADIN/help/interface/index.html | 118 +-- .../VAADIN/help/interface/query-builder.html | 130 ++-- .../VAADIN/help/interface/result-window.html | 124 ++-- .../VAADIN/help/interface/search-form.html | 132 ++-- src/main/webapp/VAADIN/help/print.html | 364 +++++----- src/main/webapp/VAADIN/help/searcher.js | 459 +++++++----- src/main/webapp/VAADIN/help/searchindex.js | 2 +- src/main/webapp/VAADIN/help/searchindex.json | 1 - src/main/webapp/VAADIN/help/toc.html | 32 + src/main/webapp/VAADIN/help/toc.js | 70 ++ .../webapp/VAADIN/help/tomorrow-night.css | 2 + 32 files changed, 2646 insertions(+), 1757 deletions(-) delete mode 100644 src/main/webapp/VAADIN/help/searchindex.json create mode 100644 src/main/webapp/VAADIN/help/toc.html create mode 100644 src/main/webapp/VAADIN/help/toc.js diff --git a/src/main/webapp/VAADIN/help/404.html b/src/main/webapp/VAADIN/help/404.html index baaa433fdd..fc5fb0d917 100644 --- a/src/main/webapp/VAADIN/help/404.html +++ b/src/main/webapp/VAADIN/help/404.html @@ -1,5 +1,5 @@ - + @@ -8,10 +8,10 @@ - + - + @@ -25,26 +25,41 @@ - - - + + + + + + + + +
+
+

Keyboard shortcuts

+
+

Press or to navigate between chapters

+

Press S or / to search in the book

+

Press ? to show this help

+

Press Esc to hide this help

+
+
+
- - - + + - - -
- +