use of org.semanticweb.owlapi.model.OWLLiteral in project stanbol by apache.
the class DifferentAtom method getOWLTypedLiteral.
private OWLLiteral getOWLTypedLiteral(Object argument) {
OWLDataFactory factory = OWLManager.createOWLOntologyManager().getOWLDataFactory();
OWLLiteral owlLiteral;
if (argument instanceof String) {
owlLiteral = factory.getOWLTypedLiteral((String) argument);
} else if (argument instanceof Integer) {
owlLiteral = factory.getOWLTypedLiteral(((Integer) argument).intValue());
} else if (argument instanceof Double) {
owlLiteral = factory.getOWLTypedLiteral(((Double) argument).doubleValue());
} else if (argument instanceof Float) {
owlLiteral = factory.getOWLTypedLiteral(((Float) argument).floatValue());
} else if (argument instanceof Boolean) {
owlLiteral = factory.getOWLTypedLiteral(((Boolean) argument).booleanValue());
} else {
owlLiteral = factory.getOWLStringLiteral(argument.toString());
}
return owlLiteral;
}
use of org.semanticweb.owlapi.model.OWLLiteral in project goci by EBISPOT.
the class DefaultGWASOWLConverter method convertStudy.
protected void convertStudy(Study study, OWLOntology ontology) {
// get the study class
OWLClass studyCls = getDataFactory().getOWLClass(IRI.create(OntologyConstants.STUDY_CLASS_IRI));
// create a new study instance
OWLNamedIndividual studyIndiv = getDataFactory().getOWLNamedIndividual(getMinter().mint(OntologyConstants.GWAS_ONTOLOGY_BASE_IRI, study));
// assert class membership
OWLClassAssertionAxiom classAssertion = getDataFactory().getOWLClassAssertionAxiom(studyCls, studyIndiv);
getManager().addAxiom(ontology, classAssertion);
// add datatype properties...
// get datatype relations
OWLDataProperty has_author = getDataFactory().getOWLDataProperty(IRI.create(OntologyConstants.HAS_AUTHOR_PROPERTY_IRI));
OWLDataProperty has_publication_date = getDataFactory().getOWLDataProperty(IRI.create(OntologyConstants.HAS_PUBLICATION_DATE_PROPERTY_IRI));
OWLDataProperty has_pubmed_id = getDataFactory().getOWLDataProperty(IRI.create(OntologyConstants.HAS_PUBMED_ID_PROPERTY_IRI));
// get annotation relations
OWLAnnotationProperty rdfsLabel = getDataFactory().getOWLAnnotationProperty(OWLRDFVocabulary.RDFS_LABEL.getIRI());
// assert author relation
OWLLiteral author = getDataFactory().getOWLLiteral(study.getAuthor());
OWLDataPropertyAssertionAxiom author_relation = getDataFactory().getOWLDataPropertyAssertionAxiom(has_author, studyIndiv, author);
AddAxiom add_author = new AddAxiom(ontology, author_relation);
getManager().applyChange(add_author);
// assert publication_date relation
if (study.getPublicationDate() != null) {
String rfcTimezone = new SimpleDateFormat("Z").format(study.getPublicationDate());
String xsdTimezone = rfcTimezone.substring(0, 3).concat(":").concat(rfcTimezone.substring(3, rfcTimezone.length()));
String xmlDatetimeStr = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss").format(study.getPublicationDate()) + xsdTimezone;
OWLLiteral publication_date = getDataFactory().getOWLLiteral(xmlDatetimeStr, OWL2Datatype.XSD_DATE_TIME);
OWLDataPropertyAssertionAxiom publication_date_relation = getDataFactory().getOWLDataPropertyAssertionAxiom(has_publication_date, studyIndiv, publication_date);
AddAxiom add_publication_date = new AddAxiom(ontology, publication_date_relation);
getManager().applyChange(add_publication_date);
}
// assert pubmed_id relation
OWLLiteral pubmed_id = getDataFactory().getOWLLiteral(study.getPubmedId());
OWLDataPropertyAssertionAxiom pubmed_id_relation = getDataFactory().getOWLDataPropertyAssertionAxiom(has_pubmed_id, studyIndiv, pubmed_id);
AddAxiom add_pubmed_id = new AddAxiom(ontology, pubmed_id_relation);
getManager().applyChange(add_pubmed_id);
// assert label
OWLLiteral study_label = getDataFactory().getOWLLiteral(pubmed_id.toString());
OWLAnnotationAssertionAxiom label_annotation = getDataFactory().getOWLAnnotationAssertionAxiom(rdfsLabel, studyIndiv.getIRI(), study_label);
AddAxiom add_label = new AddAxiom(ontology, label_annotation);
getManager().applyChange(add_label);
// add object properties...
// get the has_part relation
OWLObjectProperty has_part = getDataFactory().getOWLObjectProperty(IRI.create(OntologyConstants.HAS_PART_PROPERTY_IRI));
OWLObjectProperty part_of = getDataFactory().getOWLObjectProperty(IRI.create(OntologyConstants.PART_OF_PROPERTY_IRI));
// for this study, get all trait associations
Collection<Association> associations = study.getAssociations();
// and create an study has_part association assertion for each one
for (Association association : associations) {
// get the trait association instance for this association
IRI traitIRI = getMinter().mint(OntologyConstants.GWAS_ONTOLOGY_BASE_IRI, association);
OWLNamedIndividual taIndiv = getDataFactory().getOWLNamedIndividual(traitIRI);
// assert relation
OWLObjectPropertyAssertionAxiom has_part_relation = getDataFactory().getOWLObjectPropertyAssertionAxiom(has_part, studyIndiv, taIndiv);
AddAxiom addAxiomChange = new AddAxiom(ontology, has_part_relation);
getManager().applyChange(addAxiomChange);
OWLObjectPropertyAssertionAxiom is_part_of_relation = getDataFactory().getOWLObjectPropertyAssertionAxiom(part_of, taIndiv, studyIndiv);
AddAxiom addAxiomChangeRev = new AddAxiom(ontology, is_part_of_relation);
getManager().applyChange(addAxiomChangeRev);
}
}
use of org.semanticweb.owlapi.model.OWLLiteral in project goci by EBISPOT.
the class IRITreeBuilder method getClassLabel.
private String getClassLabel(OWLOntology ontology, OWLClass cls) {
OWLDataFactory factory = ontology.getOWLOntologyManager().getOWLDataFactory();
OWLAnnotationProperty label = factory.getOWLAnnotationProperty(OWLRDFVocabulary.RDFS_LABEL.getIRI());
String className = null;
for (OWLAnnotation annotation : cls.getAnnotations(ontology, label)) {
if (annotation.getValue() instanceof OWLLiteral) {
OWLLiteral val = (OWLLiteral) annotation.getValue();
className = val.getLiteral();
}
if (cls.getAnnotations(ontology, label).size() != 1) {
throw new UnexpectedOntologyStructureException("More than one label for class " + cls);
}
}
if (className != null) {
return className;
} else {
throw new UnexpectedOntologyStructureException("There is no label for class " + cls);
}
}
use of org.semanticweb.owlapi.model.OWLLiteral in project stanbol by apache.
the class OntologyNetworkConfigurationUtils method getScopesToActivate.
/**
* Get the list of scopes to activate on startup
*
* @param config
* @return
*/
public static String[] getScopesToActivate(OWLOntology config) {
Set<OWLIndividual> scopes = cScope.getIndividuals(config);
List<String> result = new ArrayList<String>();
boolean doActivate = false;
for (OWLIndividual iScope : scopes) {
Set<OWLLiteral> activate = iScope.getDataPropertyValues(activateOnStart, config);
Iterator<OWLLiteral> it = activate.iterator();
while (it.hasNext() && !doActivate) {
OWLLiteral l = it.next();
doActivate |= Boolean.parseBoolean(l.getLiteral());
}
if (iScope.isNamed() && doActivate)
result.add(((OWLNamedIndividual) iScope).getIRI().toString());
}
return result.toArray(EMPTY_IRI_ARRAY);
}
use of org.semanticweb.owlapi.model.OWLLiteral 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);
}
}
Aggregations