Skip to content

bug: Cannot create multiple labels in neptune using :: delimeter #10264

Open
@ahsankarimbhai

Description

@ahsankarimbhai

Is there an existing issue for this?

  • I have searched the existing issues

Current Behavior

As per AWS documentation, you can create a vertex in neptune with multiple labels separted by :: delimeter: https://docs.aws.amazon.com/neptune/latest/userguide/access-graph-gremlin-differences.html#feature-gremlin-differences-labels

When we try to create multiple labels for a vertex in localstack neptune, it treats the :: delimiter literally and created just one label with that delimiter as part of it.

Expected Behavior

Localstack neptune should create multiple labels the same way AWS does using :: delimiter.

How are you starting LocalStack?

With a docker-compose file

Steps To Reproduce

How are you starting localstack (e.g., bin/localstack command, arguments, or docker-compose.yml)

docker-compose.yml

Client commands (e.g., AWS SDK code snippet, or sequence of "awslocal" commands)

  1. Attempt to create a vertex with multiple labels:
    curl -k "http://localhost.localstack.cloud:4510/?gremlin=g.addV('Label1::Label2::Label3')"
  2. Query all vertices with Label1
    curl -k "http://localhost.localstack.cloud:4510/?gremlin=g.V().hasLabel('Label1')"

Expected Result:
Created vertex should be returned with Label1
{"requestId":"a160c4e7-0ca3-4c67-88b9-c7fab89098e9","status":{"message":"","code":200,"attributes":{"@type":"g:Map","@value":[]}},"result":{"data":{"@type":"g:List","@value":[{"@type":"g:Vertex","@value":{"id":"91cd1439-883b-45cb-b147-7f9fedb6552c","label":"Label1:"}}]},"meta":{"@type":"g:Map","@value":[]}}}%

Actual Result:
Vertex is not returned:
{"requestId":"acee4c8d-d890-4464-b878-3c4120232dc3","status":{"message":"","code":200,"attributes":{"@type":"g:Map","@value":[]}},"result":{"data":{"@type":"g:List","@value":[]},"meta":{"@type":"g:Map","@value":[]}}}%

If we instead do a query with Label1::Label2::Label3, vertex is indeed returned. This means that the vertex is created with one label Label1::Label2::Label3 instead of 3 different labels:

{"requestId":"37864c4f-0e25-420a-9066-c0fe437a5974","status":{"message":"","code":200,"attributes":{"@type":"g:Map","@value":[]}},"result":{"data":{"@type":"g:List","@value":[{"@type":"g:Vertex","@value":{"id":"91cd1439-883b-45cb-b147-7f9fedb6552c","label":"Label1::Label2::Label3"}}]},"meta":{"@type":"g:Map","@value":[]}}}%

Environment

- OS:MacOS
- LocalStack Image: localstack/localstack-pro:latest

Anything else?

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions