code: function Neo4jKB(options) {
    options = options || {};
    if (!_.has(options, 'NEO4J_AUTH')) {
      throw new Error("You must at least supply a NEO4J_AUTH: '<username>:<password>' JSON argument.")
    };
    this.options = options;
    // setting the exportable functions
    this.query = require('./query')(options)
  
    // the KB builders
    this.literalize = literalize
    this.addNode = addNode
    this.getNode = getNode
    this.addEdge = addEdge
    this.getEdge = getEdge
    this.pull = pull
    this.get = get
    this.push = push
    this.add = add
  
    // KB constraint
    this.cons = cons
  
    // the data parsers
    _.assign(this, parse)
  
    return this
  }
docs: This is the exported wrapper function: init the necessary params, then return the KB methods. The fields are set to neo4j defaults if not supplied.
  @private
  @param  {JSON} options An optional JSON with the fields {NEO4J_AUTH: 'neo4j:neo4j', NEO4J_ADDR: 'localhost:7474'} containing username:password, the host address, and port number for neo4j
  @return {Function}            The KB functions.
   /* istanbul ignore next