sparnatural
Version:
Visual client-side SPARQL query builder and knowledge graph exploration tool
64 lines (63 loc) • 4.11 kB
TypeScript
import { Term } from "@rdfjs/types/data-model";
import { ListDataProviderIfc, RdfTermDatasourceItem, AutocompleteDataProviderIfc, TreeDataProviderIfc, RdfTermTreeDatasourceItem, ValuesListDataProviderIfc } from "./DataProviders";
import { AutocompleteSparqlQueryBuilderIfc, ListSparqlQueryBuilderIfc, TreeSparqlQueryBuilderIfc, ValuesListSparqlQueryBuilderIfc } from "./SparqlBuilders";
import { SparqlHandlerIfc } from "rdf-shacl-commons";
export declare abstract class BaseSparqlListDataProvider {
sparqlHandler: SparqlHandlerIfc;
lang: string;
defaultLang: string;
typePredicate: string;
constructor(sparqlHandler: SparqlHandlerIfc);
init(lang: string, defaultLang: string, typePredicate: string): void;
doExecuteWithCallback(sparqlQuery: string, callback: (items: RdfTermDatasourceItem[]) => void, errorCallback?: (payload: any) => void): void;
getRdfTermColumn(aBindingSet: any): string | undefined;
}
/**
* Implementation of ListDataProviderIfc that executes a SPARQL query against an endpoint,
* and read the 'uri' and 'label' columns.
*/
export declare class SparqlListDataProvider extends BaseSparqlListDataProvider implements ListDataProviderIfc {
queryBuilder: ListSparqlQueryBuilderIfc;
constructor(sparqlHandler: SparqlHandlerIfc, queryBuilder: ListSparqlQueryBuilderIfc);
getListContent(domainType: string, predicate: string, rangeType: string, callback: (items: RdfTermDatasourceItem[]) => void, errorCallback?: (payload: any) => void): void;
}
export declare class SparqlValuesListDataProvider extends BaseSparqlListDataProvider implements ValuesListDataProviderIfc {
queryBuilder: ValuesListSparqlQueryBuilderIfc;
constructor(sparqlHandler: SparqlHandlerIfc, queryBuilder: ValuesListSparqlQueryBuilderIfc);
getListContent(values: Term[], callback: (items: RdfTermDatasourceItem[]) => void, errorCallback?: (payload: any) => void): void;
}
/**
* Implementation of AutocompleteDataProviderIfc that executes a SPARQL query against an endpoint,
* and read the 'uri' and 'label' columns.
*/
export declare class SparqlAutocompleDataProvider implements AutocompleteDataProviderIfc {
lang: string;
defaultLang: string;
typePredicate: string;
queryBuilder: AutocompleteSparqlQueryBuilderIfc;
sparqlHandler: SparqlHandlerIfc;
constructor(sparqlHandler: SparqlHandlerIfc, queryBuilder: AutocompleteSparqlQueryBuilderIfc);
init(lang: string, defaultLang: string, typePredicate: string): void;
getAutocompleteSuggestions(domain: string, predicate: string, range: string, key: string, callback: (items: RdfTermDatasourceItem[]) => void, errorCallback?: (payload: any) => void): void;
getRdfTermColumn(aBindingSet: any): string | undefined;
static isValidUrl(s: string, protocols: string[]): boolean;
}
export declare class SparqlTreeDataProvider implements TreeDataProviderIfc {
#private;
lang: string;
defaultLang: string;
typePredicate: string;
queryBuilder: TreeSparqlQueryBuilderIfc;
sparqlHandler: SparqlHandlerIfc;
constructor(sparqlHandler: SparqlHandlerIfc, queryBuilder: TreeSparqlQueryBuilderIfc);
init(lang: string, defaultLang: string, typePredicate: string): void;
getRoots(domainType: string, predicate: string, rangeType: string, callback: (items: RdfTermTreeDatasourceItem[]) => void, errorCallback?: (payload: any) => void): void;
getChildren(node: string, domainType: string, predicate: string, rangeType: string, callback: (items: RdfTermTreeDatasourceItem[]) => void, errorCallback?: (payload: any) => void): void;
}
/**
* @param items Merges the datasource items based on their equality, in the case that multiple groups
* (= multiple datasets) return the same RDF term (= the same URI or literal value). In that case a single result is kept,
* with a group that is the concatenation of the groups of the merged items.
* @returns a new list of datasource items in which the items have been merge based on their rdfTerm equality.
*/
export declare function mergeDatasourceResults(items: RdfTermDatasourceItem[]): RdfTermDatasourceItem[];