We are delighted to bring a number of improvements to GraphScope, alongside the GraphScope 0.30.0 release. This release contains many important features and improvements to GraphScope Portal, GraphScope FLEX Interactive and Groot persistent storage.
We highlight the following improvements included in this release:
1. GraphScope Portal
This month, Portal has released 5 new versions aimed at enhancing the performance of graph visualization rendering and layout. A new feature module, "Exploration", has been introduced to improve user experience.
-
Graph Visualization Module Optimization
- Improved interaction capabilities including multi-selection, single selection, hover effects, highlighted selections, and drag-and-drop grouping.
- Added support for modifying the text, color, label configuration of graph edges, as well as custom font-icon rendering.
- Implemented four built-in layout mechanisms: Preset, Dagre, Force, and Combo layouts.
- Released developer documentation to assist with integration and customization: Developer Documentation
-
Introduction of Graph Exploration Module
Users can now explore and analyze graph data without writing query statements.
- Searchbar component for intuitive data searching: PR #615
- Statistics component for data analysis: PR #619
- NextQuery component for streamlined querying: PR #651
The Graph Exploration module is currently in experimental status. To try it out, visit this link and enable the tool under "Settings / Experimental Tools".
We invite you to try out these new features and provide feedback to help us continue improving Portal. Thank you for your support!
2. FLEX Interactive
- Refarctor
EdgeColumn
implementation to speed up scanning edge properties - Fix format check for C++ and python code.
- Refine the documentation.
- Some bug fixes, including:
- Wrong Type inference in
Collect(labels(n))
- IS_NULL checking of NULL edge property can cause segmentation fault
- While importing data, the data type of
varchar(len)
does not truncate on givenlen
- Label name with prefix
@
as label name such as@person
can cause trouble
- Wrong Type inference in
3. Groot persistent storage
- Support Cypher query language
- Introduce
MetricsTool
to profile memory usage, pending tasks and qps - Some bug fixes, including:
- Returned Columns Misaligned the Query-given Order
- Fix Bugs of
OOM
in CBO - Fix Bugs of Mismatch Label in Gremlin's
elementMap
step
Docker Images
# Flex Interactive image
docker pull registry.cn-hongkong.aliyuncs.com/graphscope/interactive:0.30.0
# Develop Image
docker pull registry.cn-hongkong.aliyuncs.com/graphscope/graphscope-dev:latest
What's Changed
- fix(interactive): Fix Logging Errors in Gremlin Server by @shirly121 in #4275
- refactor(interactive): Add format check for Flex Interactive code by @zhanglei1949 in #4272
- fix(interactive): Fix cpp format check by @zhanglei1949 in #4277
- fix(interactive): Correct the improper use of ModelProperty by @zhanglei1949 in #4276
- refactor(interactive): Refactor StopService API for Interactive SDKs by @zhanglei1949 in #4271
- docs: Fix document generation by @zhanglei1949 in #4282
- feat(interactive): Add three builtin procedures by @zhichao-shi in #4249
- fix(interactive): Fixing Interactive CI by @zhanglei1949 in #4283
- refactor(interactive): Resolve the dependency problem between compiler and interactive SDK by @zhanglei1949 in #4284
- refactor(interactive): Refactor the codegen and argument parsing by @zhanglei1949 in #4246
- fix(interactive): Fix
list_jobs
API by @zhanglei1949 in #4286 - fix(interactive): Incorporating the builtin procedure's metadata into the schema's plugin map by @zhanglei1949 in #4289
- fix(interactive): Resolve issues when finding arrow on some platforms by @zhanglei1949 in #4290
- chore: Change the repo source of bitnami charts by @siyuan0322 in #4292
- fix(interactive): Add Unit Tests for Graph Optimizer in Concurrent Scenario by @shirly121 in #4274
- refactor(interactive): Introduce
call_proc
as a new physical operator and implement it by @zhanglei1949 in #4288 - feat(interactive): Increase the reserved slots for small graphs by @zhanglei1949 in #4299
- refactor(interactive): Support
shortestpath
in Cypher Queries by @shirly121 in #4295 - refactor(interactive): Remove some dummy code by @zhanglei1949 in #4298
- ci: Reuse the compiled libraries/binaries between jobs for interactive CI by @zhanglei1949 in #4304
- feat(learning): feature_store & graph_store V1 by @Yi-Eaaa in #4237
- fix(interactive): The replay doesn't need to fill the kafka again. by @siyuan0322 in #4296
- fix(interactive): Add PVC support for Insight logs by @BingqingLyu in #4308
- fix(interactive): Return the correct port in coordinator's API by @zhanglei1949 in #4312
- fix(interactive): minor changes on
list_service_status
by @zhanglei1949 in #4313 - fix(interactive): Fix the property getter for primary key by @zhanglei1949 in #4319
- ci: Fix interactive ci by @zhanglei1949 in #4324
- refactor(coordinator): Support cross origin by @zhanglei1949 in #4322
- fix(interactive): Fix Bugs of Mismatch Label in
elementMap
by @shirly121 in #4326 - fix(interactive): add logs when return result in GRPC by @BingqingLyu in #4328
- fix(interactive): Fix Bugs of OOM in CBO by @shirly121 in #4330
- docs: add faq about parallelism settings for GIE queries by @BingqingLyu in #4334
- fix(interactive): Fix Interactive CI by @zhanglei1949 in #4335
- feat(interactive): Support parsing csv files with special delimiters by @zhanglei1949 in #4336
- fix(python): refresh channel incase the service becomes available after initial heart beat by @siyuan0322 in #4338
- docs(interactive): enable cypher before querying by @siyuan0322 in #4339
- fix(coordinator): Minor fix for coordinator by @zhanglei1949 in #4331
- fix(interactive): Introduce
MetricsTool
to profile memory usage, pending tasks and qps by @shirly121 in #4332 - refactor(interactive): Use netcat to check service readiness by @zhanglei1949 in #4342
- fix: update
supported_gremlin_steps.md
reference by @emmanuel-ferdman in #4337 - fix(interactive): Enable Graph Optimizer in Python GS by @shirly121 in #4344
- fix(interactive): fix bugs when try to get labels or properties from an None entry by @BingqingLyu in #4341
- fix(interactive): Fix typo by @co63oc in #4233
- fix(interactive): Update README.md for compiler and experiment queries by @BingqingLyu in #4357
- fix(coordinator): Add timezone info in Dockerfile by @zhanglei1949 in #4363
- feat(interactive): Make use of all available cpus at startup by @zhanglei1949 in #4343
- fix(interactive): Fix yaml node parsing by @zhanglei1949 in #4377
- fix(interactive): Fix the conflict of error proto for compiler by @zhanglei1949 in #4371
- fix(interactive): bump up rustup toolchain version to 1.81.0 to avoid compilation failure by @BingqingLyu in #4373
- docs: fix typo by @arcenotas in #4375
- fix(interactive): Fix Bugs of Special Characters as Label Name by @shirly121 in #4366
- fix(interactive): Fix bug of IS_NULL check for edge property by @zhanglei1949 in #4386
- fix(interactive): Fix bugs of runtime by @zhanglei1949 in #4379
- fix(interactive): Fix Aggregate Column Order Mismatch by @shirly121 in #4364
- fix(interactive): Refactor EdgeColumn Implementation by @zhanglei1949 in #4391
- fix(interactive): Fix Bugs of Type Inference in
Collect(labels(n))
by @shirly121 in #4398 - feat(coordinator): Add cypher endpoint info when
list_service_status
for groot by @zhanglei1949 in #4382 - fix(interactive): Download boost source files from archives.boost.io by @zhanglei1949 in #4400
- fix(interactive): Fix flex interactive api test by @zhanglei1949 in #4401
- fix(interactive): fix comparison between RTAny numeric types by @zhanglei1949 in #4399
New Contributors
- @zhichao-shi made their first contribution in #4249
- @Yi-Eaaa made their first contribution in #4237
- @emmanuel-ferdman made their first contribution in #4337
- @arcenotas made their first contribution in #4375
Full Changelog: v0.29.0...v0.30.0