@semiont/graph 0.5.2 → 0.5.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,21 @@
1
+ import { GraphDatabase } from './interface';
2
+ import type { GraphServiceConfig } from '@semiont/core';
3
+ export type GraphDatabaseType = 'neptune' | 'neo4j' | 'janusgraph' | 'memory';
4
+ export interface GraphDatabaseConfig {
5
+ type: GraphDatabaseType;
6
+ neptuneEndpoint?: string;
7
+ neptunePort?: number;
8
+ neptuneRegion?: string;
9
+ neo4jUri?: string;
10
+ neo4jUsername?: string;
11
+ neo4jPassword?: string;
12
+ neo4jDatabase?: string;
13
+ janusHost?: string;
14
+ janusPort?: number;
15
+ janusStorageBackend?: 'cassandra' | 'hbase' | 'berkeleydb';
16
+ janusIndexBackend?: 'elasticsearch' | 'solr' | 'lucene';
17
+ }
18
+ export declare function createGraphDatabase(config: GraphDatabaseConfig): GraphDatabase;
19
+ export declare function getGraphDatabase(graphConfig: GraphServiceConfig): Promise<GraphDatabase>;
20
+ export declare function closeGraphDatabase(): Promise<void>;
21
+ //# sourceMappingURL=factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAK5C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAExD,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,OAAO,GAAG,YAAY,GAAG,QAAQ,CAAC;AAE9E,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,iBAAiB,CAAC;IAGxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IAGvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IAGvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mBAAmB,CAAC,EAAE,WAAW,GAAG,OAAO,GAAG,YAAY,CAAC;IAC3D,iBAAiB,CAAC,EAAE,eAAe,GAAG,MAAM,GAAG,QAAQ,CAAC;CACzD;AAKD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,mBAAmB,GAAG,aAAa,CAkC9E;AAgBD,wBAAsB,gBAAgB,CAAC,WAAW,EAAE,kBAAkB,GAAG,OAAO,CAAC,aAAa,CAAC,CAsD9F;AAED,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CAKxD"}
@@ -0,0 +1,72 @@
1
+ import { GraphDatabase } from '../interface';
2
+ import type { Logger } from '@semiont/core';
3
+ import type { AnnotationCategory, GraphConnection, GraphPath, EntityTypeStats, ResourceFilter, UpdateResourceInput, CreateAnnotationInternal, ResourceId, AnnotationId } from '@semiont/core';
4
+ import type { ResourceDescriptor } from '@semiont/core';
5
+ import type { Annotation } from '@semiont/core';
6
+ export declare class JanusGraphDatabase implements GraphDatabase {
7
+ private graphConfig;
8
+ private connected;
9
+ private connection;
10
+ private g;
11
+ private logger?;
12
+ private entityTypesCollection;
13
+ constructor(graphConfig: {
14
+ host?: string;
15
+ port?: number;
16
+ storageBackend?: 'cassandra' | 'hbase' | 'berkeleydb';
17
+ indexBackend?: 'elasticsearch' | 'solr' | 'lucene';
18
+ logger?: Logger;
19
+ });
20
+ connect(): Promise<void>;
21
+ disconnect(): Promise<void>;
22
+ isConnected(): boolean;
23
+ private initializeSchema;
24
+ private vertexToResource;
25
+ private getPropertyValue;
26
+ private fetchAnnotationsWithEntityTypes;
27
+ private vertexToAnnotation;
28
+ createResource(resource: ResourceDescriptor): Promise<ResourceDescriptor>;
29
+ getResource(id: ResourceId): Promise<ResourceDescriptor | null>;
30
+ updateResource(id: ResourceId, input: UpdateResourceInput): Promise<ResourceDescriptor>;
31
+ deleteResource(id: ResourceId): Promise<void>;
32
+ listResources(filter: ResourceFilter): Promise<{
33
+ resources: ResourceDescriptor[];
34
+ total: number;
35
+ }>;
36
+ searchResources(query: string, limit?: number): Promise<ResourceDescriptor[]>;
37
+ createAnnotation(input: CreateAnnotationInternal): Promise<Annotation>;
38
+ getAnnotation(id: AnnotationId): Promise<Annotation | null>;
39
+ updateAnnotation(id: AnnotationId, updates: Partial<Annotation>): Promise<Annotation>;
40
+ deleteAnnotation(id: AnnotationId): Promise<void>;
41
+ listAnnotations(filter: {
42
+ resourceId?: ResourceId;
43
+ type?: AnnotationCategory;
44
+ }): Promise<{
45
+ annotations: Annotation[];
46
+ total: number;
47
+ }>;
48
+ getHighlights(resourceId: ResourceId): Promise<Annotation[]>;
49
+ resolveReference(annotationId: AnnotationId, source: ResourceId): Promise<Annotation>;
50
+ getReferences(resourceId: ResourceId): Promise<Annotation[]>;
51
+ getEntityReferences(resourceId: ResourceId, entityTypes?: string[]): Promise<Annotation[]>;
52
+ getResourceAnnotations(resourceId: ResourceId): Promise<Annotation[]>;
53
+ getResourceReferencedBy(resourceId: ResourceId, _motivation?: string): Promise<Annotation[]>;
54
+ getResourceConnections(resourceId: ResourceId): Promise<GraphConnection[]>;
55
+ findPath(_fromResourceId: string, _toResourceId: string, _maxDepth?: number): Promise<GraphPath[]>;
56
+ getEntityTypeStats(): Promise<EntityTypeStats[]>;
57
+ getStats(): Promise<any>;
58
+ batchCreateResources(resources: ResourceDescriptor[]): Promise<ResourceDescriptor[]>;
59
+ createAnnotations(inputs: CreateAnnotationInternal[]): Promise<Annotation[]>;
60
+ resolveReferences(inputs: Array<{
61
+ annotationId: AnnotationId;
62
+ source: ResourceId;
63
+ }>): Promise<Annotation[]>;
64
+ detectAnnotations(_resourceId: ResourceId): Promise<Annotation[]>;
65
+ getEntityTypes(): Promise<string[]>;
66
+ addEntityType(tag: string): Promise<void>;
67
+ addEntityTypes(tags: string[]): Promise<void>;
68
+ private initializeTagCollections;
69
+ generateId(): string;
70
+ clearDatabase(): Promise<void>;
71
+ }
72
+ //# sourceMappingURL=janusgraph.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"janusgraph.d.ts","sourceRoot":"","sources":["../../src/implementations/janusgraph.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,70 @@
1
+ import { GraphDatabase } from '../interface';
2
+ import type { Logger } from '@semiont/core';
3
+ import type { AnnotationCategory, GraphConnection, GraphPath, EntityTypeStats, ResourceFilter, UpdateResourceInput, CreateAnnotationInternal, ResourceId, AnnotationId } from '@semiont/core';
4
+ import type { ResourceDescriptor } from '@semiont/core';
5
+ import type { Annotation } from '@semiont/core';
6
+ export declare class MemoryGraphDatabase implements GraphDatabase {
7
+ private connected;
8
+ private logger?;
9
+ private resources;
10
+ private annotations;
11
+ constructor(config?: {
12
+ logger?: Logger;
13
+ });
14
+ connect(): Promise<void>;
15
+ disconnect(): Promise<void>;
16
+ isConnected(): boolean;
17
+ createResource(resource: ResourceDescriptor): Promise<ResourceDescriptor>;
18
+ getResource(id: ResourceId): Promise<ResourceDescriptor | null>;
19
+ updateResource(id: ResourceId, input: UpdateResourceInput): Promise<ResourceDescriptor>;
20
+ deleteResource(id: ResourceId): Promise<void>;
21
+ listResources(filter: ResourceFilter): Promise<{
22
+ resources: ResourceDescriptor[];
23
+ total: number;
24
+ }>;
25
+ searchResources(query: string, limit?: number): Promise<ResourceDescriptor[]>;
26
+ createAnnotation(input: CreateAnnotationInternal): Promise<Annotation>;
27
+ getAnnotation(id: AnnotationId): Promise<Annotation | null>;
28
+ updateAnnotation(id: AnnotationId, updates: Partial<Annotation>): Promise<Annotation>;
29
+ deleteAnnotation(id: AnnotationId): Promise<void>;
30
+ listAnnotations(filter: {
31
+ resourceId?: ResourceId;
32
+ type?: AnnotationCategory;
33
+ }): Promise<{
34
+ annotations: Annotation[];
35
+ total: number;
36
+ }>;
37
+ getHighlights(resourceId: ResourceId): Promise<Annotation[]>;
38
+ resolveReference(annotationId: AnnotationId, source: ResourceId): Promise<Annotation>;
39
+ getReferences(resourceId: ResourceId): Promise<Annotation[]>;
40
+ getEntityReferences(resourceId: ResourceId, entityTypes?: string[]): Promise<Annotation[]>;
41
+ getResourceAnnotations(resourceId: ResourceId): Promise<Annotation[]>;
42
+ getResourceReferencedBy(resourceId: ResourceId, _motivation?: string): Promise<Annotation[]>;
43
+ getResourceConnections(resourceId: ResourceId): Promise<GraphConnection[]>;
44
+ findPath(fromResourceId: string, toResourceId: string, maxDepth?: number): Promise<GraphPath[]>;
45
+ getEntityTypeStats(): Promise<EntityTypeStats[]>;
46
+ getStats(): Promise<{
47
+ resourceCount: number;
48
+ annotationCount: number;
49
+ highlightCount: number;
50
+ referenceCount: number;
51
+ entityReferenceCount: number;
52
+ entityTypes: Record<string, number>;
53
+ contentTypes: Record<string, number>;
54
+ }>;
55
+ batchCreateResources(resources: ResourceDescriptor[]): Promise<ResourceDescriptor[]>;
56
+ createAnnotations(inputs: CreateAnnotationInternal[]): Promise<Annotation[]>;
57
+ resolveReferences(inputs: {
58
+ annotationId: AnnotationId;
59
+ source: ResourceId;
60
+ }[]): Promise<Annotation[]>;
61
+ detectAnnotations(_resourceId: ResourceId): Promise<Annotation[]>;
62
+ private entityTypesCollection;
63
+ getEntityTypes(): Promise<string[]>;
64
+ addEntityType(tag: string): Promise<void>;
65
+ addEntityTypes(tags: string[]): Promise<void>;
66
+ private initializeTagCollections;
67
+ generateId(): string;
68
+ clearDatabase(): Promise<void>;
69
+ }
70
+ //# sourceMappingURL=memorygraph.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memorygraph.d.ts","sourceRoot":"","sources":["../../src/implementations/memorygraph.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,80 @@
1
+ import { GraphDatabase } from '../interface';
2
+ import type { Logger } from '@semiont/core';
3
+ import type { AnnotationCategory, GraphConnection, GraphPath, EntityTypeStats, ResourceFilter, UpdateResourceInput, CreateAnnotationInternal, ResourceId, AnnotationId } from '@semiont/core';
4
+ import type { ResourceDescriptor } from '@semiont/core';
5
+ import type { Annotation } from '@semiont/core';
6
+ export declare class Neo4jGraphDatabase implements GraphDatabase {
7
+ private driver;
8
+ private neo4j;
9
+ private connected;
10
+ private logger?;
11
+ private config;
12
+ private entityTypesCollection;
13
+ constructor(config?: {
14
+ uri?: string;
15
+ username?: string;
16
+ password?: string;
17
+ database?: string;
18
+ logger?: Logger;
19
+ });
20
+ connect(): Promise<void>;
21
+ disconnect(): Promise<void>;
22
+ isConnected(): boolean;
23
+ private getSession;
24
+ private ensureSchemaExists;
25
+ createResource(resource: ResourceDescriptor): Promise<ResourceDescriptor>;
26
+ getResource(id: ResourceId): Promise<ResourceDescriptor | null>;
27
+ updateResource(id: ResourceId, input: UpdateResourceInput): Promise<ResourceDescriptor>;
28
+ deleteResource(id: ResourceId): Promise<void>;
29
+ listResources(filter: ResourceFilter): Promise<{
30
+ resources: ResourceDescriptor[];
31
+ total: number;
32
+ }>;
33
+ searchResources(query: string, limit?: number): Promise<ResourceDescriptor[]>;
34
+ createAnnotation(input: CreateAnnotationInternal): Promise<Annotation>;
35
+ getAnnotation(id: AnnotationId): Promise<Annotation | null>;
36
+ updateAnnotation(id: AnnotationId, updates: Partial<Annotation>): Promise<Annotation>;
37
+ deleteAnnotation(id: AnnotationId): Promise<void>;
38
+ listAnnotations(filter: {
39
+ resourceId?: ResourceId;
40
+ type?: AnnotationCategory;
41
+ }): Promise<{
42
+ annotations: Annotation[];
43
+ total: number;
44
+ }>;
45
+ getHighlights(resourceId: ResourceId): Promise<Annotation[]>;
46
+ resolveReference(annotationId: AnnotationId, source: ResourceId): Promise<Annotation>;
47
+ getReferences(resourceId: ResourceId): Promise<Annotation[]>;
48
+ getEntityReferences(resourceId: ResourceId, entityTypes?: string[]): Promise<Annotation[]>;
49
+ getResourceAnnotations(resourceId: ResourceId): Promise<Annotation[]>;
50
+ getResourceReferencedBy(resourceId: ResourceId, motivation?: string): Promise<Annotation[]>;
51
+ getResourceConnections(resourceId: ResourceId): Promise<GraphConnection[]>;
52
+ findPath(fromResourceId: string, toResourceId: string, maxDepth?: number): Promise<GraphPath[]>;
53
+ getEntityTypeStats(): Promise<EntityTypeStats[]>;
54
+ getStats(): Promise<{
55
+ resourceCount: number;
56
+ annotationCount: number;
57
+ highlightCount: number;
58
+ referenceCount: number;
59
+ entityReferenceCount: number;
60
+ entityTypes: Record<string, number>;
61
+ contentTypes: Record<string, number>;
62
+ }>;
63
+ batchCreateResources(resources: ResourceDescriptor[]): Promise<ResourceDescriptor[]>;
64
+ createAnnotations(inputs: CreateAnnotationInternal[]): Promise<Annotation[]>;
65
+ resolveReferences(inputs: {
66
+ annotationId: AnnotationId;
67
+ source: ResourceId;
68
+ }[]): Promise<Annotation[]>;
69
+ detectAnnotations(_resourceId: ResourceId): Promise<Annotation[]>;
70
+ getEntityTypes(): Promise<string[]>;
71
+ addEntityType(tag: string): Promise<void>;
72
+ addEntityTypes(tags: string[]): Promise<void>;
73
+ private initializeTagCollections;
74
+ private persistTagCollection;
75
+ generateId(): string;
76
+ clearDatabase(): Promise<void>;
77
+ private parseResourceNode;
78
+ private parseAnnotationNode;
79
+ }
80
+ //# sourceMappingURL=neo4j.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"neo4j.d.ts","sourceRoot":"","sources":["../../src/implementations/neo4j.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,78 @@
1
+ import { GraphDatabase } from '../interface';
2
+ import type { Logger } from '@semiont/core';
3
+ import type { AnnotationCategory, GraphConnection, GraphPath, EntityTypeStats, ResourceFilter, UpdateResourceInput, CreateAnnotationInternal, ResourceId, AnnotationId } from '@semiont/core';
4
+ import type { ResourceDescriptor } from '@semiont/core';
5
+ import type { Annotation } from '@semiont/core';
6
+ export declare class NeptuneGraphDatabase implements GraphDatabase {
7
+ private connected;
8
+ private neptuneEndpoint?;
9
+ private neptunePort;
10
+ private region?;
11
+ private logger?;
12
+ private g;
13
+ private connection;
14
+ private fetchAnnotationsWithEntityTypes;
15
+ constructor(config?: {
16
+ endpoint?: string;
17
+ port?: number;
18
+ region?: string;
19
+ logger?: Logger;
20
+ });
21
+ private discoverNeptuneEndpoint;
22
+ connect(): Promise<void>;
23
+ disconnect(): Promise<void>;
24
+ isConnected(): boolean;
25
+ createResource(resource: ResourceDescriptor): Promise<ResourceDescriptor>;
26
+ getResource(id: ResourceId): Promise<ResourceDescriptor | null>;
27
+ updateResource(id: ResourceId, input: UpdateResourceInput): Promise<ResourceDescriptor>;
28
+ deleteResource(id: ResourceId): Promise<void>;
29
+ listResources(filter: ResourceFilter): Promise<{
30
+ resources: ResourceDescriptor[];
31
+ total: number;
32
+ }>;
33
+ searchResources(query: string, limit?: number): Promise<ResourceDescriptor[]>;
34
+ createAnnotation(input: CreateAnnotationInternal): Promise<Annotation>;
35
+ getAnnotation(id: AnnotationId): Promise<Annotation | null>;
36
+ updateAnnotation(id: AnnotationId, updates: Partial<Annotation>): Promise<Annotation>;
37
+ deleteAnnotation(id: AnnotationId): Promise<void>;
38
+ listAnnotations(filter: {
39
+ resourceId?: ResourceId;
40
+ type?: AnnotationCategory;
41
+ }): Promise<{
42
+ annotations: Annotation[];
43
+ total: number;
44
+ }>;
45
+ getHighlights(resourceId: ResourceId): Promise<Annotation[]>;
46
+ resolveReference(annotationId: AnnotationId, source: ResourceId): Promise<Annotation>;
47
+ getReferences(resourceId: ResourceId): Promise<Annotation[]>;
48
+ getEntityReferences(resourceId: ResourceId, entityTypes?: string[]): Promise<Annotation[]>;
49
+ getResourceAnnotations(resourceId: ResourceId): Promise<Annotation[]>;
50
+ getResourceReferencedBy(resourceId: ResourceId, _motivation?: string): Promise<Annotation[]>;
51
+ getResourceConnections(resourceId: ResourceId): Promise<GraphConnection[]>;
52
+ findPath(fromResourceId: string, toResourceId: string, maxDepth?: number): Promise<GraphPath[]>;
53
+ getEntityTypeStats(): Promise<EntityTypeStats[]>;
54
+ getStats(): Promise<{
55
+ resourceCount: number;
56
+ annotationCount: number;
57
+ highlightCount: number;
58
+ referenceCount: number;
59
+ entityReferenceCount: number;
60
+ entityTypes: Record<string, number>;
61
+ contentTypes: Record<string, number>;
62
+ }>;
63
+ batchCreateResources(resources: ResourceDescriptor[]): Promise<ResourceDescriptor[]>;
64
+ createAnnotations(inputs: CreateAnnotationInternal[]): Promise<Annotation[]>;
65
+ resolveReferences(inputs: {
66
+ annotationId: AnnotationId;
67
+ source: ResourceId;
68
+ }[]): Promise<Annotation[]>;
69
+ detectAnnotations(_resourceId: ResourceId): Promise<Annotation[]>;
70
+ private entityTypesCollection;
71
+ getEntityTypes(): Promise<string[]>;
72
+ addEntityType(tag: string): Promise<void>;
73
+ addEntityTypes(tags: string[]): Promise<void>;
74
+ private initializeTagCollections;
75
+ generateId(): string;
76
+ clearDatabase(): Promise<void>;
77
+ }
78
+ //# sourceMappingURL=neptune.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"neptune.d.ts","sourceRoot":"","sources":["../../src/implementations/neptune.ts"],"names":[],"mappings":"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"}