Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Properly seperate matches in matches for nodes and matches for annotation on nodes #344

Merged

Conversation

thomaskrause
Copy link
Member

Especially for reflexivity we have to distinguish between matches that match an annotation or the node itself. As long as there is only one annotation per node this is obviously not a problem, but there were some rare corner cases where our reflexivity semantics did not work as expected.

This branch implements these explicits semantics. It will also fix the rare corner cases where the old implementation leads to unexpected results. Additionally the code was cleaned up and simplified (e.g. I removed the possibility to have more than one mode)

…ake the results distinct.

The distinct condition has been updated to be more conservative
- SqlGenerator is now not automatically a ResultSetExtractor
- the join with the annotation category will be in an outer FindSqlGenerator, the old one was renamed to SolutionSqlGenerator
…ors and also rename the innerSql variables to "solutionSqlGenerator"
This was introduced to make it easier to test out new schemata and different approaches for querying. But it made it also more difficult to maintain and do unit testing. In theory new features needed to be included in every available scheme, not only the one activated by default. Since this becomes much too complex, the configuration possibility was removed. New schemes can be tried in separate branches. Since the benchmarking script of ANNIS has been stable for some time it should also be still possible to compare older versions.
…tegrated their functionality into their base class
…re the actual URI

also make the matched annotation an explicit part of the Match class.
…t later

(this will make the code and SQL much easier and extensible)
…ature FEAT_MATCHEDANNOS and implement this behavior in the Grid visualizer
… whenever a mapping was not found instead of returning "null"
…has exactly the same form (trailing slash, only referering to documents but not the document graph) as the external form used by the service.

Otherwise simple function calls to SDocumentGraph#getSNode(id) won't work as expected
In the current version the QueryData was not setup properly and it failed on every corpus that did not have it's own example queries.
@thomaskrause thomaskrause added this to the 3.2.0 milestone Jul 31, 2014
thomaskrause added a commit that referenced this pull request Jul 31, 2014
Properly seperate matches in matches for nodes and matches for annotation on nodes
@thomaskrause thomaskrause merged commit 1b893e6 into korpling:develop Jul 31, 2014
@thomaskrause thomaskrause deleted the feature/distinct-annotations branch July 31, 2014 14:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant