-
Notifications
You must be signed in to change notification settings - Fork 18
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
Create V2 for Search #478
Create V2 for Search #478
Conversation
… used for both v1 and v2
I am not sure whether this is relevant at this stage, but as for the design of V2 API, I just want to be sure that the requirements to run queries throughout various (and customed) properties of 2 resource classes will be taken into account (such as expressed here: #227). This is just a reminder that @loicjaouen has begun to work on an graphic interface (as a proposition for Salsah 1.5/V1 API but with Salsah 2.0 and V2 API in mind), but unfortunately, he hasn't had much time to dedicate to it yet. |
We have to do that together, absolutely. As for now, I am trying to have a prove of concept at the end of the week for the fulltext search v2. The Response format should be JSON-LD. I was fighting with responder manager conf ... |
@benjamingeer @subotic Hey masters of disaster, does this setup for v2 look reasonable to you? sorry, I mentioned the wrong geer |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We need a naming convention or package name convention to separate internal messages from API messages: #424
In RouteUtilV2
, we should get rid of the Knora-specific status code returned in the API response; the HTTP status code is enough. If an exception is thrown, the Knora-specific status code in V1 comes from KnoraExceptionHandler
. I guess this means that KnoraExceptionHandler
should become KnoraExceptionHandlerV1
and KnoraExceptionHandlerV2
.
We should make a UserProfileV2
and clean it up. No reason to have something like UserDataV1
as a separate class. I think means that most of what's in usermessages
needs to be shared by V1 and V2.
|
For info: here is the first mockup to make a search form we did some time ago (it doesn't include suggested improvements that we collected): You can click on |
…h and resource request results in a generic way
… predicate's value
# Conflicts: # webapi/src/main/scala/org/knora/webapi/OntologyConstants.scala # webapi/src/main/scala/org/knora/webapi/responders/v1/GroupsResponderV1.scala # webapi/src/main/scala/org/knora/webapi/responders/v1/ListsResponderV1.scala # webapi/src/test/scala/org/knora/webapi/e2e/v1/GroupsRouteV1E2ESpec.scala # webapi/src/test/scala/org/knora/webapi/e2e/v1/ProjectsRouteV1E2ESpec.scala # webapi/src/test/scala/org/knora/webapi/e2e/v1/UsersRouteV1E2ESpec.scala # webapi/src/test/scala/org/knora/webapi/responders/v1/GroupsResponderV1Spec.scala # webapi/src/test/scala/org/knora/webapi/responders/v1/ListsResponderV1Spec.scala # webapi/src/test/scala/org/knora/webapi/responders/v1/ProjectsResponderV1Spec.scala
…s for API V1 and V2 responders. - Add a router for PersistentMapResponderV2.
…va.time.OffsetDateTime.
…rql queries - in parallel, the same tests are added for v1 extended search
- add the same tests for extended search v1 (same results expected)
…al operator (And, Or)
- Fix persistent map bugs.
Some notes on how to generate V2 search SPARQL for Fuseki or for another triplestore where we can't use inference: Here's a comparison of what we do for V1 extended search on GraphDB vs. Fuseki. Matching a property of a resourceWe want to match the property and its subproperties. GraphDB
Fuseki
Matching a link to another resourceWe match:
We find out the actual link property, and we use it to match the GraphDB
Fuseki
Matching the class of a resourceGraphDB
Fuseki
|
…th Fuseki. - Don't put knora-api.ttl in the triplestore, since we won't need to query it and it will be removed.
We're going to merge this PR as is, because the basic API v2 infrastructure is now needed for other PRs. We'll make another PR to finish the v2 search functionality. |
This makes a start at implementing #530. The rest will be done in subsequent pull requests.