You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stanbol.apache.org by en...@apache.org on 2011/04/01 14:00:16 UTC
svn commit: r1087665 [2/2] - in /incubator/stanbol/trunk/owl: ./ src/
src/main/ src/main/assembly/ src/main/java/ src/main/java/org/
src/main/java/org/apache/ src/main/java/org/apache/stanbol/
src/main/java/org/apache/stanbol/owl/ src/main/java/org/apa...
Added: incubator/stanbol/trunk/owl/src/main/resources/TestFile/catalog.xml
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/owl/src/main/resources/TestFile/catalog.xml?rev=1087665&view=auto
==============================================================================
--- incubator/stanbol/trunk/owl/src/main/resources/TestFile/catalog.xml (added)
+++ incubator/stanbol/trunk/owl/src/main/resources/TestFile/catalog.xml Fri Apr 1 12:00:14 2011
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<catalog id="file:/Users/elvio/NetBeansProjects/eu.iksproject.kres.reasoners/src/main/resources/TestFile/" prefer="public" xml:base="file:/Users/elvio/NetBeansProjects/eu.iksproject.kres.reasoners/src/main/resources/TestFile/" xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">
+ <uri name="http://www.semanticweb.org/ontologies/2010/6/ProvaParent.owl" uri="ProvaParent.owl"/>
+</catalog>
Propchange: incubator/stanbol/trunk/owl/src/main/resources/owlapi/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Fri Apr 1 12:00:14 2011
@@ -0,0 +1 @@
+target
Added: incubator/stanbol/trunk/owl/src/main/resources/owlapi/owlapi-3.0.0.jar
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/owl/src/main/resources/owlapi/owlapi-3.0.0.jar?rev=1087665&view=auto
==============================================================================
Binary file - no diff available.
Propchange: incubator/stanbol/trunk/owl/src/main/resources/owlapi/owlapi-3.0.0.jar
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Propchange: incubator/stanbol/trunk/owl/src/test/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Fri Apr 1 12:00:14 2011
@@ -0,0 +1 @@
+target
Propchange: incubator/stanbol/trunk/owl/src/test/java/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Fri Apr 1 12:00:14 2011
@@ -0,0 +1 @@
+target
Propchange: incubator/stanbol/trunk/owl/src/test/java/org/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Fri Apr 1 12:00:14 2011
@@ -0,0 +1 @@
+target
Propchange: incubator/stanbol/trunk/owl/src/test/java/org/apache/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Fri Apr 1 12:00:14 2011
@@ -0,0 +1 @@
+target
Propchange: incubator/stanbol/trunk/owl/src/test/java/org/apache/stanbol/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Fri Apr 1 12:00:14 2011
@@ -0,0 +1 @@
+target
Propchange: incubator/stanbol/trunk/owl/src/test/java/org/apache/stanbol/owl/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Fri Apr 1 12:00:14 2011
@@ -0,0 +1 @@
+target
Added: incubator/stanbol/trunk/owl/src/test/java/org/apache/stanbol/owl/RunSingleSPARQLTest.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/owl/src/test/java/org/apache/stanbol/owl/RunSingleSPARQLTest.java?rev=1087665&view=auto
==============================================================================
--- incubator/stanbol/trunk/owl/src/test/java/org/apache/stanbol/owl/RunSingleSPARQLTest.java (added)
+++ incubator/stanbol/trunk/owl/src/test/java/org/apache/stanbol/owl/RunSingleSPARQLTest.java Fri Apr 1 12:00:14 2011
@@ -0,0 +1,161 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+
+package org.apache.stanbol.owl;
+
+import static org.junit.Assert.*;
+
+import java.io.File;
+import java.util.HashMap;
+
+import org.apache.stanbol.owl.RunSingleSPARQL;
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.semanticweb.owlapi.apibinding.OWLManager;
+import org.semanticweb.owlapi.model.OWLOntology;
+import org.semanticweb.owlapi.model.OWLOntologyCreationException;
+import org.semanticweb.owlapi.model.OWLOntologyManager;
+
+import com.hp.hpl.jena.query.ResultSet;
+
+/**
+ *
+ * @author elvio
+ */
+public class RunSingleSPARQLTest {
+
+ public OWLOntologyManager owlmanager;
+ public OWLOntology owl;
+ public HashMap<String,String> sparqlprefix;
+
+ public RunSingleSPARQLTest() throws OWLOntologyCreationException {
+ this.owlmanager = OWLManager.createOWLOntologyManager();
+ this.owl = owlmanager.loadOntologyFromOntologyDocument(new File("./src/main/resources/TestFile/ProvaParent.owl"));
+ }
+
+ @BeforeClass
+ public static void setUpClass() throws Exception {
+ }
+
+ @AfterClass
+ public static void tearDownClass() throws Exception {
+ }
+
+ @Before
+ public void setUp() {
+ }
+
+ @After
+ public void tearDown() {
+ }
+
+ /**
+ * Test of getSPARQLprefix method, of class RunSingleSPARQL.
+ */
+ @Test
+ public void testGetSPARQLprefix() {
+
+ HashMap<String,String> map = new HashMap();
+ map.put("rdfs","<http://www.w3.org/2000/01/rdf-schema#>");
+ map.put("xsd","<http://www.w3.org/2000/01/rdf-schema#>");
+ map.put("owl","<http://www.w3.org/2000/01/rdf-schema#>");
+ map.put("rdf","<http://www.w3.org/1999/02/22-rdf-syntax-ns#>");
+ map.put("ex","<http://www.w3.org/1999/02/22-rdf-syntax-ns#>");
+
+ RunSingleSPARQL instance = new RunSingleSPARQL(owl,map);
+ HashMap expResult = map;
+ HashMap result = instance.getSPARQLprefix();
+ if(!result.isEmpty()){
+ assertEquals(expResult, result);
+ }else{
+ // TODO review the generated test code and remove the default call to fail.
+ fail("Some errors occur in getSPARQLprefix of KReSRunSPARQL.");
+ }
+ }
+
+ /**
+ * Test of addSPARQLprefix method, of class RunSingleSPARQL.
+ */
+ @Test
+ public void testAddSPARQLprefix() {
+
+ String label = "mylabel";
+ String prefix = "<http://prova.mylabel.org#>";
+ HashMap<String,String> map = new HashMap();
+ map.put("rdfs","http://www.w3.org/2000/01/rdf-schema#");
+ map.put("xsd","<http://www.w3.org/2000/01/rdf-schema#>");
+ map.put("owl","<http://www.w3.org/2000/01/rdf-schema#>");
+ map.put("rdf","<http://www.w3.org/1999/02/22-rdf-syntax-ns#>");
+ map.put("ex","<http://www.w3.org/1999/02/22-rdf-syntax-ns#>");
+
+ RunSingleSPARQL instance = new RunSingleSPARQL(owl,map);
+ boolean result = instance.addSPARQLprefix(label, prefix);
+ if(result){
+ HashMap<String, String> mymap = instance.getSPARQLprefix();
+
+ assertEquals(prefix, mymap.get(label));
+ // TODO review the generated test code and remove the default call to fail.
+ }else{
+ fail("Some errors occur in addSPARQLprefix of KReSRunSPARQL.");
+ }
+ }
+
+ /**
+ * Test of removeSPARQLprefix method, of class RunSingleSPARQL.
+ */
+ @Test
+ public void testRemoveSPARQLprefix() {
+
+ HashMap<String,String> map = new HashMap();
+ map.put("rdfs","<http://www.w3.org/2000/01/rdf-schema#>");
+ map.put("xsd","<http://www.w3.org/2000/01/rdf-schema#>");
+ map.put("owl","<http://www.w3.org/2000/01/rdf-schema#>");
+ map.put("rdf","<http://www.w3.org/1999/02/22-rdf-syntax-ns#>");
+ map.put("ex","<http://www.w3.org/1999/02/22-rdf-syntax-ns#>");
+
+ RunSingleSPARQL instance = new RunSingleSPARQL(owl,map);
+ boolean result = instance.removeSPARQLprefix("ex");
+
+ if(result){
+ HashMap<String, String> mymap = instance.getSPARQLprefix();
+ assertEquals(false, mymap.containsKey("ex"));
+ // TODO review the generated test code and remove the default call to fail.
+ }else{
+ fail("Some errors occur in removeSPARQLprefix of KReSRunSPARQL.");
+ }
+ }
+
+ /**
+ * Test of runSPARQL method, of class RunSingleSPARQL.
+ */
+ @Test
+ public void testRunSPARQL() {
+ HashMap<String,String> map = new HashMap();
+ map.put("rdfs","<http://www.w3.org/2000/01/rdf-schema#>");
+ map.put("xsd","<http://www.w3.org/2000/01/rdf-schema#>");
+ map.put("owl","<http://www.w3.org/2000/01/rdf-schema#>");
+ map.put("rdf","<http://www.w3.org/1999/02/22-rdf-syntax-ns#>");
+ map.put("ex","<http://www.semanticweb.org/ontologies/2010/6/ProvaParent.owl#>");
+ String query = "SELECT * WHERE {?p rdf:type ex:Person .}";
+ RunSingleSPARQL instance = new RunSingleSPARQL(owl,map);
+ ResultSet result = instance.runSPARQL(query);
+
+ if(result!=null){
+ int m = 0;
+ while(result.hasNext()){
+ result.next();
+ m++;
+ }
+ assertEquals(3, m);
+ // TODO review the generated test code and remove the default call to fail.
+ }else{
+ fail("Some errors occur in runSPARQL of KReSRunSPARQL");
+ }
+ }
+
+}
\ No newline at end of file
Propchange: incubator/stanbol/trunk/owl/src/test/java/org/apache/stanbol/owl/trasformation/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Fri Apr 1 12:00:14 2011
@@ -0,0 +1 @@
+target
Added: incubator/stanbol/trunk/owl/src/test/java/org/apache/stanbol/owl/trasformation/ConversionTester.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/owl/src/test/java/org/apache/stanbol/owl/trasformation/ConversionTester.java?rev=1087665&view=auto
==============================================================================
--- incubator/stanbol/trunk/owl/src/test/java/org/apache/stanbol/owl/trasformation/ConversionTester.java (added)
+++ incubator/stanbol/trunk/owl/src/test/java/org/apache/stanbol/owl/trasformation/ConversionTester.java Fri Apr 1 12:00:14 2011
@@ -0,0 +1,595 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+
+package org.apache.stanbol.owl.trasformation;
+
+/**
+ *
+ * @author elvio
+ */
+import org.apache.stanbol.owl.trasformation.JenaToOwlConvert;
+import com.hp.hpl.jena.ontology.AnnotationProperty;
+import com.hp.hpl.jena.rdf.model.StmtIterator;
+import java.net.URI;
+import java.util.Set;
+
+import junit.framework.TestCase;
+
+import org.semanticweb.owlapi.apibinding.OWLManager;
+import org.semanticweb.owlapi.model.IRI;
+import org.semanticweb.owlapi.model.OWLAnnotationAssertionAxiom;
+import org.semanticweb.owlapi.model.OWLAnnotationProperty;
+import org.semanticweb.owlapi.model.OWLAxiom;
+import org.semanticweb.owlapi.model.OWLClass;
+import org.semanticweb.owlapi.model.OWLDataFactory;
+import org.semanticweb.owlapi.model.OWLDataProperty;
+import org.semanticweb.owlapi.model.OWLDataPropertyAssertionAxiom;
+import org.semanticweb.owlapi.model.OWLDatatype;
+import org.semanticweb.owlapi.model.OWLNamedIndividual;
+import org.semanticweb.owlapi.model.OWLObjectProperty;
+import org.semanticweb.owlapi.model.OWLObjectPropertyAssertionAxiom;
+import org.semanticweb.owlapi.model.OWLOntology;
+import org.semanticweb.owlapi.model.OWLOntologyCreationException;
+import org.semanticweb.owlapi.model.OWLOntologyManager;
+import com.hp.hpl.jena.ontology.DatatypeProperty;
+import com.hp.hpl.jena.ontology.Individual;
+import com.hp.hpl.jena.ontology.ObjectProperty;
+import com.hp.hpl.jena.ontology.OntClass;
+import com.hp.hpl.jena.ontology.OntModel;
+import com.hp.hpl.jena.rdf.model.Literal;
+import com.hp.hpl.jena.rdf.model.ModelFactory;
+import com.hp.hpl.jena.rdf.model.Resource;
+import com.hp.hpl.jena.rdf.model.Statement;
+import com.hp.hpl.jena.util.iterator.ExtendedIterator;
+import org.semanticweb.owlapi.model.OWLAnnotation;
+import org.semanticweb.owlapi.model.OWLClassAssertionAxiom;
+import org.semanticweb.owlapi.model.OWLDeclarationAxiom;
+import org.semanticweb.owlapi.model.OWLIndividualAxiom;
+import org.semanticweb.owlapi.model.OWLLiteral;
+
+public class ConversionTester extends TestCase {
+
+ private static final String RDFXML = "RDF/XML";
+
+ private static final String _BASE = "http://example.org/dummy";
+
+ private static final URI CLAZZ = URI.create(_BASE + "#" + "Peanut");
+
+ private static final URI SUBJECT = URI.create(_BASE + "#" + "Lucy");
+
+ private static final URI OP = URI.create(_BASE + "#" + "hasSibling");
+
+ private static final URI DP = URI.create(_BASE + "#" + "hasAge");
+
+ private static final URI label = URI.create("http://www.w3.org/2000/01/rdf-schema#label");
+
+ private static final String clazzlabel = "Peanut";
+
+ private static final String VALUE = "8";
+
+ private static final URI DATATYPE = URI.create("http://www.w3.org/2001/XMLSchema#int");
+
+ private static final URI OBJECT = URI.create(_BASE + "#" + "Linus");
+
+ public void testAxiomOwlToJenaResource(){
+
+ JenaToOwlConvert j2o = new JenaToOwlConvert();
+
+ OWLOntologyManager mgr = OWLManager.createOWLOntologyManager();
+ OWLOntology ont = null;
+ try{
+ ont = mgr.createOntology();
+ } catch(OWLOntologyCreationException e){
+ e.printStackTrace();
+ fail("Can not create ontology");
+ }
+
+ OWLDataFactory factory = mgr.getOWLDataFactory();
+
+ StmtIterator resource = null;
+
+ OWLClass cls = factory.getOWLClass(IRI.create(CLAZZ));
+ OWLDataProperty dp = factory.getOWLDataProperty(IRI.create(DP));
+ OWLObjectProperty op = factory.getOWLObjectProperty(IRI.create(OP));
+ OWLAnnotationProperty oa = factory.getOWLAnnotationProperty(IRI.create(label));
+ OWLAnnotation oav = factory.getOWLAnnotation(oa, factory.getOWLStringLiteral(clazzlabel,"en"));
+ OWLDatatype dt = factory.getOWLDatatype(IRI.create(DATATYPE));
+ OWLNamedIndividual sub = factory.getOWLNamedIndividual(IRI.create(SUBJECT));
+ OWLNamedIndividual obj = factory.getOWLNamedIndividual(IRI.create(OBJECT));
+ OWLLiteral literal1 = factory.getOWLTypedLiteral(VALUE,dt);
+ OWLDeclarationAxiom daxiomcls = factory.getOWLDeclarationAxiom(cls); //Classe
+ OWLDeclarationAxiom daxiomop = factory.getOWLDeclarationAxiom(op); //obj prop
+ OWLDeclarationAxiom daxiomdp = factory.getOWLDeclarationAxiom(dp); //data prop
+ OWLDeclarationAxiom daxiomsub = factory.getOWLDeclarationAxiom(sub); //subject
+ OWLDeclarationAxiom daxiomobj = factory.getOWLDeclarationAxiom(obj); //object
+
+ OWLClassAssertionAxiom axiomsub = factory.getOWLClassAssertionAxiom(cls,sub); //Istanza
+ OWLClassAssertionAxiom axiomobj = factory.getOWLClassAssertionAxiom(cls,obj); //Istanza
+ OWLObjectPropertyAssertionAxiom axiomop = factory.getOWLObjectPropertyAssertionAxiom(op, sub, obj); //Obj prop tra individui
+ OWLDataPropertyAssertionAxiom axiomvalue = factory.getOWLDataPropertyAssertionAxiom(dp, obj,literal1); //Dataprop all'istanza;
+ OWLAnnotationAssertionAxiom axioman = factory.getOWLAnnotationAssertionAxiom(cls.getIRI(), oav); //Annotazione
+
+ mgr.addAxiom(ont,daxiomcls);
+ mgr.addAxiom(ont,daxiomop);
+ mgr.addAxiom(ont,daxiomdp);
+ mgr.addAxiom(ont,daxiomsub);
+ mgr.addAxiom(ont,daxiomobj);
+ mgr.addAxiom(ont,axiomsub);
+ mgr.addAxiom(ont,axiomobj);
+ mgr.addAxiom(ont,axiomop);
+ mgr.addAxiom(ont,axiomvalue);
+ mgr.addAxiom(ont,axioman);
+
+ Set<OWLAxiom> setaxiom = ont.getAxioms();
+
+ try{
+ resource = j2o.AxiomOwlToJenaResource(setaxiom, RDFXML);
+ if(resource == null){
+ fail("Some errors occur");
+ }else{
+ String statment = "[http://www.w3.org/2000/01/rdf-schema#label, http://www.w3.org/2000/01/rdf-schema#range, http://www.w3.org/2000/01/rdf-schema#Literal] "+
+ "[http://example.org/dummy#hasAge, http://www.w3.org/1999/02/22-rdf-syntax-ns#type, http://www.w3.org/2002/07/owl#DatatypeProperty] "+
+ "[http://example.org/dummy#Linus, http://example.org/dummy#hasAge, \"8\"^^http://www.w3.org/2001/XMLSchema#int] "+
+ "[http://example.org/dummy#Linus, http://www.w3.org/1999/02/22-rdf-syntax-ns#type, http://example.org/dummy#Peanut] "+
+ "[http://example.org/dummy#hasSibling, http://www.w3.org/1999/02/22-rdf-syntax-ns#type, http://www.w3.org/2002/07/owl#ObjectProperty] "+
+ "[http://example.org/dummy#Lucy, http://example.org/dummy#hasSibling, http://example.org/dummy#Linus] "+
+ "[http://example.org/dummy#Lucy, http://www.w3.org/1999/02/22-rdf-syntax-ns#type, http://example.org/dummy#Peanut] "+
+ "[http://www.w3.org/2000/01/rdf-schema#label, http://www.w3.org/1999/02/22-rdf-syntax-ns#type, http://www.w3.org/2002/07/owl#AnnotationProperty] "+
+ "[http://example.org/dummy#Peanut, http://www.w3.org/2000/01/rdf-schema#label, \"Peanut\"@en] "+
+ "[http://example.org/dummy#Peanut, http://www.w3.org/1999/02/22-rdf-syntax-ns#type, http://www.w3.org/2002/07/owl#Class]";
+
+ int size = setaxiom.size();
+ int count = 0;
+ while(resource.hasNext()){
+ Statement stm = resource.nextStatement();
+ Resource jsubj = stm.getSubject();
+ if(jsubj.getURI().equals(OP.toString())||jsubj.getURI().equals(DP.toString())||jsubj.getURI().equals(CLAZZ.toString())||jsubj.getURI().equals(OBJECT.toString())||jsubj.getURI().equals(SUBJECT.toString())||jsubj.getURI().equals(label.toString()))
+ if(statment.contains(stm.toString()))
+ count++;
+ }
+
+ assertEquals(size,count);
+
+ }
+ }catch (Exception e) {
+ e.printStackTrace();
+ fail("Exception caugth");
+ }finally{
+ assertNotNull(resource);
+ }
+ }
+
+ public void testAnnotationPropJenaToOwl() {
+ JenaToOwlConvert j2o = new JenaToOwlConvert();
+ OntModel model = ModelFactory.createOntologyModel();
+ AnnotationProperty jp = model.createAnnotationProperty(label.toString());
+ OWLAnnotationProperty wp = null;
+ try{
+ wp = j2o.AnnotationPropJenaToOwl(jp, RDFXML);
+ if(wp==null){
+ fail("Some errors occur");
+ }else{
+ assertEquals(wp.getIRI().toURI().toString(), jp.getURI().toString());
+ }
+ }catch (Exception e){
+ e.printStackTrace();
+ fail("Exception caugth");
+ } finally {
+ assertNotNull(wp);
+ }
+ }
+
+ public void testAnnotationPropOwlToJena() {
+ JenaToOwlConvert j2o = new JenaToOwlConvert();
+ OWLOntologyManager mgr = OWLManager.createOWLOntologyManager();
+ OWLDataFactory factory = mgr.getOWLDataFactory();
+ OWLAnnotationProperty wp = factory.getOWLAnnotationProperty(IRI.create(label));
+ AnnotationProperty jp = null;
+ try{
+ jp = j2o.AnnotationPropOwlToJena(wp, RDFXML);
+ if(jp==null){
+ fail("Some errors occur");
+ }else{
+ assertEquals(wp.getIRI().toURI().toString(), jp.getURI().toString());
+ }
+ }catch (Exception e){
+ e.printStackTrace();
+ fail("Exception caugth");
+ } finally {
+ assertNotNull(jp);
+ }
+ }
+
+ public void testClassJenaToOwl() {
+ JenaToOwlConvert j2o = new JenaToOwlConvert();
+ OntModel model = ModelFactory.createOntologyModel();
+ OntClass jc = model.createClass(CLAZZ.toString());
+ OWLClass wc = null;
+ try{
+ wc = j2o.ClassJenaToOwl(jc, RDFXML);
+ if(wc==null)
+ fail("Some problems accours");
+ else{
+ assertEquals(wc.getIRI().toURI().toString(), jc.getURI().toString());
+ }
+ }catch (Exception e) {
+ e.printStackTrace();
+ fail("Exception caugth");
+ }finally {
+ assertNotNull(wc);
+ }
+ }
+
+ public void testClassOwlToJena() {
+ JenaToOwlConvert j2o = new JenaToOwlConvert();
+ OWLOntologyManager mgr = OWLManager.createOWLOntologyManager();
+ OWLDataFactory factory = mgr.getOWLDataFactory();
+ OWLClass c = factory.getOWLClass(IRI.create(CLAZZ));
+ OntClass jc = null;
+ try {
+ jc = j2o.ClassOwlToJena(c, RDFXML);
+ if(jc==null){
+ fail("Some problem accours");
+ }else{
+ assertEquals(jc.getURI(), c.getIRI().toString());
+ }
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ fail("Exception caught");
+ } finally {
+ assertNotNull(jc);
+ }
+
+ }
+
+ public void testDataPropJenaToOwl() {
+ JenaToOwlConvert j2o = new JenaToOwlConvert();
+ OntModel model = ModelFactory.createOntologyModel();
+ DatatypeProperty jp = model.createDatatypeProperty(DP.toString());
+ OWLDataProperty wp = null;
+ try{
+ wp = j2o.DataPropJenaToOwl(jp, RDFXML);
+ if(wp==null){
+ fail("Some problem accours");
+ }else{
+ assertEquals(wp.getIRI().toURI().toString(), jp.getURI().toString());
+ }
+ }catch (Exception e) {
+ e.printStackTrace();
+ fail("Exception caugth");
+ } finally {
+ assertNotNull(wp);
+ }
+ }
+
+ public void testDataPropOwlToJena() {
+ JenaToOwlConvert j2o = new JenaToOwlConvert();
+ OWLOntologyManager mgr = OWLManager.createOWLOntologyManager();
+ OWLDataFactory factory = mgr.getOWLDataFactory();
+ OWLDataProperty dp = factory.getOWLDataProperty(IRI.create(DP));
+ DatatypeProperty jdp = null;
+ try {
+ jdp = j2o.DataPropOwlToJena(dp, RDFXML);
+ if(jdp == null){
+ fail("Some errors accour");
+ }else{
+ assertEquals(jdp.getURI(), dp.getIRI().toString());
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ fail("Exception caught");
+ } finally {
+ assertNotNull(jdp);
+ }
+ }
+
+ public void testModelJenaToOwlConvert() {
+ JenaToOwlConvert j2o = new JenaToOwlConvert();
+ OntModel model = ModelFactory.createOntologyModel();
+ OWLOntologyManager mgr = OWLManager.createOWLOntologyManager();
+ OWLDataFactory factory = mgr.getOWLDataFactory();
+ String dul = "http://www.loa-cnr.it/ontologies/DUL.owl";
+ OWLOntology owl = null;
+
+ try{
+ model.read(dul,RDFXML);
+ }catch (Exception e){
+ e.printStackTrace();
+ fail("Could not load ontology");
+ }
+
+ try{
+ owl = j2o.ModelJenaToOwlConvert(model, RDFXML);
+ if(owl == null){
+ fail("Some errors occur");
+ }else{
+
+ ExtendedIterator<OntClass> jenaclass = model.listNamedClasses();
+ int jenaclassset = jenaclass.toSet().size();
+ jenaclass = model.listNamedClasses();
+ Set<OWLClass> owlclass = owl.getClassesInSignature();
+ int countclass = 0;
+
+ while(jenaclass.hasNext())
+ if(owlclass.contains(factory.getOWLClass(IRI.create(jenaclass.next().getURI()))))
+ countclass++;
+ if(countclass==jenaclassset)
+ assertEquals(countclass,jenaclassset);
+ else
+ fail("Error in number of classes");
+
+ ExtendedIterator<ObjectProperty> jenaprop = model.listObjectProperties();
+ int jenapropset = jenaprop.toSet().size();
+ jenaprop = model.listObjectProperties();
+ Set<OWLObjectProperty> owlprop = owl.getObjectPropertiesInSignature();
+ int countprop = 0;
+
+ while(jenaprop.hasNext())
+ if(owlprop.contains(factory.getOWLObjectProperty(IRI.create(jenaprop.next().getURI()))))
+ countprop++;
+ if(countprop==jenapropset)
+ assertEquals(countprop,jenapropset);
+ else
+ fail("Error in number of object properties");
+
+ ExtendedIterator<DatatypeProperty> jenadata = model.listDatatypeProperties();
+ int jenadataset = jenadata.toSet().size();
+ jenadata = model.listDatatypeProperties();
+ Set<OWLDataProperty> owldata = owl.getDataPropertiesInSignature();
+ int countdata = 0;
+
+ while(jenadata.hasNext())
+ if(owldata.contains(factory.getOWLDataProperty(IRI.create(jenadata.next().getURI()))))
+ countdata++;
+ if(countdata==jenadataset)
+ assertEquals(countdata,jenadataset);
+ else
+ fail("Error in number of data properties");
+ }
+ }catch (Exception e){
+ e.printStackTrace();
+ fail("Exception caugth");
+ }finally{
+ assertNotNull(owl);
+ }
+ }
+
+ public void testModelOwlToJenaConvert() {
+ JenaToOwlConvert j2o = new JenaToOwlConvert();
+ OWLOntologyManager mgr = OWLManager.createOWLOntologyManager();
+ OWLOntologyManager mgrf = OWLManager.createOWLOntologyManager();
+ OWLDataFactory factory = mgrf.getOWLDataFactory();
+ String dul = "http://www.loa-cnr.it/ontologies/DUL.owl";
+ OWLOntology owl = null;
+ OntModel jena = null;
+ try {
+ owl = mgr.loadOntologyFromOntologyDocument(IRI.create(dul));
+ } catch (OWLOntologyCreationException e) {
+ e.printStackTrace();
+ fail("Could not load ontology");
+ }
+ try {
+ jena = j2o.ModelOwlToJenaConvert(owl, "RDF/XML");
+ if(jena == null){
+ fail("Some errors occur");
+ }else{
+
+ ExtendedIterator<OntClass> jenaclass = jena.listNamedClasses();
+ int jenaclassset = jenaclass.toSet().size();
+ jenaclass = jena.listNamedClasses();
+ Set<OWLClass> owlclass = owl.getClassesInSignature();
+ int countclass = 0;
+
+ while(jenaclass.hasNext())
+ if(owlclass.contains(factory.getOWLClass(IRI.create(jenaclass.next().getURI()))))
+ countclass++;
+ if(countclass==jenaclassset)
+ assertEquals(countclass,jenaclassset);
+ else
+ fail("Error in number of classes");
+
+ ExtendedIterator<ObjectProperty> jenaprop = jena.listObjectProperties();
+ int jenapropset = jenaprop.toSet().size();
+ jenaprop = jena.listObjectProperties();
+ Set<OWLObjectProperty> owlprop = owl.getObjectPropertiesInSignature();
+ int countprop = 0;
+
+ while(jenaprop.hasNext())
+ if(owlprop.contains(factory.getOWLObjectProperty(IRI.create(jenaprop.next().getURI()))))
+ countprop++;
+ if(countprop==jenapropset)
+ assertEquals(countprop,jenapropset);
+ else
+ fail("Error in number of object properties");
+
+ ExtendedIterator<DatatypeProperty> jenadata = jena.listDatatypeProperties();
+ int jenadataset = jenadata.toSet().size();
+ jenadata = jena.listDatatypeProperties();
+ Set<OWLDataProperty> owldata = owl.getDataPropertiesInSignature();
+ int countdata = 0;
+
+ while(jenadata.hasNext())
+ if(owldata.contains(factory.getOWLDataProperty(IRI.create(jenadata.next().getURI()))))
+ countdata++;
+ if(countdata==jenadataset)
+ assertEquals(countdata,jenadataset);
+ else
+ fail("Error in number of data properties");
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ fail("Exception caugth");
+ } finally{
+ assertNotNull(jena);
+ }
+ }
+
+ public void testObjPropJenaToOwl() {
+ JenaToOwlConvert j2o = new JenaToOwlConvert();
+ OntModel model = ModelFactory.createOntologyModel();
+ ObjectProperty jp = model.createObjectProperty(OP.toString());
+ OWLObjectProperty wp = null;
+ try{
+ wp = j2o.ObjPropJenaToOwl(jp, RDFXML);
+ if(wp == null){
+ fail("Some errors occurs");
+ }else{
+ assertEquals(wp.getIRI().toURI().toString(), jp.getURI().toString());
+ }
+ }catch(Exception e){
+ e.printStackTrace();
+ fail("Exception caugth");
+ } finally {
+ assertNotNull(wp);
+ }
+ }
+
+ public void testObjPropOwlToJena() {
+ JenaToOwlConvert j2o = new JenaToOwlConvert();
+ OWLOntologyManager mgr = OWLManager.createOWLOntologyManager();
+ OWLDataFactory factory = mgr.getOWLDataFactory();
+ OWLObjectProperty op = factory.getOWLObjectProperty(IRI.create(OP));
+ ObjectProperty jop = null;
+ try {
+ jop = j2o.ObjPropOwlToJena(op, RDFXML);
+ if(jop == null){
+ fail("Some errore occurs");
+ }else{
+ assertEquals(jop.getURI(), op.getIRI().toString());
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ fail("Exception caught");
+ } finally{
+ assertNotNull(jop);
+ }
+
+ }
+
+ public void testResourceJenaToOwlAxiom() {
+
+ JenaToOwlConvert j2o = new JenaToOwlConvert();
+ OntModel model = ModelFactory.createOntologyModel();
+
+ OntClass jenaclass = model.createClass(CLAZZ.toString());
+ ObjectProperty jenaobprop = model.createObjectProperty(OP.toString());
+ DatatypeProperty jenadataprop = model.createDatatypeProperty(DP.toString());
+ Individual jenasub = model.createIndividual(SUBJECT.toString(), jenaclass);
+ Individual jenaobj = model.createIndividual(OBJECT.toString(), jenaclass);
+ AnnotationProperty jenaanno = model.createAnnotationProperty(label.toString());
+ Literal value = model.createTypedLiteral(VALUE,DATATYPE.toString());
+
+ model.add(jenasub, jenaobprop, jenaobj);
+ model.add(jenasub,jenadataprop,value);
+ model.add(jenasub,jenaanno,"Lucy","en");
+
+ Set<OWLAxiom> owlaxiom = null;
+
+ try{
+ owlaxiom = j2o.ResourceJenaToOwlAxiom(jenasub, RDFXML);
+ if(owlaxiom==null){
+ fail("Some errors occur");
+ }else{
+
+ StmtIterator str = model.listStatements();
+
+ int count=0;
+ while(str.hasNext()){
+ Statement stm = str.next();
+ Resource subject = stm.getSubject();
+ if(SUBJECT.toString().equals(subject.getURI().toString()))
+ count++;
+ }
+
+ if(count==owlaxiom.size()){
+ assertEquals(count,owlaxiom.size());
+ }else{
+ fail("The number of axioms don't match the number of statement");
+ }}
+ }catch (Exception e){
+ e.printStackTrace();
+ fail("Exception caugth");
+ }finally{
+ assertNotNull(owlaxiom);
+ }
+ }
+
+ public void testEntityOwlToJenaResource() {
+
+ JenaToOwlConvert j2o = new JenaToOwlConvert();
+ OWLOntologyManager mgr = OWLManager.createOWLOntologyManager();
+ OWLOntology ont = null;
+ StmtIterator resource = null;
+
+ try{
+ ont = mgr.createOntology();
+ } catch (OWLOntologyCreationException e) {
+ e.printStackTrace();
+ fail("Could not load ontology");
+ }
+
+ OWLDataFactory factory = mgr.getOWLDataFactory();
+
+ OWLClass cls = factory.getOWLClass(IRI.create(CLAZZ));
+ OWLDataProperty dp = factory.getOWLDataProperty(IRI.create(DP));
+ OWLObjectProperty op = factory.getOWLObjectProperty(IRI.create(OP));
+ OWLAnnotationProperty oa = factory.getOWLAnnotationProperty(IRI.create(label));
+ OWLAnnotation oav = factory.getOWLAnnotation(oa, factory.getOWLStringLiteral(clazzlabel,"en"));
+ OWLDatatype dt = factory.getOWLDatatype(IRI.create(DATATYPE));
+ OWLNamedIndividual sub = factory.getOWLNamedIndividual(IRI.create(SUBJECT));
+ OWLNamedIndividual obj = factory.getOWLNamedIndividual(IRI.create(OBJECT));
+ OWLLiteral literal1 = factory.getOWLTypedLiteral(VALUE,dt);
+ OWLDeclarationAxiom daxiomcls = factory.getOWLDeclarationAxiom(cls); //Classe
+ OWLDeclarationAxiom daxiomop = factory.getOWLDeclarationAxiom(op); //obj prop
+ OWLDeclarationAxiom daxiomdp = factory.getOWLDeclarationAxiom(dp); //data prop
+ OWLDeclarationAxiom daxiomsub = factory.getOWLDeclarationAxiom(sub); //subject
+ OWLDeclarationAxiom daxiomobj = factory.getOWLDeclarationAxiom(obj); //object
+
+ OWLClassAssertionAxiom axiomsub = factory.getOWLClassAssertionAxiom(cls,sub); //Istanza
+ OWLClassAssertionAxiom axiomobj = factory.getOWLClassAssertionAxiom(cls,obj); //Istanza
+ OWLObjectPropertyAssertionAxiom axiomop = factory.getOWLObjectPropertyAssertionAxiom(op, sub, obj); //Obj prop tra individui
+ OWLDataPropertyAssertionAxiom axiomvalue = factory.getOWLDataPropertyAssertionAxiom(dp, sub,literal1); //Dataprop all'istanza;
+ OWLAnnotationAssertionAxiom axioman = factory.getOWLAnnotationAssertionAxiom(cls.getIRI(), oav); //Annotazione
+
+ mgr.addAxiom(ont,daxiomcls);
+ mgr.addAxiom(ont,daxiomop);
+ mgr.addAxiom(ont,daxiomdp);
+ mgr.addAxiom(ont,daxiomsub);
+ mgr.addAxiom(ont,daxiomobj);
+ mgr.addAxiom(ont,axiomsub);
+ mgr.addAxiom(ont,axiomobj);
+ mgr.addAxiom(ont,axiomop);
+ mgr.addAxiom(ont,axiomvalue);
+ mgr.addAxiom(ont,axioman);
+
+ Set<OWLIndividualAxiom> ind = ont.getAxioms(sub);
+
+ try{
+ resource = j2o.EntityOwlToJenaResource(daxiomsub.getEntity(), ont, RDFXML);
+ if(resource == null){
+ fail("Some errors accour");
+ }else{
+
+ int cont = 0;
+ while(resource.hasNext()){
+ Statement stm = resource.nextStatement();
+ IRI subres = IRI.create(stm.getSubject().getURI());
+ if(("<"+subres+">").equals(daxiomsub.getEntity().toString()))
+ cont++;
+ }
+
+ assertEquals(ind.size(),(cont-1));
+
+ }
+ }catch (Exception e){
+ e.printStackTrace();
+ fail("Exception caugth");
+ } finally{
+ assertNotNull(resource);
+ }
+ }
+}
+
Propchange: incubator/stanbol/trunk/owl/src/test/java/org/apache/stanbol/owlapi/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Fri Apr 1 12:00:14 2011
@@ -0,0 +1 @@
+target
Propchange: incubator/stanbol/trunk/owl/src/test/java/org/apache/stanbol/owlapi/trasformation/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Fri Apr 1 12:00:14 2011
@@ -0,0 +1 @@
+target