Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.File;
- import java.io.FileNotFoundException;
- import java.io.FileOutputStream;
- import org.apache.jena.ontology.Individual;
- import org.apache.jena.ontology.OntClass;
- import org.apache.jena.ontology.OntModel;
- import org.apache.jena.ontology.OntModelSpec;
- import org.apache.jena.ontology.OntProperty;
- import org.apache.jena.rdf.model.ModelFactory;
- import org.apache.jena.vocabulary.OWL;
- import org.apache.jena.vocabulary.OWL2;
- import org.apache.jena.rdf.model.Property;
- import org.apache.log4j.BasicConfigurator;
- import com.github.jsonldjava.core.RDFDataset.Literal;
- public class CreateModel {
- public static String ontologiesBase = "http://lab.Jena.Kdeg.ie/";
- public static String relationshipBase = "http://relationships.lab.Jena.Kdeg.ie/";
- public static String baseNs;
- public static String ontologyName = "Ontology1";
- public static OntModel ontology;
- public static void main(String args[]) {
- baseNs = ontologiesBase + ontologyName + "#";
- ontology = ModelFactory.createOntologyModel();
- BasicConfigurator.configure();
- OntClass Province = ontology.createClass(baseNs + "Province");
- OntClass Division = ontology.createClass(baseNs + "Division");
- OntClass County= ontology.createClass(baseNs + "County");
- OntClass GardaStation = ontology.createClass(baseNs + "GardaStation");
- OntClass Crime = ontology.createClass(baseNs + "Crime");
- OntClass CountyBoundary = ontology.createClass(baseNs + "CountyBoundary");
- OntClass CrimeType = ontology.createClass(baseNs + "CrimeType");
- OntClass CrimeSeverity = ontology.createClass(baseNs + "CrimeSeverity");
- OntProperty containedIn = ontology.createObjectProperty(baseNs + "containedIn");
- OntProperty contains = ontology.createObjectProperty(baseNs + "contains");
- contains.setInverseOf(containedIn);
- contains.addDomain(Province);
- contains.addRange(Division);
- containedIn.addDomain(Division);
- containedIn.addRange(Province);
- contains.addDomain(Division);
- contains.addRange(County);
- containedIn.addDomain(County);
- containedIn.addRange(Division);
- OntProperty geometry = ontology.createObjectProperty(baseNs + "geometry");
- geometry.addDomain(County);
- geometry.addRange(CountyBoundary);
- OntProperty coords = ontology.createObjectProperty(baseNs + "coords");
- coords.addDomain(CountyBoundary);
- coords.addLiteral(coords, 0.0);
- contains.addDomain(County);
- contains.addRange(GardaStation);
- containedIn.addDomain(GardaStation);
- containedIn.addRange(County);
- OntProperty hasOccurred = ontology.createObjectProperty(baseNs + "hasOccurred");
- hasOccurred.addDomain(GardaStation);
- hasOccurred.addRange(Crime);
- // OntClass restriction = ontology.createMaxCardinalityRestriction(baseNs, containedIn, 1);
- // restriction.removeAll( OWL.cardinality );
- // restriction.addLiteral( OWL2.qualifiedCardinality, 1 );
- // restriction.addProperty( OWL2.onClass, Province );
- //
- // Division.addSuperClass(restriction);
- try {
- writeToFile(ontologyName);
- } catch (FileNotFoundException e) {
- e.printStackTrace();
- }
- // try
- // {
- // ReadModel.loadAllClassesOnt(ontologyName);
- // }
- // catch (FileNotFoundException e)
- // {
- // e.printStackTrace();
- // }
- }
- public static void writeToFile(String filename)
- throws FileNotFoundException {
- try {
- ontology.write(new FileOutputStream(new File(filename)),
- "RDF/XML-ABBREV");
- System.out.println("Ontology written to file.");
- } catch (FileNotFoundException e) {
- e.printStackTrace();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement