Bug Type (问题类型)
gremlin (结果不合预期)
Before submit
Environment (环境信息)
- Server Version: 1.7.0
- gremlin: 3.5.1
- Docker Image:
hugegraph/hugegraph:latest
- Backend: default Docker standalone backend
- Data Size: 2 vertices, 1 edge
Expected & Actual behavior (期望与实际表现)
HugeGraph returns a wrong result when multiple has() predicates.
The graph has one edge:
(a:A)-[:E {x: -4}]->(b:A)
Bug-triggering query:
g.E().has('x', -4).has('x', lte(4)).count()
Expected:
[1]
Actual:
[0]
The conjunction is satisfiable because the edge has x = -4, and -4 <= 4.
Vertex/Edge example (问题点 / 边数据举例)
**Vertex/Edge example**
curl -fsS --compressed -X DELETE \
"http://127.0.0.1:8080/graphs/hugegraph/clear?confirm_message=I'm%20sure%20to%20delete%20all%20data"
curl -fsS --compressed -H 'Content-Type: application/json' -X POST \
-d '{"id":"a","label":"A","properties":{}}' \
"http://127.0.0.1:8080/graphs/hugegraph/graph/vertices"
curl -fsS --compressed -H 'Content-Type: application/json' -X POST \
-d '{"id":"b","label":"A","properties":{}}' \
"http://127.0.0.1:8080/graphs/hugegraph/graph/vertices"
curl -fsS --compressed -H 'Content-Type: application/json' -X POST \
-d '{"label":"E","outV":"a","outVLabel":"A","inV":"b","inVLabel":"A","properties":{"x":-4}}' \
"http://127.0.0.1:8080/graphs/hugegraph/graph/edges"
Schema [VertexLabel, EdgeLabel, IndexLabel] (元数据结构)
**Schema**
curl -fsS --compressed -H 'Content-Type: application/json' -X POST \
-d '{"name":"x","data_type":"LONG","cardinality":"SINGLE"}' \
"http://127.0.0.1:8080/graphs/hugegraph/schema/propertykeys"
curl -fsS --compressed -H 'Content-Type: application/json' -X POST \
-d '{"name":"A","id_strategy":"CUSTOMIZE_STRING","properties":[],"nullable_keys":[],"enable_label_index":true}' \
"http://127.0.0.1:8080/graphs/hugegraph/schema/vertexlabels"
curl -fsS --compressed -H 'Content-Type: application/json' -X POST \
-d '{"name":"E","source_label":"A","target_label":"A","frequency":"SINGLE","properties":["x"],"nullable_keys":["x"],"enable_label_index":true}' \
"http://127.0.0.1:8080/graphs/hugegraph/schema/edgelabels"
curl -fsS --compressed -H 'Content-Type: application/json' -X POST \
-d '{"name":"idx_e_x_range","base_type":"EDGE_LABEL","base_value":"E","index_type":"RANGE","fields":["x"]}' \
"http://127.0.0.1:8080/graphs/hugegraph/schema/indexlabels"
Bug Type (问题类型)
gremlin (结果不合预期)
Before submit
Environment (环境信息)
hugegraph/hugegraph:latestExpected & Actual behavior (期望与实际表现)
HugeGraph returns a wrong result when multiple
has()predicates.The graph has one edge:
(a:A)-[:E {x: -4}]->(b:A)
Bug-triggering query:
g.E().has('x', -4).has('x', lte(4)).count()
Expected:
[1]
Actual:
[0]
The conjunction is satisfiable because the edge has x = -4, and -4 <= 4.
Vertex/Edge example (问题点 / 边数据举例)
Schema [VertexLabel, EdgeLabel, IndexLabel] (元数据结构)