Advertisement
Guest User

Untitled

a guest
Mar 27th, 2017
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.97 KB | None | 0 0
  1. import java.io.File;
  2. import java.io.FileNotFoundException;
  3. import java.io.FileOutputStream;
  4.  
  5. import org.apache.jena.ontology.Individual;
  6. import org.apache.jena.ontology.OntClass;
  7. import org.apache.jena.ontology.OntModel;
  8. import org.apache.jena.ontology.OntModelSpec;
  9. import org.apache.jena.ontology.OntProperty;
  10. import org.apache.jena.rdf.model.ModelFactory;
  11. import org.apache.jena.vocabulary.OWL;
  12. import org.apache.jena.vocabulary.OWL2;
  13. import org.apache.jena.rdf.model.Property;
  14. import org.apache.log4j.BasicConfigurator;
  15.  
  16. import com.github.jsonldjava.core.RDFDataset.Literal;
  17.  
  18. public class CreateModel {
  19.  
  20.     public static String ontologiesBase = "http://lab.Jena.Kdeg.ie/";
  21.  
  22.     public static String relationshipBase = "http://relationships.lab.Jena.Kdeg.ie/";
  23.  
  24.     public static String baseNs;
  25.  
  26.     public static String ontologyName = "Ontology1";
  27.  
  28.     public static OntModel ontology;
  29.    
  30.     public static void main(String args[]) {
  31.         baseNs = ontologiesBase + ontologyName + "#";
  32.         ontology = ModelFactory.createOntologyModel();
  33.         BasicConfigurator.configure();
  34.  
  35.         OntClass Province = ontology.createClass(baseNs + "Province");
  36.         OntClass Division = ontology.createClass(baseNs + "Division");
  37.         OntClass County= ontology.createClass(baseNs + "County");
  38.         OntClass GardaStation = ontology.createClass(baseNs + "GardaStation");
  39.         OntClass Crime = ontology.createClass(baseNs + "Crime");
  40.         OntClass CountyBoundary = ontology.createClass(baseNs + "CountyBoundary");
  41.         OntClass CrimeType = ontology.createClass(baseNs + "CrimeType");
  42.         OntClass CrimeSeverity = ontology.createClass(baseNs + "CrimeSeverity");
  43.        
  44.         OntProperty  containedIn =  ontology.createObjectProperty(baseNs + "containedIn");
  45.         OntProperty  contains =  ontology.createObjectProperty(baseNs + "contains");
  46.         contains.setInverseOf(containedIn);
  47.         contains.addDomain(Province);
  48.         contains.addRange(Division);
  49.         containedIn.addDomain(Division);
  50.         containedIn.addRange(Province);
  51.        
  52.         contains.addDomain(Division);
  53.         contains.addRange(County);
  54.         containedIn.addDomain(County);
  55.         containedIn.addRange(Division);
  56.        
  57.         OntProperty geometry =  ontology.createObjectProperty(baseNs + "geometry");
  58.         geometry.addDomain(County);
  59.         geometry.addRange(CountyBoundary);
  60.        
  61.         OntProperty coords = ontology.createObjectProperty(baseNs + "coords");
  62.         coords.addDomain(CountyBoundary);
  63.         coords.addLiteral(coords, 0.0);
  64.        
  65.         contains.addDomain(County);
  66.         contains.addRange(GardaStation);
  67.         containedIn.addDomain(GardaStation);
  68.         containedIn.addRange(County);
  69.        
  70.         OntProperty hasOccurred = ontology.createObjectProperty(baseNs + "hasOccurred");
  71.         hasOccurred.addDomain(GardaStation);
  72.         hasOccurred.addRange(Crime);
  73.        
  74. //        OntClass restriction = ontology.createMaxCardinalityRestriction(baseNs, containedIn, 1);
  75. //        restriction.removeAll( OWL.cardinality );
  76. //        restriction.addLiteral( OWL2.qualifiedCardinality, 1 );
  77. //        restriction.addProperty( OWL2.onClass, Province );
  78. //        
  79. //        Division.addSuperClass(restriction);
  80.  
  81.        
  82.         try {
  83.             writeToFile(ontologyName);
  84.         } catch (FileNotFoundException e) {
  85.             e.printStackTrace();
  86.         }
  87.  
  88. //        try
  89. //        {
  90. //          ReadModel.loadAllClassesOnt(ontologyName);
  91. //      }
  92. //        catch (FileNotFoundException e)
  93. //      {
  94. //          e.printStackTrace();
  95. //      }
  96.  
  97.     }
  98.  
  99.     public static void writeToFile(String filename)
  100.             throws FileNotFoundException {
  101.         try {
  102.             ontology.write(new FileOutputStream(new File(filename)),
  103.                     "RDF/XML-ABBREV");
  104.             System.out.println("Ontology written to file.");
  105.         } catch (FileNotFoundException e) {
  106.             e.printStackTrace();
  107.         }
  108.     }
  109.  
  110. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement