/** * Graph Module * * Exports all graph database functionality for the Ductape SDK. * Supports Neo4j, Neptune, ArangoDB, and Memgraph. * * @example * ```ts * import { GraphService, GraphType, GraphError } from '@ductape/sdk'; * * const graphService = new GraphService({ * workspace_id: 'your-workspace-id', * public_key: 'your-public-key', * user_id: 'your-user-id', * token: 'your-token', * env_type: 'dev', * }); * * // Register a graph database * await graphService.create({ * name: 'Social Graph', * tag: 'social-graph', * type: GraphType.NEO4J, * envs: [{ slug: 'dev', connection_url: 'bolt://localhost:7687' }], * }); * * // Connect * await graphService.connect({ * env: 'dev', * product: 'my-app', * graph: 'social-graph', * }); * * // Create nodes * const alice = await graphService.createNode({ * labels: ['Person'], * properties: { name: 'Alice' }, * }); * ``` */ export { GraphService } from './graphs.service'; export type { IGraphSchemaSnapshot } from './graphs.service'; export { GraphType, TraversalDirection, NodeIndexType, NodeConstraintType, GraphIsolationLevel, GraphTransactionStatus, GraphErrorType, GraphFeature, GraphSortOrder, } from './types'; export type { IGraphEnvConfig, IGraphConfig, IGraphConnectionConfig, IGraphConnectionOptions, IGraphConnectionResult, IGraphConnectionContext, IGraphServiceConfig, IGraphTestConnectionResult, } from './types'; export type { IGraphFilterOperator, IGraphWhereClause, IRawQueryOptions, IRawQueryResult, ICountNodesOptions, ICountNodesResult, ICountRelationshipsOptions, ICountRelationshipsResult, IGraphStatistics, IFullTextSearchOptions, IFullTextSearchResult, IVectorSearchOptions, IVectorSearchResult, } from './types'; export type { NodeProperties, INode, ICreateNodeOptions, ICreateNodeResult, IFindNodesOptions, IGraphOrderBy, IFindNodesResult, IUpdateNodeOptions, INodePropertyUpdate, IUpdateNodeResult, IDeleteNodeOptions, IDeleteNodeResult, IMergeNodeOptions, IMergeNodeResult, INodeFilter, IAddLabelsOptions, IAddLabelsResult, IRemoveLabelsOptions, IRemoveLabelsResult, ISetLabelsOptions, ISetLabelsResult, } from './types'; export type { RelationshipProperties, IRelationship, ICreateRelationshipOptions, ICreateRelationshipResult, IFindRelationshipsOptions, IFindRelationshipsResult, IUpdateRelationshipOptions, IRelationshipPropertyUpdate, IUpdateRelationshipResult, IDeleteRelationshipOptions, IDeleteRelationshipResult, IMergeRelationshipOptions, IMergeRelationshipResult, IRelationshipFilter, ICreateRelationshipIndexOptions, } from './types'; export type { IPath, ITraverseOptions, ITraverseResult, IShortestPathOptions, IShortestPathResult, IAllPathsOptions, IAllPathsResult, INeighborhoodOptions, INeighborhoodResult, IConnectedComponentsOptions, IConnectedComponent, IConnectedComponentsResult, } from './types'; export type { IGraphTransaction, IGraphTransactionOptions, TransactionCallback, IGraphTransactionResult, } from './types'; export type { ICreateNodeIndexOptions, ICreateNodeConstraintOptions, IGraphIndex, IGraphConstraint, IListIndexesResult, IListConstraintsResult, ICreateIndexResult, ICreateConstraintResult, IDropIndexResult, IDropConstraintResult, GraphPropertyType, IGraphLabelProperty, IGraphLabel, IListLabelsResult, IGraphRelationshipType, IListRelationshipTypesResult, GraphActionParameterType, IGraphActionParameter, IGraphAction, ICreateGraphActionOptions, IUpdateGraphActionOptions, IExecuteGraphActionOptions, IExecuteGraphActionResult, IListGraphActionsResult, } from './types'; export { BaseGraphAdapter, IAdapterConnectionOptions } from './adapters'; export { Neo4jAdapter } from './adapters'; export { NeptuneAdapter } from './adapters'; export { ArangoDBAdapter } from './adapters'; export { MemgraphAdapter } from './adapters'; export { GraphAdapterFactory } from './adapters'; export { GraphTransactionManager } from './transactions'; export { GraphError } from './utils';