Search in sources :

Example 1 with OWLIndividualAxiom

use of org.semanticweb.owlapi.model.OWLIndividualAxiom in project opentheso by miledrousset.

the class OwlApiTest_collection method printAxioms.

private static void printAxioms(Set<OWLAxiom> axioms) {
    Set<OWLAxiom> axIndividual = new HashSet<OWLAxiom>();
    Set<OWLAxiom> axDataProperty = new HashSet<OWLAxiom>();
    Set<OWLAxiom> axObjectProperty = new HashSet<OWLAxiom>();
    Set<OWLAxiom> axClass = new HashSet<OWLAxiom>();
    Set<OWLAxiom> axOther = new HashSet<OWLAxiom>();
    for (OWLAxiom a : axioms) {
        a.getSignature();
        if ((a instanceof OWLClassAxiom)) {
            axClass.add(a);
        } else if (a instanceof OWLDataPropertyAxiom) {
            axDataProperty.add(a);
        } else if (a instanceof OWLObjectPropertyAxiom) {
            axDataProperty.add(a);
        } else if (a instanceof OWLIndividualAxiom) {
            axIndividual.add(a);
        } else {
            axOther.add(a);
        }
    }
    System.out.println("ALL AXIOMS (" + axioms.size() + ")");
    for (OWLAxiom ax : axIndividual) {
        String line1;
        line1 = ax.toString() + " TYPE: Individual";
        if (line1.contains("Collection")) {
            System.out.println(line1);
            for (OWLAxiom ax2 : axOther) {
                String line2;
                line2 = ax2.toString() + " TYPE: collection";
                System.out.println(line2);
            }
            for (OWLAxiom ax1 : axDataProperty) {
                String line;
                line = ax1.toString() + " TYPE: DataProperty";
                System.out.println(line);
            }
            for (OWLAxiom ax2 : axObjectProperty) {
                String line;
                line = ax2.toString() + " TYPE: ObjectProperty";
                System.out.println(line);
            }
            for (OWLAxiom ax3 : axClass) {
                String line;
                line = ax3.toString() + " TYPE: Class";
                System.out.println(line);
            }
            for (OWLAxiom ax4 : axOther) {
                String line;
                line = ax4.toString() + " TYPE: Other";
                System.out.println(line);
            }
        }
    /*    else
            {
                System.out.println(line1);
                for (OWLAxiom ax2 : axOther) {
                    String line2;
                    line2 = ax2.toString() + " TYPE: Other";
                    System.out.println(line2);
                } 
                for (OWLAxiom ax1 : axDataProperty) {
                String line;
                line = ax1.toString() + " TYPE: DataProperty";
                System.out.println(line);
                }
                for (OWLAxiom ax2 : axObjectProperty) {
                    String line;
                    line = ax2.toString() + " TYPE: ObjectProperty";
                    System.out.println(line);
                }
                for (OWLAxiom ax3 : axClass) {
                    String line;
                    line = ax3.toString() + " TYPE: Class";
                    System.out.println(line);
                }
                for (OWLAxiom ax4 : axOther) {
                    String line;
                    line = ax4.toString() + " TYPE: Other";
                    System.out.println(line);
                }                
            }*/
    }
    for (OWLAxiom ax : axDataProperty) {
        String line;
        line = ax.toString() + " TYPE: DataProperty";
        System.out.println(line);
    }
    for (OWLAxiom ax : axObjectProperty) {
        String line;
        line = ax.toString() + " TYPE: ObjectProperty";
        System.out.println(line);
    }
    for (OWLAxiom ax : axClass) {
        String line;
        line = ax.toString() + " TYPE: Class";
        System.out.println(line);
    }
    for (OWLAxiom ax : axOther) {
        String line;
        line = ax.toString() + " TYPE: Other";
        System.out.println(line);
    }
    System.out.println("-----------------------------------");
}
Also used : OWLObjectPropertyAxiom(org.semanticweb.owlapi.model.OWLObjectPropertyAxiom) OWLDataPropertyAxiom(org.semanticweb.owlapi.model.OWLDataPropertyAxiom) OWLIndividualAxiom(org.semanticweb.owlapi.model.OWLIndividualAxiom) OWLAxiom(org.semanticweb.owlapi.model.OWLAxiom) OWLClassAxiom(org.semanticweb.owlapi.model.OWLClassAxiom) HashSet(java.util.HashSet)

