export type RdfNode = RdfIri | RdfLiteral | RdfBlank ; export interface RdfIri { type : 'uri' ; value : string ; } export interface RdfBlank { type : 'bnode' ; value : string ; } export interface RdfLiteral { type : 'literal' ; value : string ; datatype ? : string ; 'xml:lang' : string ; } export interface Triple { subject : RdfNode ; predicate : RdfNode ; object : RdfNode ; } export function isRdfBlank ( e ) { return e && e . type === 'bnode' ; } export function isRdfIri ( e ) { return e && e . type === 'uri' ; } export function isRdfLiteral ( e ) { return e && e . type === 'literal' ; } export interface BlankBinding extends ElementBinding { blankType : { value : 'listHead' | 'blankNode' ; } ; blankTrgProp : RdfNode ; blankTrg : RdfNode ; blankSrc ? : RdfNode ; blankSrcProp ? : RdfNode ; newInst ? : RdfIri | RdfBlank ; } export function isBlankBinding ( binding ) { const blank = binding as BlankBinding ; return blank . blankTrgProp !== undefined || blank . blankTrg !== undefined || blank . blankSrcProp !== undefined || blank . blankSrc !== undefined ; } export interface ElementBinding { inst : RdfIri | RdfBlank ; class ? : RdfIri ; label ? : RdfLiteral ; propType ? : RdfIri ; propValue ? : RdfIri | RdfLiteral ; } export interface ClassBinding { class : RdfIri ; instcount ? : RdfLiteral ; label ? : RdfLiteral ; parent ? : RdfIri ; } export interface PropertyBinding { property : RdfIri ; label ? : RdfLiteral ; } export interface LinkBinding { source : RdfIri | RdfBlank ; type : RdfIri ; target : RdfIri | RdfBlank ; propType ? : RdfIri ; propValue ? : RdfLiteral ; } export interface LinkCountBinding { link : RdfIri | RdfBlank ; inCount : RdfLiteral ; outCount : RdfLiteral ; } export interface LinkTypeBinding { link : RdfIri ; label ? : RdfLiteral ; instcount ? : RdfLiteral ; } export interface ElementImageBinding { inst : RdfIri ; linkType : RdfIri ; image : RdfIri ; } export interface ElementTypeBinding { inst : RdfIri ; class : RdfIri ; } export interface FilterBinding { classAll ? : RdfIri ; link ? : RdfIri ; direction ? : RdfLiteral ; } export interface SparqlResponse < Binding > { head : { vars : string [ ] ; } ; results : { bindings : Binding [ ] ; } ; }