import java.io.*;
import java.util.*;
import java.lang.*;
import com.hp.hpl.jena.rdf.model.*;
import com.hp.hpl.jena.util.FileManager;
class Simpsons{
public String rdfname = "http://www.w3.org/1999/02/22-rdf-syntax-ns#";
public String xsdname = "http://www.w3.org/2001/XMLSchema#";
public static String famname = "http://www.ifi.uio.no/INF3580/v11/family#";
public static String simname = "http://www.ifi.uio.no/INF3580/v11/simpsons#";
static String testfil = "http://sws.ifi.uio.no/inf3580/v11/oblig/2/simpsons.ttl";
private static Model simpsonsmodel = null;
public static void main(String[] args){
String filnavn = testfil;
String output = args[1];
int lengde = filnavn.length();
char[] filarray = filnavn.toCharArray();
char filtype = filarray[filarray.length-1];
reader(filnavn, filtype, output);
}
static void reader (String filnavn, char type, String output){
String lang = "";
if (type == 'l'){
lang = "TTL";
} else if (type == '3') {
lang = "N3";
} else if (type == 't') {
lang = "N-TRIPLE";
} else if (type == 'f') {
lang = "RDF/XML";
} else {
System.out.println("Not a valid file");
lang = "";
}
Model simpsonsmodel = ModelFactory.createDefaultModel();
Model inFoafInstance = FileManager.get().loadModel(filnavn, lang);
simpsonsmodel = inFoafInstance;
addSimpsons(simpsonsmodel, output);
}
static void addSimpsons(Model simpsonsmodel, String output){
Resource homer = simpsonsmodel.createResource(simname+"Homer");
Resource herb = simpsonsmodel.createResource(simname+"Herb");
Resource abraham = simpsonsmodel.createResource(simname+"Abraham");
Resource mona = simpsonsmodel.createResource(simname+"Mona");
Resource BLANK = simpsonsmodel.createResource(simname+" ");
Property ageint = simpsonsmodel.createProperty(simpsonsmodel.expandPrefix("^^xsd:int"));
Property a = simpsonsmodel.createProperty(simpsonsmodel.expandPrefix("rdf:type"));
Property person = simpsonsmodel.createProperty(simpsonsmodel.expandPrefix("fam:Person"));
Property name = simpsonsmodel.createProperty(simpsonsmodel.expandPrefix("fam:hasName"));
Property age = simpsonsmodel.createProperty(simpsonsmodel.expandPrefix("fam:hasAge"));
Property spouse = simpsonsmodel.createProperty(simpsonsmodel.expandPrefix("fam:hasSpouse"));
Property father = simpsonsmodel.createProperty(simpsonsmodel.expandPrefix("fam:hasFather"));
Property old = simpsonsmodel.createProperty(simpsonsmodel.expandPrefix("fam:Old"));
Property minor = simpsonsmodel.createProperty(simpsonsmodel.expandPrefix("fam:Minor"));
Property infant = simpsonsmodel.createProperty(simpsonsmodel.expandPrefix("fam:Infant"));
simpsonsmodel.add(herb, a, person);
simpsonsmodel.add(abraham, a, person);
simpsonsmodel.add(mona, a, person);
simpsonsmodel.add(mona, spouse, abraham);
simpsonsmodel.add(abraham, spouse, mona);
simpsonsmodel.add(herb, father, "");
simpsonsmodel.add(homer, father, abraham);
simpsonsmodel.add(abraham, age, "78"+ageint);
simpsonsmodel.add(mona, age, "70"+ageint);
// System.out.println(simpsonsmodel);
ResIterator it = simpsonsmodel.listResourcesWithProperty(age);
while (it.hasNext()){
System.out.println(it.next());
// int alder = it.getProperty(age).getInt;
// System.out.println(alder);
simpsonsmodel.listObjectsOfProperty(it.next(), age);
}
try {
simpsonsmodel.write(new FileOutputStream("output.rdf"));
simpsonsmodel.write(new FileOutputStream(output));
} catch (IOException e) {
System.err.println("Skriving til fil feilet!");
}
}
}
Comments