Graph Loader

The GraphLoader interface in our library provides a high-level abstraction for querying and loading data from a graph data structure.

Overview

GraphLoader allows for complex queries on graphs, offering precise definitions of Nodes, Edges, and their Attributes. Additionally, it provides mechanisms to specify Subgraphs and supports traversal of graph elements.

Methods

  • find: This method lets you specify a query to find a particular node in the graph, along with a subgraph related to it. You can also specify the types of returns you are interested in.

  • get: This method lets you fetch a particular node or edge based on a unique identifier. Like find, it also allows the definition of a subgraph and specification of return types.

  • findAsTraversable: Similar to find, this method returns a list of elements that can be traversed in the graph.

  • getAsTraversable: Similar to get, this method fetches a particular traversable element of the graph based on its unique identifier.

Description Interfaces

The library uses various interfaces for graph descriptions, which allow complex and detailed specifications of graph components, including nodes, edges, attributes, and entire subgraphs. These interfaces, such as NodeDescriptionParameters, EdgeDescriptionParameters, GraphElementTypeDescription, etc., offer users the flexibility and precision needed to define and manipulate graph elements.

Attributes

The library supports rich attribute descriptions, allowing nodes or edges to have associated properties. Attributes can be simple types like strings or dates, or complex types like sets or lists. Our attribute interfaces, such as Base64BinaryAttributeValueDescription, DateAttributeValueDescription, StringAttributeValueDescription, etc., provide the functionality to define and query these attributes.

Traversal

GraphLoader includes interfaces such as IngoingEdgeDescription and OutgoingEdgeDescription, which help specify directions for Graph Traversal. Traversal could involve visiting each node in a certain order, often visiting each node once.

Identity

Nodes or edges in a graph can be uniquely identifiable. The UuidIdentityDescription and similar classes represent unique identities for these graph elements.

Overall, the GraphLoader interface provides a rich and flexible way to work with graph data, supporting complex queries, detailed descriptions, and multiple types of attributes.

For more detailed explanations and examples, please refer to the dedicated pages for each concept.