/*******************************************************************************
* Copyright 2012 Universidad Politécnica de Madrid
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
******************************************************************************/
package org.universAAL.ontology.disease.owl;
import org.universAAL.middleware.owl.DataRepOntology;
import org.universAAL.middleware.owl.ManagedIndividual;
import org.universAAL.middleware.owl.MergedRestriction;
import org.universAAL.middleware.owl.OntClassInfoSetup;
import org.universAAL.middleware.owl.Ontology;
import org.universAAL.middleware.rdf.Resource;
import org.universAAL.middleware.rdf.TypeMapper;
import org.universAAL.middleware.service.owl.ServiceBusOntology;
import org.universAAL.ontology.ICD10CirculatorySystemDiseases.owl.AcuteRheumaticFever;
import org.universAAL.ontology.ICD10CirculatorySystemDiseases.owl.HeartFailure;
import org.universAAL.ontology.ICD10CirculatorySystemDiseases.owl.HypertensiveDisease;
import org.universAAL.ontology.ICD10CirculatorySystemDiseases.owl.IschemicHeartDisease;
import org.universAAL.ontology.ICD10CirculatorySystemDiseases.owl.OtherCirculatorySystemDisease;
import org.universAAL.ontology.ICD10Diseases.owl.CertainInfectiousParasiticDisease;
import org.universAAL.ontology.ICD10Diseases.owl.CirculatorySystemDisease;
import org.universAAL.ontology.ICD10Diseases.owl.DigestiveSystemDisease;
import org.universAAL.ontology.ICD10Diseases.owl.MentalDisorder;
import org.universAAL.ontology.ICD10Diseases.owl.Neoplasms;
import org.universAAL.ontology.ICD10Diseases.owl.NervousSystemDisease;
import org.universAAL.ontology.ICD10Diseases.owl.RespiratorySystemDisease;
import org.universAAL.ontology.disease.DiseaseFactory;
import org.universAAL.ontology.location.LocationOntology;
/**
* @author AAL Studio
*/
public final class DiseaseOntology extends Ontology {
private static DiseaseFactory factory = new DiseaseFactory();
public static final String NAMESPACE = "http://ontology.universAAL.org/Disease.owl#";
public DiseaseOntology() {
super(NAMESPACE);
}
public void create() {
Resource r = getInfo();
r.setResourceComment("This ontology defines the concept of 'Disease'");
r.setResourceLabel("DiseaseOntology");
addImport(DataRepOntology.NAMESPACE);
addImport(ServiceBusOntology.NAMESPACE);
addImport(LocationOntology.NAMESPACE);
OntClassInfoSetup oci_DiseaseSeverityStatus;
OntClassInfoSetup oci_DiseaseTimeEvolvingStatus;
// ******* Enumeration classes of the ontology ******* //
// load DiseaseSeverityStatus
oci_DiseaseSeverityStatus = createNewAbstractOntClassInfo(DiseaseSeverityStatus.MY_URI);
oci_DiseaseSeverityStatus
.setResourceComment("This class defines the types of possible status stages of the disease: mild, seriously ill, chronic, critical, terminal.");
oci_DiseaseSeverityStatus.setResourceLabel("StatusType");
oci_DiseaseSeverityStatus.toEnumeration(new ManagedIndividual[] {
DiseaseSeverityStatus.mild, DiseaseSeverityStatus.severe,
DiseaseSeverityStatus.fatal });
// load DiseaseTimeEvolvingStatus
oci_DiseaseTimeEvolvingStatus = createNewAbstractOntClassInfo(DiseaseTimeEvolvingStatus.MY_URI);
oci_DiseaseTimeEvolvingStatus
.setResourceComment("This class defines the types of possible status stages of the disease: mild, seriously ill, chronic, critical, terminal.");
oci_DiseaseTimeEvolvingStatus.setResourceLabel("StatusType");
oci_DiseaseTimeEvolvingStatus.toEnumeration(new ManagedIndividual[] {
DiseaseTimeEvolvingStatus.acute,
DiseaseTimeEvolvingStatus.chronic });
// ******* Declaration of regular classes of the ontology ******* //
OntClassInfoSetup oci_Disease = createNewOntClassInfo(Disease.MY_URI,
factory, 0);
OntClassInfoSetup oci_Epidemiology = createNewOntClassInfo(
Epidemiology.MY_URI, factory, 1);
OntClassInfoSetup oci_Etiology = createNewOntClassInfo(Etiology.MY_URI,
factory, 2);
OntClassInfoSetup oci_Patogeny = createNewOntClassInfo(Patogeny.MY_URI,
factory, 3);
OntClassInfoSetup oci_Sympthom = createNewOntClassInfo(Sympthom.MY_URI,
factory, 4);
OntClassInfoSetup oci_Pronostic = createNewOntClassInfo(
Pronostic.MY_URI, factory, 5);
OntClassInfoSetup oci_Diagnostic = createNewOntClassInfo(
Diagnostic.MY_URI, factory, 6);
OntClassInfoSetup oci_CertainInfectiousParasiticDisease = createNewOntClassInfo(
CertainInfectiousParasiticDisease.MY_URI, factory, 7);
OntClassInfoSetup oci_CirculatorySystemDisease = createNewOntClassInfo(
CirculatorySystemDisease.MY_URI, factory, 8);
OntClassInfoSetup oci_DigestiveSystemDisease = createNewOntClassInfo(
DigestiveSystemDisease.MY_URI, factory, 9);
OntClassInfoSetup oci_MentalDisorder = createNewOntClassInfo(
MentalDisorder.MY_URI, factory, 10);
OntClassInfoSetup oci_Neoplasms = createNewOntClassInfo(
Neoplasms.MY_URI, factory, 11);
OntClassInfoSetup oci_NervousSystemDisease = createNewOntClassInfo(
NervousSystemDisease.MY_URI, factory, 12);
OntClassInfoSetup oci_RespiratorySystemDisease = createNewOntClassInfo(
RespiratorySystemDisease.MY_URI, factory, 13);
OntClassInfoSetup oci_AcuteRheumaticFever = createNewOntClassInfo(
AcuteRheumaticFever.MY_URI, factory, 14);
OntClassInfoSetup oci_HeartFailure = createNewOntClassInfo(
HeartFailure.MY_URI, factory, 15);
OntClassInfoSetup oci_HypertensiveDisease = createNewOntClassInfo(
HypertensiveDisease.MY_URI, factory, 16);
OntClassInfoSetup oci_IschemicHeartDisease = createNewOntClassInfo(
IschemicHeartDisease.MY_URI, factory, 17);
OntClassInfoSetup oci_OtherCirculatorySystemDisease = createNewOntClassInfo(
OtherCirculatorySystemDisease.MY_URI, factory, 18);
// ******* Add content to regular classes of the ontology ******* //
oci_Epidemiology.setResourceComment("");
oci_Epidemiology.setResourceLabel("");
oci_Epidemiology.addSuperClass(ManagedIndividual.MY_URI);
oci_Epidemiology.setResourceComment("");
oci_Epidemiology.setResourceLabel("Epidemiology");
oci_Epidemiology.addSuperClass(ManagedIndividual.MY_URI);
oci_Etiology.setResourceComment("");
oci_Etiology.setResourceLabel("Etiology");
oci_Etiology.addSuperClass(ManagedIndividual.MY_URI);
oci_Patogeny.setResourceComment("");
oci_Patogeny.setResourceLabel("Patogeny");
oci_Patogeny.addSuperClass(ManagedIndividual.MY_URI);
oci_Sympthom.setResourceComment("");
oci_Sympthom.setResourceLabel("Sympthom");
oci_Sympthom.addSuperClass(ManagedIndividual.MY_URI);
oci_Pronostic.setResourceComment("");
oci_Pronostic.setResourceLabel("Sympthom");
oci_Pronostic.addSuperClass(ManagedIndividual.MY_URI);
oci_Diagnostic.setResourceComment("");
oci_Diagnostic.setResourceLabel("Sympthom");
oci_Diagnostic.addSuperClass(ManagedIndividual.MY_URI);
oci_Disease.setResourceComment("");
oci_Disease.setResourceLabel("Disease");
oci_Disease.addSuperClass(ManagedIndividual.MY_URI);
oci_Disease.addDatatypeProperty(Disease.PROP_NAME).setFunctional();
oci_Disease.addRestriction(MergedRestriction
.getAllValuesRestrictionWithCardinality(Disease.PROP_NAME,
TypeMapper.getDatatypeURI(String.class), 1, 1));
oci_Disease.addObjectProperty(Disease.PROP_SYMPTHOMS);
oci_Disease.addRestriction(MergedRestriction.getAllValuesRestriction(
Disease.PROP_SYMPTHOMS, Sympthom.MY_URI));
oci_Disease.addObjectProperty(Disease.PROP_DISEASE_STATUS)
.setFunctional();
oci_Disease.addRestriction(MergedRestriction
.getAllValuesRestrictionWithCardinality(
Disease.PROP_DISEASE_STATUS,
DiseaseSeverityStatus.MY_URI, 1, 1));
oci_Disease.addObjectProperty(Disease.PROP_ETIOLOGY);
oci_Disease.addRestriction(MergedRestriction
.getAllValuesRestrictionWithCardinality(Disease.PROP_ETIOLOGY,
Etiology.MY_URI, 1, 1));
oci_Disease.addObjectProperty(Disease.PROP_PATOGENY);
oci_Disease.addRestriction(MergedRestriction
.getAllValuesRestrictionWithCardinality(Disease.PROP_PATOGENY,
Patogeny.MY_URI, 1, 1));
oci_Disease.addObjectProperty(Disease.PROP_EPIDEMIOLOGY);
oci_Disease.addRestriction(MergedRestriction
.getAllValuesRestrictionWithCardinality(
Disease.PROP_EPIDEMIOLOGY, Epidemiology.MY_URI, 1, 1));
oci_Disease.addObjectProperty(Disease.PROP_DIAGNOSTIC);
oci_Disease.addRestriction(MergedRestriction
.getAllValuesRestrictionWithCardinality(
Disease.PROP_DIAGNOSTIC, Diagnostic.MY_URI, 1, 1));
oci_Disease.addObjectProperty(Disease.PROP_PRONOSTIC);
oci_Disease.addRestriction(MergedRestriction
.getAllValuesRestrictionWithCardinality(Disease.PROP_PRONOSTIC,
Pronostic.MY_URI, 1, 1));
oci_Disease.addDatatypeProperty(Disease.PROP_CONTAGIOUS)
.setFunctional();
oci_Disease.addRestriction(MergedRestriction
.getAllValuesRestrictionWithCardinality(
Disease.PROP_CONTAGIOUS, TypeMapper
.getDatatypeURI(Boolean.class), 1, 1));
oci_CertainInfectiousParasiticDisease.setResourceComment("");
oci_CertainInfectiousParasiticDisease.setResourceLabel("");
oci_CertainInfectiousParasiticDisease.addSuperClass(Disease.MY_URI);
oci_CirculatorySystemDisease.setResourceComment("");
oci_CirculatorySystemDisease.setResourceLabel("");
oci_CirculatorySystemDisease.addSuperClass(Disease.MY_URI);
oci_DigestiveSystemDisease.setResourceComment("");
oci_DigestiveSystemDisease.setResourceLabel("");
oci_DigestiveSystemDisease.addSuperClass(Disease.MY_URI);
oci_MentalDisorder.setResourceComment("");
oci_MentalDisorder.setResourceLabel("");
oci_MentalDisorder.addSuperClass(Disease.MY_URI);
oci_Neoplasms.setResourceComment("");
oci_Neoplasms.setResourceLabel("");
oci_Neoplasms.addSuperClass(Disease.MY_URI);
oci_NervousSystemDisease.setResourceComment("");
oci_NervousSystemDisease.setResourceLabel("");
oci_NervousSystemDisease.addSuperClass(Disease.MY_URI);
oci_RespiratorySystemDisease.setResourceComment("");
oci_RespiratorySystemDisease.setResourceLabel("");
oci_RespiratorySystemDisease.addSuperClass(Disease.MY_URI);
oci_AcuteRheumaticFever.setResourceComment("");
oci_AcuteRheumaticFever.setResourceLabel("");
oci_AcuteRheumaticFever.addSuperClass(CirculatorySystemDisease.MY_URI);
oci_HypertensiveDisease.setResourceComment("");
oci_HypertensiveDisease.setResourceLabel("");
oci_HypertensiveDisease.addSuperClass(CirculatorySystemDisease.MY_URI);
oci_IschemicHeartDisease.setResourceComment("");
oci_IschemicHeartDisease.setResourceLabel("");
oci_IschemicHeartDisease.addSuperClass(CirculatorySystemDisease.MY_URI);
oci_OtherCirculatorySystemDisease.setResourceComment("");
oci_OtherCirculatorySystemDisease.setResourceLabel("");
oci_OtherCirculatorySystemDisease
.addSuperClass(CirculatorySystemDisease.MY_URI);
oci_HeartFailure.setResourceComment("");
oci_HeartFailure.setResourceLabel("");
oci_HeartFailure.addSuperClass(OtherCirculatorySystemDisease.MY_URI);
}
}