guac
guac copied to clipboard
Adding more specific labels to the graph?
It is useful in certain cases to add labels to nodes and edges within the graph.. For example, Container nodes, Source nodes, etc..
For example, using heuristics as the "CONTAINER" tag, or "git+" convention, we can add labels to the nodes which can help with queries as well...
e.g. matching against a (n:Container) instead of (n:Package) where "CONTAINER" in n.tags
or (n:Source) instead of (n:Artifact) where n.name starts with "git+"
However, this can be done either on heuristic or actually using metadata. Making these first-class labels means that we need to provide some guarantees on them. For example, ensuring that all containers have the label, for "evidence queries" this is not so much an issue, but for "informational queries" this can result in missing results if labeling is not done right.
The question would be if we should support more specific labels, the guarantees the labels should provide/how they should be used, and how it would be implemented.
In the meantime, it is convenient for users to label the nodes by themselves assuming a locked dataset.
match (n:Package) where "CONTAINER" in n.tags set n:Container return n;
@nadgowdas fyi
Closing as not relevant in new graphQL re-architecture.