Example 2 with OWLIndividualAxiom

use of org.semanticweb.owlapi.model.OWLIndividualAxiom in project stanbol by apache.

the class ConversionTester method testEntityOwlToJenaResource.

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);
    // Classe
    OWLDeclarationAxiom daxiomcls = factory.getOWLDeclarationAxiom(cls);
    // obj prop
    OWLDeclarationAxiom daxiomop = factory.getOWLDeclarationAxiom(op);
    // data prop
    OWLDeclarationAxiom daxiomdp = factory.getOWLDeclarationAxiom(dp);
    // subject
    OWLDeclarationAxiom daxiomsub = factory.getOWLDeclarationAxiom(sub);
    // object
    OWLDeclarationAxiom daxiomobj = factory.getOWLDeclarationAxiom(obj);
    // Istanza
    OWLClassAssertionAxiom axiomsub = factory.getOWLClassAssertionAxiom(cls, sub);
    // Istanza
    OWLClassAssertionAxiom axiomobj = factory.getOWLClassAssertionAxiom(cls, obj);
    // Obj
    OWLObjectPropertyAssertionAxiom axiomop = factory.getOWLObjectPropertyAssertionAxiom(op, sub, obj);
    // prop
    // tra
    // individui
    OWLDataPropertyAssertionAxiom axiomvalue = factory.getOWLDataPropertyAssertionAxiom(dp, sub, // Dataprop all'istanza;
    literal1);
    // Annotazione
    OWLAnnotationAssertionAxiom axioman = factory.getOWLAnnotationAssertionAxiom(cls.getIRI(), oav);
    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);
    }
}
Also used : IRI(org.semanticweb.owlapi.model.IRI) OWLDeclarationAxiom(org.semanticweb.owlapi.model.OWLDeclarationAxiom) OWLDatatype(org.semanticweb.owlapi.model.OWLDatatype) OWLAnnotationProperty(org.semanticweb.owlapi.model.OWLAnnotationProperty) OWLDataPropertyAssertionAxiom(org.semanticweb.owlapi.model.OWLDataPropertyAssertionAxiom) OWLDataProperty(org.semanticweb.owlapi.model.OWLDataProperty) OWLOntologyCreationException(org.semanticweb.owlapi.model.OWLOntologyCreationException) OWLOntology(org.semanticweb.owlapi.model.OWLOntology) OWLNamedIndividual(org.semanticweb.owlapi.model.OWLNamedIndividual) OWLOntologyManager(org.semanticweb.owlapi.model.OWLOntologyManager) OWLClassAssertionAxiom(org.semanticweb.owlapi.model.OWLClassAssertionAxiom) StmtIterator(com.hp.hpl.jena.rdf.model.StmtIterator) OWLAnnotationAssertionAxiom(org.semanticweb.owlapi.model.OWLAnnotationAssertionAxiom) OWLAnnotation(org.semanticweb.owlapi.model.OWLAnnotation) Statement(com.hp.hpl.jena.rdf.model.Statement) OWLIndividualAxiom(org.semanticweb.owlapi.model.OWLIndividualAxiom) OWLObjectProperty(org.semanticweb.owlapi.model.OWLObjectProperty) OWLOntologyCreationException(org.semanticweb.owlapi.model.OWLOntologyCreationException) OWLLiteral(org.semanticweb.owlapi.model.OWLLiteral) OWLObjectPropertyAssertionAxiom(org.semanticweb.owlapi.model.OWLObjectPropertyAssertionAxiom) OWLClass(org.semanticweb.owlapi.model.OWLClass) OWLDataFactory(org.semanticweb.owlapi.model.OWLDataFactory)

Example 3 with OWLIndividualAxiom

use of org.semanticweb.owlapi.model.OWLIndividualAxiom in project stanbol by apache.

the class JenaToOwlConvert method EntityOwlToJenaResource.

// //////////////////////////////////////////////////////////////////////////////
/**
 * This function converts any thingths relatives to an OWL entity in an iterator over Jena statement
 *
 * @param entity
 *            {It could be a class, an object property or a data property}
 * @param owlmodel
 *            {OWLOntology model where to retrieve information about the entity}
 * @param format
 *            {RDF/XML or TURTLE}
 * @return {An iterator over jena statement}
 */
public synchronized StmtIterator EntityOwlToJenaResource(OWLEntity entity, OWLOntology owlmodel, String format) {
    while (available == false) {
        try {
            wait();
        } catch (InterruptedException e) {
            System.err.println("EntityOwlToJenaResource::: " + e);
        }
    }
    available = false;
    try {
        OWLOntologyManager manager = OWLManager.createOWLOntologyManager();
        OWLOntology ontology = manager.createOntology(IRI.create("http://www.semanticweb.org/owlapi/ontologies/ontology"));
        // If the entity is a class
        if (entity.isOWLClass()) {
            OWLClass owldata = entity.asOWLClass();
            Iterator<OWLClassAxiom> entityaxiom = owlmodel.getAxioms(owldata).iterator();
            while (entityaxiom.hasNext()) manager.addAxiom(ontology, entityaxiom.next());
            Iterator<OWLAnnotationAssertionAxiom> annotations = entity.getAnnotationAssertionAxioms(owlmodel).iterator();
            while (annotations.hasNext()) manager.addAxiom(ontology, annotations.next());
        }
        // If the entity is a data property
        if (entity.isOWLDataProperty()) {
            OWLDataProperty owldata = entity.asOWLDataProperty();
            Iterator<OWLDataPropertyAxiom> entityaxiom = owlmodel.getAxioms(owldata).iterator();
            while (entityaxiom.hasNext()) manager.addAxiom(ontology, entityaxiom.next());
            Iterator<OWLAnnotationAssertionAxiom> annotations = entity.getAnnotationAssertionAxioms(owlmodel).iterator();
            while (annotations.hasNext()) manager.addAxiom(ontology, annotations.next());
        }
        // If the entity is an object property
        if (entity.isOWLObjectProperty()) {
            OWLObjectProperty owldata = entity.asOWLObjectProperty();
            Iterator<OWLObjectPropertyAxiom> entityaxiom = owlmodel.getAxioms(owldata).iterator();
            while (entityaxiom.hasNext()) manager.addAxiom(ontology, entityaxiom.next());
            Iterator<OWLAnnotationAssertionAxiom> annotations = entity.getAnnotationAssertionAxioms(owlmodel).iterator();
            while (annotations.hasNext()) manager.addAxiom(ontology, annotations.next());
        }
        // If the entity is a data type
        if (entity.isOWLDatatype()) {
            OWLDatatype owldata = entity.asOWLDatatype();
            Iterator<OWLDatatypeDefinitionAxiom> entityaxiom = owlmodel.getAxioms(owldata).iterator();
            while (entityaxiom.hasNext()) manager.addAxiom(ontology, entityaxiom.next());
            Iterator<OWLAnnotationAssertionAxiom> annotations = entity.getAnnotationAssertionAxioms(owlmodel).iterator();
            while (annotations.hasNext()) manager.addAxiom(ontology, annotations.next());
        }
        // If the entity is an individual
        if (entity.isOWLNamedIndividual()) {
            OWLNamedIndividual owldata = entity.asOWLNamedIndividual();
            Iterator<OWLIndividualAxiom> entityaxiom = owlmodel.getAxioms(owldata).iterator();
            while (entityaxiom.hasNext()) manager.addAxiom(ontology, entityaxiom.next());
            Iterator<OWLAnnotationAssertionAxiom> annotations = entity.getAnnotationAssertionAxioms(owlmodel).iterator();
            while (annotations.hasNext()) manager.addAxiom(ontology, annotations.next());
        }
        // If the entity is an annotations property
        if (entity.isOWLAnnotationProperty()) {
            OWLAnnotationProperty owldata = entity.asOWLAnnotationProperty();
            Iterator<OWLAnnotationAxiom> entityaxiom = owlmodel.getAxioms(owldata).iterator();
            while (entityaxiom.hasNext()) manager.addAxiom(ontology, entityaxiom.next());
            Iterator<OWLAnnotationAssertionAxiom> annotations = entity.getAnnotationAssertionAxioms(owlmodel).iterator();
            while (annotations.hasNext()) manager.addAxiom(ontology, annotations.next());
        }
        OntModel ontmodel = ModelOwlToJenaConvert(ontology, format);
        StmtIterator statement = ontmodel.listStatements();
        available = true;
        notifyAll();
        return statement;
    } catch (OWLOntologyCreationException eoc) {
        System.err.print("EntityOwlToJenaResource::: ");
        eoc.printStackTrace();
        return null;
    }
}
Also used : OWLDatatype(org.semanticweb.owlapi.model.OWLDatatype) OWLClassAxiom(org.semanticweb.owlapi.model.OWLClassAxiom) OWLAnnotationProperty(org.semanticweb.owlapi.model.OWLAnnotationProperty) OWLDataProperty(org.semanticweb.owlapi.model.OWLDataProperty) OWLOntologyCreationException(org.semanticweb.owlapi.model.OWLOntologyCreationException) OWLOntology(org.semanticweb.owlapi.model.OWLOntology) OWLNamedIndividual(org.semanticweb.owlapi.model.OWLNamedIndividual) OntModel(com.hp.hpl.jena.ontology.OntModel) OWLOntologyManager(org.semanticweb.owlapi.model.OWLOntologyManager) OWLAnnotationAssertionAxiom(org.semanticweb.owlapi.model.OWLAnnotationAssertionAxiom) StmtIterator(com.hp.hpl.jena.rdf.model.StmtIterator) OWLIndividualAxiom(org.semanticweb.owlapi.model.OWLIndividualAxiom) OWLObjectProperty(org.semanticweb.owlapi.model.OWLObjectProperty) OWLObjectPropertyAxiom(org.semanticweb.owlapi.model.OWLObjectPropertyAxiom) OWLDatatypeDefinitionAxiom(org.semanticweb.owlapi.model.OWLDatatypeDefinitionAxiom) OWLDataPropertyAxiom(org.semanticweb.owlapi.model.OWLDataPropertyAxiom) OWLAnnotationAxiom(org.semanticweb.owlapi.model.OWLAnnotationAxiom) OWLClass(org.semanticweb.owlapi.model.OWLClass)

