...
- a generic interface to interact with the schema and edge information, so it can be accessed via end users and microservices
- ability to be configured with any schema given in the set formats (JSON for edge rules, OXM for schema)
- ability to easily communicate to an end user a node’s attributes and edge rules when provided with a node as input
- ability to define the depth (number of traversal hops) and relationship type (ie. child, parent, cousins) when interacting with a singular node. When the depth is provided the solution must communicate the corresponding node’s information (node attribute information, edge information). The relationship type input should act as a filter only retrieving nodes that match the relationship type of the node input.
- ability to filter nodes on metaproperties should be provided (example of metaproperties: required, unique, indexed)
- ability to retrieve a description for each node & attribute to enable ease of user understanding
- ability to retrieve information about a property, when given a property of a node type as input
- ability to retrieve information about a metaproperty, when given a meta property of a node's property as input
- ability to retrieve metadata information, when given a metadata field of a node as input (ie DESCRIPTION, DEPENDENT_ON, CONTAINER, NAMESPACE, etc)
- ability to retrieve traversal paths
- return all traversal paths when provided a start and end node
- indicate the shortest path available
- indicate the relative lengths of the other paths
- displayed on a UI sorted by shortest to longest path
- should also provide the ability to optionally provide multiple passthrough nodes, defining the intermediate nodes needing to be visited during the traversal.
- ability to provide information via a GUI
- interaction with nodes (one at a time and multiple) to view their node attributes, edge attributes, and other relative information
- example
- example
- ability to retrieve nodes/edges and display the information based on the various filters aforementioned (depth, relationship type, metproperties, etc)[See example above]
- traversal paths are able to be queried
- example
- example
- interaction with nodes (one at a time and multiple) to view their node attributes, edge attributes, and other relative information
- ability to interact with an end user using a natural language processor
- responds to questions about the schema and edge rules in a conversational format
- extent of the available conversations should cover the features available on the ui
- example
- example
...