-
Notifications
You must be signed in to change notification settings - Fork 1
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
feature: display export limits and optimize export query #155
Conversation
) -> StreamingResponse: | ||
with log_elapsed_time_cm( |
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.
Log was remove on purpose here, the elapsed time here can't be correclty computed as we're streaming, this returns right away
9de3b20
to
e01253e
Compare
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.
I reviewed the UI : the comments are non blocking for the next steps. Looks nice!
@@ -120,17 +154,20 @@ export default { | |||
{ value: GRAPHML, text: 'GraphML' }, |
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.
In props, for object, a good practice is to put a default value if its not required:
props: {
widget: {
type: Object,
default:()=>{}
}
},
if required:
props: {
widget: {
type: Object,
required:true
}
},
Co-authored-by: Caroline Desprat <[email protected]>
Co-authored-by: Caroline Desprat <[email protected]>
Co-authored-by: Caroline Desprat <[email protected]>
PR description
Fixes #151
Fixes #152
Addressed both issues in the same PR. Optimizing the export query implied some API changes and hence a frontend update, I made the most of this update to also display the limit used when exporting:
trimmed.mov
Query optimization
Updated export queries from
to
Optimizations consisted in:
Changes
src
(Java)Changed
DumpQuery
to be less generic and reflect more closely the type of dump queries executed in practice. Previously theDumpQuery
was very close the aNeo4jUtils.Query
(match path + where + order by + limit), now the dump query is mean to initialized a single query restrincting the documents nodes to be dumped. The rest of the query (optional match of named entities, deduplication of the return values, applying limits) is computed in a rigid manner while callingasValidated(defaultLimit)
GET /graphs/dump/node-limit
Removed
plugins/neo4j-graph-widget
(frontend)Added
Changed
neo4j-app
(Python)Added
AppConfig.neo4j_app_max_dumped_documents
andAppConfig.neo4j_export_batch_size
configuration attributes to size exportsAppConfig.supports_neo4j_parallel_runtime
attribute to indicate whether the neo4j instance supports parallel runtimeChanged
dump_graph
, as well as updated the function to use a document node limit and forwarded configuration export batch sizeAppConfig
to compute both enterprise and parallel runtime support inwith_neo4j_support
. Refactored the dependency codebase to compute this support when the neo4j driver is ready and updated the FastAPI app configuration with the updated configuration (seedependencies.py
)Fixed
neo4j
scriptChanged
4.x
(4.4.29
)