Aggregations

OWLIndividualAxiom (org.semanticweb.owlapi.model.OWLIndividualAxiom)3 StmtIterator (com.hp.hpl.jena.rdf.model.StmtIterator)2 OWLAnnotationAssertionAxiom (org.semanticweb.owlapi.model.OWLAnnotationAssertionAxiom)2 OWLAnnotationProperty (org.semanticweb.owlapi.model.OWLAnnotationProperty)2 OWLClass (org.semanticweb.owlapi.model.OWLClass)2 OWLClassAxiom (org.semanticweb.owlapi.model.OWLClassAxiom)2 OWLDataProperty (org.semanticweb.owlapi.model.OWLDataProperty)2 OWLDataPropertyAxiom (org.semanticweb.owlapi.model.OWLDataPropertyAxiom)2 OWLDatatype (org.semanticweb.owlapi.model.OWLDatatype)2 OWLNamedIndividual (org.semanticweb.owlapi.model.OWLNamedIndividual)2 OWLObjectProperty (org.semanticweb.owlapi.model.OWLObjectProperty)2 OWLObjectPropertyAxiom (org.semanticweb.owlapi.model.OWLObjectPropertyAxiom)2 OWLOntology (org.semanticweb.owlapi.model.OWLOntology)2 OWLOntologyCreationException (org.semanticweb.owlapi.model.OWLOntologyCreationException)2 OWLOntologyManager (org.semanticweb.owlapi.model.OWLOntologyManager)2 OntModel (com.hp.hpl.jena.ontology.OntModel)1 Statement (com.hp.hpl.jena.rdf.model.Statement)1 HashSet (java.util.HashSet)1 IRI (org.semanticweb.owlapi.model.IRI)1 OWLAnnotation (org.semanticweb.owlapi.model.OWLAnnotation)1