import {binding, pointer} from '../SparqlObject/common'
import {ConfigurationAttribute, Type} from '../Core/types'
import SparqlObject from '../SparqlObject/SparqlObject'
import parseTriple from './_parseTriples'
import init from './_init'
export class SparqlAttribute {
    name = '';
    arrayable = false;
    optional = false;
    type = Type.LITTERAL;
    reference = '';
    // path: string[] = [];
    // primary_key: string = '';
    binding: string = '';
    // Deuxième "vague" d'initialisation
    triples: string[] = [];
    // otherPatterns: 
    constructor(sparqlObject: SparqlObject, confAttribute: ConfigurationAttribute = new ConfigurationAttribute()) {
        init.call(this, confAttribute, sparqlObject);
        // this.binding = binding(this.path);
        
    }

    parseTriple = parseTriple;
    
    // get pointer() {
    //     return pointer(this.path);
    // }
}

export default SparqlAttribute