/** * Amazon Neptune Graph Database Adapter * * Implements the BaseGraphAdapter for Amazon Neptune using Gremlin. * Neptune is a fully managed graph database service that supports * both property graph (Gremlin) and RDF (SPARQL) query languages. * * Key features: * - Apache TinkerPop Gremlin support * - WebSocket connection support * - IAM authentication support * - High availability and replication */ import { BaseGraphAdapter, IAdapterConnectionOptions } from './base.adapter'; import { GraphType, GraphFeature } from '../types/enums'; import { IGraphConnectionResult, IGraphTestConnectionResult } from '../types/connection.interface'; import { ICreateNodeOptions, ICreateNodeResult, IFindNodesOptions, IFindNodesResult, IUpdateNodeOptions, IUpdateNodeResult, IDeleteNodeOptions, IDeleteNodeResult, IMergeNodeOptions, IMergeNodeResult, INode, IAddLabelsOptions, IAddLabelsResult, IRemoveLabelsOptions, IRemoveLabelsResult, ISetLabelsOptions, ISetLabelsResult } from '../types/node.interface'; import { ICreateRelationshipOptions, ICreateRelationshipResult, IFindRelationshipsOptions, IFindRelationshipsResult, IUpdateRelationshipOptions, IUpdateRelationshipResult, IDeleteRelationshipOptions, IDeleteRelationshipResult, IMergeRelationshipOptions, IMergeRelationshipResult, IRelationship, ICreateRelationshipIndexOptions } from '../types/relationship.interface'; import { ITraverseOptions, ITraverseResult, IShortestPathOptions, IShortestPathResult, IAllPathsOptions, IAllPathsResult, INeighborhoodOptions, INeighborhoodResult, IConnectedComponentsOptions, IConnectedComponentsResult } from '../types/traversal.interface'; import { IGraphTransaction, IGraphTransactionOptions } from '../types/transaction.interface'; import { IRawQueryOptions, IRawQueryResult, ICountNodesResult, ICountRelationshipsResult, IGraphStatistics, IFullTextSearchOptions, IFullTextSearchResult, IVectorSearchOptions, IVectorSearchResult, IGraphWhereClause } from '../types/query.interface'; import { ICreateNodeIndexOptions, ICreateNodeConstraintOptions, IListIndexesResult, IListConstraintsResult, ICreateIndexResult, ICreateConstraintResult, IDropIndexResult, IDropConstraintResult, IListLabelsResult, IListRelationshipTypesResult } from '../types/schema.interface'; /** * Neptune adapter using Gremlin * Uses the gremlin package for TinkerPop connectivity */ export declare class NeptuneAdapter extends BaseGraphAdapter { protected graphType: GraphType; protected readonly supportedFeatures: Set; protected connection: any; protected g: any; protected gremlin: any; connect(options: IAdapterConnectionOptions): Promise; testConnection(options: IAdapterConnectionOptions): Promise; disconnect(): Promise; private ensureTraversal; createNode(options: ICreateNodeOptions, _transaction?: IGraphTransaction): Promise>; findNodes(options: IFindNodesOptions, _transaction?: IGraphTransaction): Promise>; findNodeById(id: string | number, _transaction?: IGraphTransaction): Promise | null>; updateNode(options: IUpdateNodeOptions, _transaction?: IGraphTransaction): Promise>; deleteNode(options: IDeleteNodeOptions, _transaction?: IGraphTransaction): Promise; mergeNode(options: IMergeNodeOptions, _transaction?: IGraphTransaction): Promise>; addLabels(options: IAddLabelsOptions, _transaction?: IGraphTransaction): Promise>; removeLabels(options: IRemoveLabelsOptions, _transaction?: IGraphTransaction): Promise>; setLabels(options: ISetLabelsOptions, _transaction?: IGraphTransaction): Promise>; createRelationship(options: ICreateRelationshipOptions, _transaction?: IGraphTransaction): Promise>; findRelationships(options: IFindRelationshipsOptions, _transaction?: IGraphTransaction): Promise>; findRelationshipById(id: string | number, _transaction?: IGraphTransaction): Promise | null>; updateRelationship(options: IUpdateRelationshipOptions, _transaction?: IGraphTransaction): Promise>; deleteRelationship(options: IDeleteRelationshipOptions, _transaction?: IGraphTransaction): Promise; mergeRelationship(options: IMergeRelationshipOptions, _transaction?: IGraphTransaction): Promise>; traverse(options: ITraverseOptions, _transaction?: IGraphTransaction): Promise>; shortestPath(options: IShortestPathOptions, _transaction?: IGraphTransaction): Promise>; allPaths(options: IAllPathsOptions, _transaction?: IGraphTransaction): Promise>; getNeighborhood(options: INeighborhoodOptions, _transaction?: IGraphTransaction): Promise>; findConnectedComponents(options: IConnectedComponentsOptions, _transaction?: IGraphTransaction): Promise>; countNodes(labels?: string[], where?: IGraphWhereClause, _transaction?: IGraphTransaction): Promise; countRelationships(types?: string[], where?: IGraphWhereClause, _transaction?: IGraphTransaction): Promise; getStatistics(_transaction?: IGraphTransaction): Promise; fullTextSearch(options: IFullTextSearchOptions, _transaction?: IGraphTransaction): Promise>; vectorSearch(_options: IVectorSearchOptions, _transaction?: IGraphTransaction): Promise>; query(options: IRawQueryOptions, _transaction?: IGraphTransaction): Promise>; createNodeIndex(options: ICreateNodeIndexOptions): Promise; createNodeConstraint(_options: ICreateNodeConstraintOptions): Promise; createRelationshipIndex(options: ICreateRelationshipIndexOptions): Promise; listIndexes(): Promise; listConstraints(): Promise; dropIndex(_name: string): Promise; dropConstraint(_name: string): Promise; listLabels(): Promise; listRelationshipTypes(): Promise; beginTransaction(_options?: IGraphTransactionOptions): Promise; commitTransaction(_transaction: IGraphTransaction): Promise; rollbackTransaction(_transaction: IGraphTransaction): Promise; protected buildWhereClause(where: IGraphWhereClause): any; private applyWhereConditions; parseError(error: unknown): Error; private mapGremlinVertex; private mapGremlinVertexFromValueMap; private mapGremlinEdge; private mapGremlinEdgeFromProject; }