@tpluscode/rdfine
Version:
RDF/JS idiomatic, native, effective
14 lines (13 loc) • 773 B
TypeScript
import type { NamedNode } from '@rdfjs/types';
import type { GraphPointer } from 'clownface';
import type { NamespaceBuilder } from '@rdfjs/namespace';
import { RdfineEnvironment } from '../environment.js';
export interface EdgeTraversal {
(subject: GraphPointer, env: RdfineEnvironment): GraphPointer[];
predicate: NamedNode;
crossesGraphBoundaries: boolean;
}
export type PropRef = string | NamedNode;
export type EdgeTraversalFactory = (this: RdfineEnvironment, ns: NamespaceBuilder | undefined) => EdgeTraversal;
export declare function crossBoundaries(prop: PropRef): EdgeTraversalFactory;
export declare function toEdgeTraversals(namespace: NamespaceBuilder | undefined, env: RdfineEnvironment, path: (PropRef | EdgeTraversalFactory)[]): EdgeTraversal[];