JanusGraph / JanusGraph/janusgraph

Bug caused by the without operator

Open
#4,218 1 comment 0 reactions 0 assignees View on GitHub
kind/bug/possible
Dominant language
Java
Stars
5.8k
Forks
1.2k
Avg merge
13h 53m
Merged PRs (30d)
6

Description

- Version: 1.0.0
- Storage Backend: inmemory
- Mixed Index Backend: elasticresearch-8.6.0
- API/Driver: Gremlin-python 3.2.6
- Steps to Reproduce:
![8](https://github.com/JanusGraph/janusgraph/assets/49486148/d53865e6-3fdc-4fa1-8eb4-78449c56e07a)

As shown in this picture, query 1 returns the number of edges that have the "p2" property and the "p2" property value does not contain 'GhR'. It can be seen that Janusgraph and tinkergraph return different values. Query 2 returns the number of edges that have the "p2" property, and it is observed that the results of the two graph database engines are consistent. Therefore, we believe that there is an issue with the use of the without operator. Subsequently, we use query 3 to return the property key-value pairs of edges that have the "p2" attribute, and the "p2" property value does not contain 'GhR'. We found that Janusgraph only returns edges with "p2" attribute value as True. It can be inferred that Janusgraph has a bug when using the without operator to handle property values of different types.

Contributor guide

Open the contributing guide

Research direction

Start by reproducing queries 1, 2, and 3 with the in-memory storage backend, Elasticsearch mixed index, and Gremlin-Python 3.2.6, comparing JanusGraph with TinkerGraph. Trace how the without operator evaluates edge properties with different value types. Done means the filtered results and property values agree with the expected behavior across both graph engines.

Written by the indexing model from the issue text.

Assessment

Tech stack
elasticsearch, python
Domain
backend, databases
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.