private void initiate(){
		System.out.println("Initializig SIB");
		OntModel model = ModelFactory.createOntologyModel();
		InputStream in = this.getClass().getResourceAsStream(this.ontologyFile);
		if (in == null) {
			throw new IllegalArgumentException(
				"File: " + this.ontologyFile + " not found"
			);
		}
		
		// read the RDF/XML file
		System.out.println("Reading " + this.ontologyFile);
		model.read(in, null);
		
		System.out.println("Connecting to " + Config.SIB_NAME + " @ " + Config.SIB_HOST + ":" + Config.SIB_PORT);
		this.kp = new KPICore(Config.SIB_HOST, Config.SIB_PORT, Config.SIB_NAME);
		this.kp.join();
		

		if(removeOWL){
			if(confirm()){
				System.out.println("Removing RPSLS triples from SIB");
				this.kp.update_sparql("DELETE { ?a ?b ?c } WHERE { ?a ?b ?c FILTER regex ( str( ?a ) , \"^http://rpsls.games.unibo.it/Ontology.owl\" ) }");
				System.out.println("RPSLS triples removed correctly");
			}
		}
		if(loadOWL){
			ByteArrayOutputStream baos = new ByteArrayOutputStream();
			model.write(baos);
				System.out.println("Writing " + this.ontologyFile + "to SIB");
			this.kp.insert_rdf_xml(baos.toString());
			System.out.println("RPSLS ontology wrote correctly");
		}
		if(clearSIB){
			if(confirm()){
				System.out.println("Removing all triples from SIB");
				this.kp.remove(null, null, null, "uri", "uri");
				System.out.println("SIB clear");
			}
		}
		System.exit(0);
	}