package uk.ac.ebi.fg.myequivalents.rdf.java2rdf.mapping; import static uk.ac.ebi.fg.java2rdf.utils.NamespaceUtils.uri; import static uk.ac.ebi.fg.java2rdf.utils.OwlApiUtils.assertLink; import java.util.Map; import org.semanticweb.owlapi.model.OWLOntology; import uk.ac.ebi.fg.java2rdf.mapping.BeanRdfMapper; import uk.ac.ebi.fg.java2rdf.mapping.ObjRdfMapper; import uk.ac.ebi.fg.java2rdf.mapping.RdfMapperFactory; import uk.ac.ebi.fg.java2rdf.mapping.urigen.RdfUriGenerator; import uk.ac.ebi.fg.myequivalents.managers.interfaces.EntityMappingSearchResult; import uk.ac.ebi.fg.myequivalents.managers.interfaces.EntityMappingSearchResult.Bundle; import uk.ac.ebi.fg.myequivalents.model.Entity; /** * TODO: comment me! * * @author brandizi * <dl><dt>Date:</dt><dd>18 Feb 2016</dd></dl> * */ public class BundleRdfMapper extends ObjRdfMapper<EntityMappingSearchResult.Bundle> { @Override public boolean map ( Bundle bundle, Map<String, Object> params ) { if ( bundle == null ) return false; RdfMapperFactory mapFactory = this.getMapperFactory (); BeanRdfMapper<Entity> emapper = (BeanRdfMapper<Entity>) mapFactory.getMapper ( Entity.class ); RdfUriGenerator<Entity> eUriGen = emapper.getRdfUriGenerator (); String euri0 = null; for ( Entity e: bundle.getEntities () ) { // Let's map the entity emapper.map ( e, params ); // Let's state the equivalence String euri = eUriGen.getUri ( e, params ); // Let's state the equivalence if ( euri0 == null ) { euri0 = euri; continue; } RdfMapperFactory mapFact = this.getMapperFactory (); OWLOntology onto = mapFact.getKnowledgeBase (); assertLink ( onto, euri0, uri ( "owl", "sameAs" ), euri ); } return true; } }