use of eu.esdihumboldt.hale.io.oml.internal.goml.omwg.Relation in project hale by halestudio.
the class OmlRdfGenerator method getEntityType.
/**
* converts from IEntity to the Jaxb generated EntityType
*
* @param entity
* @return
*/
private JAXBElement<? extends EntityType> getEntityType(IEntity entity) {
JAXBElement<? extends EntityType> eType = null;
if (entity != null) {
if (entity instanceof Property) {
// instantiate as PropertyType
Property property = (Property) entity;
PropertyType pType = getPropertyType(property);
eType = new JAXBElement<PropertyType>(new QName("http://www.omwg.org/TR/d7/ontology/alignment", "Property"), PropertyType.class, pType);
} else if (entity instanceof FeatureClass) {
// instantiate as ClassType
FeatureClass feature = (FeatureClass) entity;
ClassType cType = getClassType(feature);
eType = new JAXBElement<ClassType>(new QName("http://www.omwg.org/TR/d7/ontology/alignment", "Class"), ClassType.class, cType);
} else if (entity instanceof Relation) {
// instantiate as RelationType
// TODO add implementation, for the next release
} else if (entity instanceof PropertyQualifier) {
// instantiate as PropertyQualifierType
// TODO add implementation, will get the examples from MDV
}
}
return eType;
}
use of eu.esdihumboldt.hale.io.oml.internal.goml.omwg.Relation in project hale by halestudio.
the class OmlRdfReader method getOMLRelation.
/**
* Converts from the JAXB-Based RelationType to the OML Relation
*
* @param relation
* @return
*/
private Relation getOMLRelation(eu.esdihumboldt.hale.io.oml.internal.model.generated.oml.RelationType relationType) {
Relation relation = null;
IAbout about = null;
List<FeatureClass> features = null;
if (relationType != null) {
if (relationType.getAbout() != null) {
about = new About(relationType.getAbout());
}
relation = new Relation(about);
// set label list
if (relation.getLabel() != null) {
relation.setLabel(relationType.getLabel());
}
// set transformation
if (relationType.getTransf() != null) {
relation.setTransformation(getTransformation(relationType.getTransf()));
}
// set Range Restriction
if (relationType.getRangeRestriction() != null) {
features = new ArrayList<FeatureClass>();
features.add(getRangeRestriction(relationType.getRangeRestriction()));
relation.setRangeRestriction(features);
}
// set Domain Restriction
if (relationType.getDomainRestriction() != null) {
features = new ArrayList<FeatureClass>();
features.add(getDomainRestriction(relationType.getDomainRestriction()));
relation.setDomainRestriction(features);
}
}
return relation;
}
use of eu.esdihumboldt.hale.io.oml.internal.goml.omwg.Relation in project hale by halestudio.
the class OmlRdfReader method getRelation.
/**
* Implements casting from the JAXB-Type to the OML Type for the Relation
* element.
*
* @param relation jaxb-generated object
* @return omlRelation
*/
private Relation getRelation(eu.esdihumboldt.hale.io.oml.internal.model.generated.oml.RelationType relation) {
Relation omlRelation = new Relation(new About(""));
if (relation != null) {
// set about
if (relation.getAbout() != null && !relation.getAbout().equals("")) {
omlRelation.setAbout(new About(relation.getAbout()));
}
// set domain restriction
if (relation.getDomainRestriction() != null) {
FeatureClass domainRestriction = getDomainRestriction(relation.getDomainRestriction());
ArrayList<FeatureClass> domainRestrictions = new ArrayList<FeatureClass>();
domainRestrictions.add(domainRestriction);
omlRelation.setDomainRestriction(domainRestrictions);
}
// set label
if (relation.getLabel() != null && relation.getLabel().size() > 0) {
omlRelation.setLabel(relation.getLabel());
}
// set transformation
if (relation.getTransf() != null) {
omlRelation.setTransformation(getTransformation(relation.getTransf()));
}
// set Range Restriction
if (relation.getRangeRestriction() != null) {
FeatureClass omlRangeRestriction = getRangeRestriction(relation.getRangeRestriction());
List<FeatureClass> omlRangeRestrictions = new ArrayList<FeatureClass>();
omlRangeRestrictions.add(omlRangeRestriction);
omlRelation.setRangeRestriction(omlRangeRestrictions);
}
}
return omlRelation;
}
Aggregations