import {ConfigurationElementI, Type} from '../Core/types'
import SparqlAttribute from '../SparqlAttribute/SparqlAttribute'
import initialisation from './_initialisation'
import jsonBindings from './_bindings'
import dictionify from './_dictionify'
import sparqljs from 'sparqljs'
// import buildInsert from './_insert'

export class SparqlObject {
    reference: string = '';
    coreDefinition = '';
    parsedDefinition: sparqljs.Pattern[] = []; 
    primaryKey = '';
    prefixes: { [key: string]: string } = {};
    attributes: SparqlAttribute[] = [];
    jsonBindings = jsonBindings;
    // buildInsert = buildInsert;
    dictionify = dictionify


    constructor(configuration?: ConfigurationElementI) {
        if (configuration) {
            initialisation.call(this, configuration);
        }
    }

    
}

export default SparqlObject;