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.