flowquery 1.0.46 → 1.0.47
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +0 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -4
- package/dist/index.js.map +1 -1
- package/package.json +4 -1
- package/.editorconfig +0 -21
- package/.gitattributes +0 -3
- package/.github/workflows/npm-publish.yml +0 -32
- package/.github/workflows/python-publish.yml +0 -143
- package/.github/workflows/release.yml +0 -107
- package/.husky/pre-commit +0 -28
- package/.prettierrc +0 -22
- package/CODE_OF_CONDUCT.md +0 -10
- package/FlowQueryLogoIcon.png +0 -0
- package/SECURITY.md +0 -14
- package/SUPPORT.md +0 -13
- package/docs/flowquery.min.js +0 -1
- package/docs/index.html +0 -105
- package/flowquery-py/CONTRIBUTING.md +0 -127
- package/flowquery-py/README.md +0 -67
- package/flowquery-py/misc/data/test.json +0 -10
- package/flowquery-py/misc/data/users.json +0 -242
- package/flowquery-py/notebooks/TestFlowQuery.ipynb +0 -440
- package/flowquery-py/pyproject.toml +0 -121
- package/flowquery-py/setup_env.ps1 +0 -92
- package/flowquery-py/setup_env.sh +0 -87
- package/flowquery-py/src/__init__.py +0 -38
- package/flowquery-py/src/__main__.py +0 -10
- package/flowquery-py/src/compute/__init__.py +0 -6
- package/flowquery-py/src/compute/flowquery.py +0 -68
- package/flowquery-py/src/compute/runner.py +0 -64
- package/flowquery-py/src/extensibility.py +0 -52
- package/flowquery-py/src/graph/__init__.py +0 -31
- package/flowquery-py/src/graph/data.py +0 -136
- package/flowquery-py/src/graph/database.py +0 -141
- package/flowquery-py/src/graph/hops.py +0 -43
- package/flowquery-py/src/graph/node.py +0 -143
- package/flowquery-py/src/graph/node_data.py +0 -26
- package/flowquery-py/src/graph/node_reference.py +0 -50
- package/flowquery-py/src/graph/pattern.py +0 -115
- package/flowquery-py/src/graph/pattern_expression.py +0 -67
- package/flowquery-py/src/graph/patterns.py +0 -42
- package/flowquery-py/src/graph/physical_node.py +0 -41
- package/flowquery-py/src/graph/physical_relationship.py +0 -36
- package/flowquery-py/src/graph/relationship.py +0 -193
- package/flowquery-py/src/graph/relationship_data.py +0 -36
- package/flowquery-py/src/graph/relationship_match_collector.py +0 -85
- package/flowquery-py/src/graph/relationship_reference.py +0 -21
- package/flowquery-py/src/io/__init__.py +0 -5
- package/flowquery-py/src/io/command_line.py +0 -108
- package/flowquery-py/src/parsing/__init__.py +0 -17
- package/flowquery-py/src/parsing/alias.py +0 -20
- package/flowquery-py/src/parsing/alias_option.py +0 -11
- package/flowquery-py/src/parsing/ast_node.py +0 -147
- package/flowquery-py/src/parsing/base_parser.py +0 -84
- package/flowquery-py/src/parsing/components/__init__.py +0 -19
- package/flowquery-py/src/parsing/components/csv.py +0 -8
- package/flowquery-py/src/parsing/components/from_.py +0 -12
- package/flowquery-py/src/parsing/components/headers.py +0 -12
- package/flowquery-py/src/parsing/components/json.py +0 -8
- package/flowquery-py/src/parsing/components/null.py +0 -10
- package/flowquery-py/src/parsing/components/post.py +0 -8
- package/flowquery-py/src/parsing/components/text.py +0 -8
- package/flowquery-py/src/parsing/context.py +0 -50
- package/flowquery-py/src/parsing/data_structures/__init__.py +0 -15
- package/flowquery-py/src/parsing/data_structures/associative_array.py +0 -41
- package/flowquery-py/src/parsing/data_structures/json_array.py +0 -30
- package/flowquery-py/src/parsing/data_structures/key_value_pair.py +0 -38
- package/flowquery-py/src/parsing/data_structures/lookup.py +0 -51
- package/flowquery-py/src/parsing/data_structures/range_lookup.py +0 -42
- package/flowquery-py/src/parsing/expressions/__init__.py +0 -61
- package/flowquery-py/src/parsing/expressions/boolean.py +0 -20
- package/flowquery-py/src/parsing/expressions/expression.py +0 -141
- package/flowquery-py/src/parsing/expressions/expression_map.py +0 -26
- package/flowquery-py/src/parsing/expressions/f_string.py +0 -27
- package/flowquery-py/src/parsing/expressions/identifier.py +0 -21
- package/flowquery-py/src/parsing/expressions/number.py +0 -32
- package/flowquery-py/src/parsing/expressions/operator.py +0 -271
- package/flowquery-py/src/parsing/expressions/reference.py +0 -47
- package/flowquery-py/src/parsing/expressions/string.py +0 -27
- package/flowquery-py/src/parsing/functions/__init__.py +0 -127
- package/flowquery-py/src/parsing/functions/aggregate_function.py +0 -60
- package/flowquery-py/src/parsing/functions/async_function.py +0 -65
- package/flowquery-py/src/parsing/functions/avg.py +0 -55
- package/flowquery-py/src/parsing/functions/coalesce.py +0 -43
- package/flowquery-py/src/parsing/functions/collect.py +0 -75
- package/flowquery-py/src/parsing/functions/count.py +0 -79
- package/flowquery-py/src/parsing/functions/date_.py +0 -61
- package/flowquery-py/src/parsing/functions/datetime_.py +0 -62
- package/flowquery-py/src/parsing/functions/duration.py +0 -159
- package/flowquery-py/src/parsing/functions/element_id.py +0 -50
- package/flowquery-py/src/parsing/functions/function.py +0 -68
- package/flowquery-py/src/parsing/functions/function_factory.py +0 -170
- package/flowquery-py/src/parsing/functions/function_metadata.py +0 -148
- package/flowquery-py/src/parsing/functions/functions.py +0 -67
- package/flowquery-py/src/parsing/functions/head.py +0 -39
- package/flowquery-py/src/parsing/functions/id_.py +0 -49
- package/flowquery-py/src/parsing/functions/join.py +0 -49
- package/flowquery-py/src/parsing/functions/keys.py +0 -34
- package/flowquery-py/src/parsing/functions/last.py +0 -39
- package/flowquery-py/src/parsing/functions/localdatetime.py +0 -60
- package/flowquery-py/src/parsing/functions/localtime.py +0 -57
- package/flowquery-py/src/parsing/functions/max_.py +0 -49
- package/flowquery-py/src/parsing/functions/min_.py +0 -49
- package/flowquery-py/src/parsing/functions/nodes.py +0 -48
- package/flowquery-py/src/parsing/functions/predicate_function.py +0 -47
- package/flowquery-py/src/parsing/functions/predicate_sum.py +0 -49
- package/flowquery-py/src/parsing/functions/properties.py +0 -50
- package/flowquery-py/src/parsing/functions/rand.py +0 -28
- package/flowquery-py/src/parsing/functions/range_.py +0 -41
- package/flowquery-py/src/parsing/functions/reducer_element.py +0 -15
- package/flowquery-py/src/parsing/functions/relationships.py +0 -46
- package/flowquery-py/src/parsing/functions/replace.py +0 -39
- package/flowquery-py/src/parsing/functions/round_.py +0 -34
- package/flowquery-py/src/parsing/functions/schema.py +0 -40
- package/flowquery-py/src/parsing/functions/size.py +0 -34
- package/flowquery-py/src/parsing/functions/split.py +0 -54
- package/flowquery-py/src/parsing/functions/string_distance.py +0 -92
- package/flowquery-py/src/parsing/functions/stringify.py +0 -49
- package/flowquery-py/src/parsing/functions/substring.py +0 -76
- package/flowquery-py/src/parsing/functions/sum.py +0 -51
- package/flowquery-py/src/parsing/functions/tail.py +0 -37
- package/flowquery-py/src/parsing/functions/temporal_utils.py +0 -186
- package/flowquery-py/src/parsing/functions/time_.py +0 -57
- package/flowquery-py/src/parsing/functions/timestamp.py +0 -37
- package/flowquery-py/src/parsing/functions/to_float.py +0 -46
- package/flowquery-py/src/parsing/functions/to_integer.py +0 -46
- package/flowquery-py/src/parsing/functions/to_json.py +0 -35
- package/flowquery-py/src/parsing/functions/to_lower.py +0 -37
- package/flowquery-py/src/parsing/functions/to_string.py +0 -41
- package/flowquery-py/src/parsing/functions/trim.py +0 -37
- package/flowquery-py/src/parsing/functions/type_.py +0 -47
- package/flowquery-py/src/parsing/functions/value_holder.py +0 -24
- package/flowquery-py/src/parsing/logic/__init__.py +0 -15
- package/flowquery-py/src/parsing/logic/case.py +0 -28
- package/flowquery-py/src/parsing/logic/else_.py +0 -12
- package/flowquery-py/src/parsing/logic/end.py +0 -8
- package/flowquery-py/src/parsing/logic/then.py +0 -12
- package/flowquery-py/src/parsing/logic/when.py +0 -12
- package/flowquery-py/src/parsing/operations/__init__.py +0 -46
- package/flowquery-py/src/parsing/operations/aggregated_return.py +0 -25
- package/flowquery-py/src/parsing/operations/aggregated_with.py +0 -22
- package/flowquery-py/src/parsing/operations/call.py +0 -73
- package/flowquery-py/src/parsing/operations/create_node.py +0 -35
- package/flowquery-py/src/parsing/operations/create_relationship.py +0 -35
- package/flowquery-py/src/parsing/operations/delete_node.py +0 -29
- package/flowquery-py/src/parsing/operations/delete_relationship.py +0 -29
- package/flowquery-py/src/parsing/operations/group_by.py +0 -148
- package/flowquery-py/src/parsing/operations/limit.py +0 -33
- package/flowquery-py/src/parsing/operations/load.py +0 -148
- package/flowquery-py/src/parsing/operations/match.py +0 -52
- package/flowquery-py/src/parsing/operations/operation.py +0 -69
- package/flowquery-py/src/parsing/operations/order_by.py +0 -114
- package/flowquery-py/src/parsing/operations/projection.py +0 -21
- package/flowquery-py/src/parsing/operations/return_op.py +0 -88
- package/flowquery-py/src/parsing/operations/union.py +0 -115
- package/flowquery-py/src/parsing/operations/union_all.py +0 -17
- package/flowquery-py/src/parsing/operations/unwind.py +0 -42
- package/flowquery-py/src/parsing/operations/where.py +0 -43
- package/flowquery-py/src/parsing/operations/with_op.py +0 -18
- package/flowquery-py/src/parsing/parser.py +0 -1384
- package/flowquery-py/src/parsing/parser_state.py +0 -26
- package/flowquery-py/src/parsing/token_to_node.py +0 -109
- package/flowquery-py/src/tokenization/__init__.py +0 -23
- package/flowquery-py/src/tokenization/keyword.py +0 -54
- package/flowquery-py/src/tokenization/operator.py +0 -29
- package/flowquery-py/src/tokenization/string_walker.py +0 -158
- package/flowquery-py/src/tokenization/symbol.py +0 -19
- package/flowquery-py/src/tokenization/token.py +0 -693
- package/flowquery-py/src/tokenization/token_mapper.py +0 -53
- package/flowquery-py/src/tokenization/token_type.py +0 -21
- package/flowquery-py/src/tokenization/tokenizer.py +0 -214
- package/flowquery-py/src/tokenization/trie.py +0 -125
- package/flowquery-py/src/utils/__init__.py +0 -6
- package/flowquery-py/src/utils/object_utils.py +0 -20
- package/flowquery-py/src/utils/string_utils.py +0 -113
- package/flowquery-py/tests/__init__.py +0 -1
- package/flowquery-py/tests/compute/__init__.py +0 -1
- package/flowquery-py/tests/compute/test_runner.py +0 -4902
- package/flowquery-py/tests/graph/__init__.py +0 -1
- package/flowquery-py/tests/graph/test_create.py +0 -56
- package/flowquery-py/tests/graph/test_data.py +0 -73
- package/flowquery-py/tests/graph/test_match.py +0 -40
- package/flowquery-py/tests/parsing/__init__.py +0 -1
- package/flowquery-py/tests/parsing/test_context.py +0 -34
- package/flowquery-py/tests/parsing/test_expression.py +0 -248
- package/flowquery-py/tests/parsing/test_parser.py +0 -1237
- package/flowquery-py/tests/test_extensibility.py +0 -611
- package/flowquery-py/tests/tokenization/__init__.py +0 -1
- package/flowquery-py/tests/tokenization/test_token_mapper.py +0 -60
- package/flowquery-py/tests/tokenization/test_tokenizer.py +0 -198
- package/flowquery-py/tests/tokenization/test_trie.py +0 -30
- package/flowquery-vscode/.vscode-test.mjs +0 -5
- package/flowquery-vscode/.vscodeignore +0 -13
- package/flowquery-vscode/LICENSE +0 -21
- package/flowquery-vscode/README.md +0 -11
- package/flowquery-vscode/demo/FlowQueryVSCodeDemo.gif +0 -0
- package/flowquery-vscode/eslint.config.mjs +0 -25
- package/flowquery-vscode/extension.js +0 -508
- package/flowquery-vscode/flowQueryEngine/flowquery.min.js +0 -1
- package/flowquery-vscode/flowquery-worker.js +0 -66
- package/flowquery-vscode/images/FlowQueryLogoIcon.png +0 -0
- package/flowquery-vscode/jsconfig.json +0 -13
- package/flowquery-vscode/libs/page.css +0 -53
- package/flowquery-vscode/libs/table.css +0 -13
- package/flowquery-vscode/libs/tabs.css +0 -66
- package/flowquery-vscode/package-lock.json +0 -2917
- package/flowquery-vscode/package.json +0 -51
- package/flowquery-vscode/test/extension.test.js +0 -196
- package/flowquery-vscode/test/worker.test.js +0 -25
- package/flowquery-vscode/vsc-extension-quickstart.md +0 -42
- package/jest.config.js +0 -14
- package/misc/apps/RAG/README.md +0 -29
- package/misc/apps/RAG/data/chats.json +0 -302
- package/misc/apps/RAG/data/emails.json +0 -182
- package/misc/apps/RAG/data/events.json +0 -226
- package/misc/apps/RAG/data/files.json +0 -172
- package/misc/apps/RAG/data/users.json +0 -158
- package/misc/apps/RAG/jest.config.js +0 -21
- package/misc/apps/RAG/package.json +0 -48
- package/misc/apps/RAG/public/index.html +0 -18
- package/misc/apps/RAG/src/App.css +0 -42
- package/misc/apps/RAG/src/App.tsx +0 -50
- package/misc/apps/RAG/src/components/AdaptiveCardRenderer.css +0 -172
- package/misc/apps/RAG/src/components/AdaptiveCardRenderer.tsx +0 -380
- package/misc/apps/RAG/src/components/ApiKeySettings.tsx +0 -245
- package/misc/apps/RAG/src/components/ChatContainer.css +0 -67
- package/misc/apps/RAG/src/components/ChatContainer.tsx +0 -242
- package/misc/apps/RAG/src/components/ChatInput.css +0 -23
- package/misc/apps/RAG/src/components/ChatInput.tsx +0 -76
- package/misc/apps/RAG/src/components/ChatMessage.css +0 -160
- package/misc/apps/RAG/src/components/ChatMessage.tsx +0 -286
- package/misc/apps/RAG/src/components/FlowQueryAgent.ts +0 -708
- package/misc/apps/RAG/src/components/FlowQueryRunner.css +0 -113
- package/misc/apps/RAG/src/components/FlowQueryRunner.tsx +0 -371
- package/misc/apps/RAG/src/components/index.ts +0 -28
- package/misc/apps/RAG/src/graph/index.ts +0 -19
- package/misc/apps/RAG/src/graph/initializeGraph.ts +0 -254
- package/misc/apps/RAG/src/index.tsx +0 -29
- package/misc/apps/RAG/src/prompts/FlowQuerySystemPrompt.ts +0 -327
- package/misc/apps/RAG/src/prompts/index.ts +0 -10
- package/misc/apps/RAG/src/tests/graph.test.ts +0 -35
- package/misc/apps/RAG/src/utils/FlowQueryExecutor.ts +0 -130
- package/misc/apps/RAG/src/utils/FlowQueryExtractor.ts +0 -208
- package/misc/apps/RAG/src/utils/Llm.ts +0 -248
- package/misc/apps/RAG/src/utils/index.ts +0 -12
- package/misc/apps/RAG/tsconfig.json +0 -22
- package/misc/apps/RAG/webpack.config.js +0 -43
- package/misc/apps/README.md +0 -1
- package/misc/queries/analyze_catfacts.cql +0 -75
- package/misc/queries/azure_openai_completions.cql +0 -13
- package/misc/queries/azure_openai_models.cql +0 -9
- package/misc/queries/mock_pipeline.cql +0 -84
- package/misc/queries/openai_completions.cql +0 -15
- package/misc/queries/openai_models.cql +0 -13
- package/misc/queries/test.cql +0 -6
- package/misc/queries/tool_inference.cql +0 -24
- package/misc/queries/wisdom.cql +0 -6
- package/misc/queries/wisdom_letter_histogram.cql +0 -8
- package/src/compute/flowquery.ts +0 -46
- package/src/compute/runner.ts +0 -66
- package/src/extensibility.ts +0 -45
- package/src/graph/data.ts +0 -130
- package/src/graph/database.ts +0 -143
- package/src/graph/hops.ts +0 -22
- package/src/graph/node.ts +0 -122
- package/src/graph/node_data.ts +0 -18
- package/src/graph/node_reference.ts +0 -38
- package/src/graph/pattern.ts +0 -110
- package/src/graph/pattern_expression.ts +0 -48
- package/src/graph/patterns.ts +0 -36
- package/src/graph/physical_node.ts +0 -23
- package/src/graph/physical_relationship.ts +0 -23
- package/src/graph/relationship.ts +0 -167
- package/src/graph/relationship_data.ts +0 -31
- package/src/graph/relationship_match_collector.ts +0 -64
- package/src/graph/relationship_reference.ts +0 -25
- package/src/index.browser.ts +0 -46
- package/src/index.node.ts +0 -55
- package/src/index.ts +0 -12
- package/src/io/command_line.ts +0 -74
- package/src/parsing/alias.ts +0 -23
- package/src/parsing/alias_option.ts +0 -5
- package/src/parsing/ast_node.ts +0 -153
- package/src/parsing/base_parser.ts +0 -98
- package/src/parsing/components/csv.ts +0 -9
- package/src/parsing/components/from.ts +0 -12
- package/src/parsing/components/headers.ts +0 -12
- package/src/parsing/components/json.ts +0 -9
- package/src/parsing/components/null.ts +0 -9
- package/src/parsing/components/post.ts +0 -9
- package/src/parsing/components/text.ts +0 -9
- package/src/parsing/context.ts +0 -54
- package/src/parsing/data_structures/associative_array.ts +0 -43
- package/src/parsing/data_structures/json_array.ts +0 -31
- package/src/parsing/data_structures/key_value_pair.ts +0 -37
- package/src/parsing/data_structures/lookup.ts +0 -44
- package/src/parsing/data_structures/range_lookup.ts +0 -36
- package/src/parsing/expressions/boolean.ts +0 -21
- package/src/parsing/expressions/expression.ts +0 -150
- package/src/parsing/expressions/expression_map.ts +0 -22
- package/src/parsing/expressions/f_string.ts +0 -26
- package/src/parsing/expressions/identifier.ts +0 -22
- package/src/parsing/expressions/number.ts +0 -40
- package/src/parsing/expressions/operator.ts +0 -354
- package/src/parsing/expressions/reference.ts +0 -45
- package/src/parsing/expressions/string.ts +0 -34
- package/src/parsing/functions/aggregate_function.ts +0 -58
- package/src/parsing/functions/async_function.ts +0 -64
- package/src/parsing/functions/avg.ts +0 -47
- package/src/parsing/functions/coalesce.ts +0 -49
- package/src/parsing/functions/collect.ts +0 -54
- package/src/parsing/functions/count.ts +0 -54
- package/src/parsing/functions/date.ts +0 -63
- package/src/parsing/functions/datetime.ts +0 -63
- package/src/parsing/functions/duration.ts +0 -143
- package/src/parsing/functions/element_id.ts +0 -51
- package/src/parsing/functions/function.ts +0 -60
- package/src/parsing/functions/function_factory.ts +0 -195
- package/src/parsing/functions/function_metadata.ts +0 -217
- package/src/parsing/functions/functions.ts +0 -70
- package/src/parsing/functions/head.ts +0 -42
- package/src/parsing/functions/id.ts +0 -51
- package/src/parsing/functions/join.ts +0 -40
- package/src/parsing/functions/keys.ts +0 -29
- package/src/parsing/functions/last.ts +0 -42
- package/src/parsing/functions/localdatetime.ts +0 -63
- package/src/parsing/functions/localtime.ts +0 -58
- package/src/parsing/functions/max.ts +0 -37
- package/src/parsing/functions/min.ts +0 -37
- package/src/parsing/functions/nodes.ts +0 -54
- package/src/parsing/functions/predicate_function.ts +0 -48
- package/src/parsing/functions/predicate_sum.ts +0 -47
- package/src/parsing/functions/properties.ts +0 -56
- package/src/parsing/functions/rand.ts +0 -21
- package/src/parsing/functions/range.ts +0 -37
- package/src/parsing/functions/reducer_element.ts +0 -10
- package/src/parsing/functions/relationships.ts +0 -52
- package/src/parsing/functions/replace.ts +0 -38
- package/src/parsing/functions/round.ts +0 -28
- package/src/parsing/functions/schema.ts +0 -39
- package/src/parsing/functions/size.ts +0 -28
- package/src/parsing/functions/split.ts +0 -45
- package/src/parsing/functions/string_distance.ts +0 -83
- package/src/parsing/functions/stringify.ts +0 -37
- package/src/parsing/functions/substring.ts +0 -68
- package/src/parsing/functions/sum.ts +0 -41
- package/src/parsing/functions/tail.ts +0 -39
- package/src/parsing/functions/temporal_utils.ts +0 -180
- package/src/parsing/functions/time.ts +0 -58
- package/src/parsing/functions/timestamp.ts +0 -37
- package/src/parsing/functions/to_float.ts +0 -50
- package/src/parsing/functions/to_integer.ts +0 -50
- package/src/parsing/functions/to_json.ts +0 -28
- package/src/parsing/functions/to_lower.ts +0 -28
- package/src/parsing/functions/to_string.ts +0 -32
- package/src/parsing/functions/trim.ts +0 -28
- package/src/parsing/functions/type.ts +0 -39
- package/src/parsing/functions/value_holder.ts +0 -13
- package/src/parsing/logic/case.ts +0 -26
- package/src/parsing/logic/else.ts +0 -12
- package/src/parsing/logic/end.ts +0 -9
- package/src/parsing/logic/then.ts +0 -12
- package/src/parsing/logic/when.ts +0 -12
- package/src/parsing/operations/aggregated_return.ts +0 -22
- package/src/parsing/operations/aggregated_with.ts +0 -18
- package/src/parsing/operations/call.ts +0 -69
- package/src/parsing/operations/create_node.ts +0 -39
- package/src/parsing/operations/create_relationship.ts +0 -38
- package/src/parsing/operations/delete_node.ts +0 -33
- package/src/parsing/operations/delete_relationship.ts +0 -32
- package/src/parsing/operations/group_by.ts +0 -137
- package/src/parsing/operations/limit.ts +0 -31
- package/src/parsing/operations/load.ts +0 -146
- package/src/parsing/operations/match.ts +0 -54
- package/src/parsing/operations/operation.ts +0 -69
- package/src/parsing/operations/order_by.ts +0 -126
- package/src/parsing/operations/projection.ts +0 -18
- package/src/parsing/operations/return.ts +0 -76
- package/src/parsing/operations/union.ts +0 -114
- package/src/parsing/operations/union_all.ts +0 -16
- package/src/parsing/operations/unwind.ts +0 -36
- package/src/parsing/operations/where.ts +0 -42
- package/src/parsing/operations/with.ts +0 -20
- package/src/parsing/parser.ts +0 -1641
- package/src/parsing/parser_state.ts +0 -25
- package/src/parsing/token_to_node.ts +0 -114
- package/src/tokenization/keyword.ts +0 -50
- package/src/tokenization/operator.ts +0 -25
- package/src/tokenization/string_walker.ts +0 -197
- package/src/tokenization/symbol.ts +0 -15
- package/src/tokenization/token.ts +0 -764
- package/src/tokenization/token_mapper.ts +0 -53
- package/src/tokenization/token_type.ts +0 -16
- package/src/tokenization/tokenizer.ts +0 -250
- package/src/tokenization/trie.ts +0 -117
- package/src/utils/object_utils.ts +0 -17
- package/src/utils/string_utils.ts +0 -114
- package/tests/compute/runner.test.ts +0 -4559
- package/tests/extensibility.test.ts +0 -643
- package/tests/graph/create.test.ts +0 -36
- package/tests/graph/data.test.ts +0 -58
- package/tests/graph/match.test.ts +0 -29
- package/tests/parsing/context.test.ts +0 -27
- package/tests/parsing/expression.test.ts +0 -303
- package/tests/parsing/parser.test.ts +0 -1327
- package/tests/tokenization/token_mapper.test.ts +0 -47
- package/tests/tokenization/tokenizer.test.ts +0 -191
- package/tests/tokenization/trie.test.ts +0 -20
- package/tsconfig.json +0 -19
- package/typedoc.json +0 -16
- package/vscode-settings.json.recommended +0 -16
- package/webpack.config.js +0 -26
|
@@ -1,198 +0,0 @@
|
|
|
1
|
-
"""Tests for the FlowQuery tokenizer."""
|
|
2
|
-
|
|
3
|
-
import pytest
|
|
4
|
-
from flowquery.tokenization.tokenizer import Tokenizer
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
class TestTokenizer:
|
|
8
|
-
"""Test cases for the Tokenizer class."""
|
|
9
|
-
|
|
10
|
-
def test_tokenize_returns_array_of_tokens(self):
|
|
11
|
-
"""Tokenizer.tokenize() should return an array of tokens."""
|
|
12
|
-
tokenizer = Tokenizer("MATCH (n:Person) RETURN n")
|
|
13
|
-
tokens = tokenizer.tokenize()
|
|
14
|
-
assert tokens is not None
|
|
15
|
-
assert len(tokens) > 0
|
|
16
|
-
|
|
17
|
-
def test_tokenize_handles_escaped_quotes(self):
|
|
18
|
-
"""Tokenizer.tokenize() should handle escaped quotes."""
|
|
19
|
-
tokenizer = Tokenizer('return "hello \\"world"')
|
|
20
|
-
tokens = tokenizer.tokenize()
|
|
21
|
-
assert tokens is not None
|
|
22
|
-
assert len(tokens) > 0
|
|
23
|
-
|
|
24
|
-
def test_predicate_function(self):
|
|
25
|
-
"""Test predicate function tokenization."""
|
|
26
|
-
tokenizer = Tokenizer("RETURN sum(n in [1, 2, 3] | n where n > 1)")
|
|
27
|
-
tokens = tokenizer.tokenize()
|
|
28
|
-
assert tokens is not None
|
|
29
|
-
assert len(tokens) > 0
|
|
30
|
-
|
|
31
|
-
def test_f_string(self):
|
|
32
|
-
"""Test f-string tokenization."""
|
|
33
|
-
tokenizer = Tokenizer('RETURN f"hello {world}"')
|
|
34
|
-
tokens = tokenizer.tokenize()
|
|
35
|
-
assert tokens is not None
|
|
36
|
-
assert len(tokens) > 0
|
|
37
|
-
|
|
38
|
-
def test_another_f_string(self):
|
|
39
|
-
"""Test another f-string tokenization."""
|
|
40
|
-
tokenizer = Tokenizer("RETURN f`Value is: {value}`")
|
|
41
|
-
tokens = tokenizer.tokenize()
|
|
42
|
-
assert tokens is not None
|
|
43
|
-
assert len(tokens) > 0
|
|
44
|
-
|
|
45
|
-
def test_basic(self):
|
|
46
|
-
"""Test basic tokenization."""
|
|
47
|
-
tokenizer = Tokenizer("WITH 1 AS n RETURN n")
|
|
48
|
-
tokens = tokenizer.tokenize()
|
|
49
|
-
assert tokens is not None
|
|
50
|
-
assert len(tokens) > 0
|
|
51
|
-
|
|
52
|
-
def test_associative_array_with_backtick_string(self):
|
|
53
|
-
"""Test associative array with backtick string."""
|
|
54
|
-
tokenizer = Tokenizer("RETURN {`key`: `value`}")
|
|
55
|
-
tokens = tokenizer.tokenize()
|
|
56
|
-
assert tokens is not None
|
|
57
|
-
assert len(tokens) > 0
|
|
58
|
-
|
|
59
|
-
def test_limit(self):
|
|
60
|
-
"""Test limit keyword."""
|
|
61
|
-
tokenizer = Tokenizer("unwind range(1, 10) as n limit 5 return n")
|
|
62
|
-
tokens = tokenizer.tokenize()
|
|
63
|
-
assert tokens is not None
|
|
64
|
-
assert len(tokens) > 0
|
|
65
|
-
|
|
66
|
-
def test_return_negative_number(self):
|
|
67
|
-
"""Test return with negative number."""
|
|
68
|
-
tokenizer = Tokenizer("return [:-2], -2")
|
|
69
|
-
tokens = tokenizer.tokenize()
|
|
70
|
-
assert tokens is not None
|
|
71
|
-
assert len(tokens) > 0
|
|
72
|
-
|
|
73
|
-
def test_range_with_function(self):
|
|
74
|
-
"""Test range with function."""
|
|
75
|
-
tokenizer = Tokenizer("""
|
|
76
|
-
with range(1,10) as data
|
|
77
|
-
return range(0, size(data)-1) as indices
|
|
78
|
-
""")
|
|
79
|
-
tokens = tokenizer.tokenize()
|
|
80
|
-
assert tokens is not None
|
|
81
|
-
assert len(tokens) > 0
|
|
82
|
-
|
|
83
|
-
def test_create_virtual_node(self):
|
|
84
|
-
"""Test CREATE VIRTUAL node tokenization."""
|
|
85
|
-
tokenizer = Tokenizer("""
|
|
86
|
-
CREATE VIRTUAL (:Person) AS {
|
|
87
|
-
call users() YIELD id, name
|
|
88
|
-
}
|
|
89
|
-
""")
|
|
90
|
-
tokens = tokenizer.tokenize()
|
|
91
|
-
assert tokens is not None
|
|
92
|
-
assert len(tokens) > 0
|
|
93
|
-
|
|
94
|
-
def test_create_virtual_relationship(self):
|
|
95
|
-
"""Test CREATE VIRTUAL relationship tokenization."""
|
|
96
|
-
tokenizer = Tokenizer("""
|
|
97
|
-
CREATE VIRTUAL (:Person)-[:KNOWS]->(:Person) AS {
|
|
98
|
-
call friendships() YIELD user1_id, user2_id
|
|
99
|
-
}
|
|
100
|
-
""")
|
|
101
|
-
tokens = tokenizer.tokenize()
|
|
102
|
-
assert tokens is not None
|
|
103
|
-
assert len(tokens) > 0
|
|
104
|
-
|
|
105
|
-
def test_match_based_on_virtual_node(self):
|
|
106
|
-
"""Test match based on virtual node."""
|
|
107
|
-
tokenizer = Tokenizer("""
|
|
108
|
-
MATCH (a:Person)
|
|
109
|
-
RETURN a.name
|
|
110
|
-
""")
|
|
111
|
-
tokens = tokenizer.tokenize()
|
|
112
|
-
assert tokens is not None
|
|
113
|
-
assert len(tokens) > 0
|
|
114
|
-
|
|
115
|
-
def test_match_based_on_virtual_nodes_and_relationships(self):
|
|
116
|
-
"""Test match based on virtual nodes and relationships."""
|
|
117
|
-
tokenizer = Tokenizer("""
|
|
118
|
-
MATCH (a:Person)-[r:KNOWS]->(b:Person)
|
|
119
|
-
RETURN a.name, b.name
|
|
120
|
-
""")
|
|
121
|
-
tokens = tokenizer.tokenize()
|
|
122
|
-
assert tokens is not None
|
|
123
|
-
assert len(tokens) > 0
|
|
124
|
-
|
|
125
|
-
def test_not_equal_operator(self):
|
|
126
|
-
"""Test not equal operator."""
|
|
127
|
-
tokenizer = Tokenizer("""
|
|
128
|
-
MATCH (n:Person)
|
|
129
|
-
WHERE n.age <> 30
|
|
130
|
-
RETURN n.name AS name, n.age AS age
|
|
131
|
-
""")
|
|
132
|
-
tokens = tokenizer.tokenize()
|
|
133
|
-
assert tokens is not None
|
|
134
|
-
assert len(tokens) > 0
|
|
135
|
-
|
|
136
|
-
def test_equal_operator(self):
|
|
137
|
-
"""Test equal operator."""
|
|
138
|
-
tokenizer = Tokenizer("""
|
|
139
|
-
MATCH (n:Person)
|
|
140
|
-
WHERE n.age = 30
|
|
141
|
-
RETURN n.name AS name, n.age AS age
|
|
142
|
-
""")
|
|
143
|
-
tokens = tokenizer.tokenize()
|
|
144
|
-
assert tokens is not None
|
|
145
|
-
assert len(tokens) > 0
|
|
146
|
-
|
|
147
|
-
def test_boolean_operators(self):
|
|
148
|
-
"""Test boolean operators."""
|
|
149
|
-
tokenizer = Tokenizer("""
|
|
150
|
-
return true AND false OR true NOT false
|
|
151
|
-
""")
|
|
152
|
-
tokens = tokenizer.tokenize()
|
|
153
|
-
assert tokens is not None
|
|
154
|
-
assert len(tokens) > 0
|
|
155
|
-
|
|
156
|
-
def test_relationship_with_hops(self):
|
|
157
|
-
"""Test relationship with hops."""
|
|
158
|
-
tokenizer = Tokenizer("""
|
|
159
|
-
MATCH (a:Person)-[r:KNOWS*1..3]->(b:Person)
|
|
160
|
-
RETURN a.name, b.name
|
|
161
|
-
""")
|
|
162
|
-
tokens = tokenizer.tokenize()
|
|
163
|
-
assert tokens is not None
|
|
164
|
-
assert len(tokens) > 0
|
|
165
|
-
|
|
166
|
-
def test_reserved_keywords_as_identifiers(self):
|
|
167
|
-
"""Test reserved keywords as identifiers."""
|
|
168
|
-
tokenizer = Tokenizer("""
|
|
169
|
-
WITH 1 AS return
|
|
170
|
-
RETURN return
|
|
171
|
-
""")
|
|
172
|
-
tokens = tokenizer.tokenize()
|
|
173
|
-
assert tokens is not None
|
|
174
|
-
assert len(tokens) > 0
|
|
175
|
-
|
|
176
|
-
def test_reserved_keywords_as_part_of_identifiers(self):
|
|
177
|
-
"""Test reserved keywords as part of identifiers."""
|
|
178
|
-
tokenizer = Tokenizer("""
|
|
179
|
-
unwind [
|
|
180
|
-
{from: "Alice", to: "Bob", organizer: "Charlie"},
|
|
181
|
-
{from: "Bob", to: "Charlie", organizer: "Alice"},
|
|
182
|
-
{from: "Charlie", to: "Alice", organizer: "Bob"}
|
|
183
|
-
] as data
|
|
184
|
-
return data.from, data.to
|
|
185
|
-
""")
|
|
186
|
-
tokens = tokenizer.tokenize()
|
|
187
|
-
assert tokens is not None
|
|
188
|
-
assert len(tokens) > 0
|
|
189
|
-
|
|
190
|
-
def test_reserved_keywords_as_relationship_types_and_labels(self):
|
|
191
|
-
"""Test reserved keywords as relationship types and labels."""
|
|
192
|
-
tokenizer = Tokenizer("""
|
|
193
|
-
MATCH (a:RETURN)-[r:WITH]->(b:RETURN)
|
|
194
|
-
RETURN a, b
|
|
195
|
-
""")
|
|
196
|
-
tokens = tokenizer.tokenize()
|
|
197
|
-
assert tokens is not None
|
|
198
|
-
assert len(tokens) > 0
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
"""Tests for the Trie data structure."""
|
|
2
|
-
|
|
3
|
-
import pytest
|
|
4
|
-
from flowquery.tokenization.trie import Trie
|
|
5
|
-
from flowquery.tokenization.token import Token
|
|
6
|
-
from flowquery.tokenization.keyword import Keyword
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
class TestTrie:
|
|
10
|
-
"""Test cases for the Trie class."""
|
|
11
|
-
|
|
12
|
-
def test_trie_insert_and_find(self):
|
|
13
|
-
"""Test Trie insert and find operations."""
|
|
14
|
-
trie = Trie()
|
|
15
|
-
|
|
16
|
-
# Insert all keywords
|
|
17
|
-
for keyword in Keyword:
|
|
18
|
-
token = Token.method(keyword.value)
|
|
19
|
-
if token is not None and token.value is not None:
|
|
20
|
-
trie.insert(token)
|
|
21
|
-
found = trie.find(keyword.value)
|
|
22
|
-
assert found is not None
|
|
23
|
-
|
|
24
|
-
# Test for non-existent values
|
|
25
|
-
assert trie.find("not_a_keyword") is None
|
|
26
|
-
assert trie.find("not_an_operator") is None
|
|
27
|
-
assert trie.find("not_a_keyword_or_operator") is None
|
|
28
|
-
assert trie.find("") is None
|
|
29
|
-
assert trie.find(" ") is None
|
|
30
|
-
assert trie.find("a") is None
|
package/flowquery-vscode/LICENSE
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
MIT License
|
|
2
|
-
|
|
3
|
-
Copyright (c) Microsoft Corporation.
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
# FlowQuery for VSCode
|
|
2
|
-
|
|
3
|
-
Run FlowQuery statements from within VSCode.
|
|
4
|
-
|
|
5
|
-
### Howto?
|
|
6
|
-
1. Open a .cql file and press shift+enter.
|
|
7
|
-
2. Query results show up in a separate tab.
|
|
8
|
-
|
|
9
|
-
You can create a .env (key=value pairs) file in the same directory as your .cql files and refer to variables defined in the .env file from cql files, for example '$key'.
|
|
10
|
-
|
|
11
|
-
.
|
|
Binary file
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import globals from "globals";
|
|
2
|
-
|
|
3
|
-
export default [{
|
|
4
|
-
files: ["**/*.js"],
|
|
5
|
-
languageOptions: {
|
|
6
|
-
globals: {
|
|
7
|
-
...globals.commonjs,
|
|
8
|
-
...globals.node,
|
|
9
|
-
...globals.mocha,
|
|
10
|
-
},
|
|
11
|
-
|
|
12
|
-
ecmaVersion: 2022,
|
|
13
|
-
sourceType: "module",
|
|
14
|
-
},
|
|
15
|
-
|
|
16
|
-
rules: {
|
|
17
|
-
"no-const-assign": "warn",
|
|
18
|
-
"no-this-before-super": "warn",
|
|
19
|
-
"no-undef": "warn",
|
|
20
|
-
"no-unreachable": "warn",
|
|
21
|
-
"no-unused-vars": "warn",
|
|
22
|
-
"constructor-super": "warn",
|
|
23
|
-
"valid-typeof": "warn",
|
|
24
|
-
},
|
|
25
|
-
}];
|