CollectRDFVocabulary(RDF rdfFactory) { this.vb = OntologyBuilderImpl.builder(rdfFactory); }
/** * Include all imports and load then into a single translated merge. * * @param owl * @return */ public Ontology translateAndClassify(OWLOntology owl) { Set<OWLOntology> owls = owl.getOWLOntologyManager().getImportsClosure(owl); log.debug("Load ontologies called. Translating {} ontologies.", owls.size()); OntologyBuilder builder = OntologyBuilderImpl.builder(rdfFactory); for (OWLOntology o : owls) { extractOntoloyVocabulary(o, builder); } for (OWLOntology o : owls) { OWLAxiomVisitorImpl visitor = new OWLAxiomVisitorImpl(o, builder); for (OWLAxiom axiom : o.getAxioms()) { axiom.accept(visitor); } } Ontology onto = builder.build(); log.debug("Ontology loaded: {}", onto); return onto; }
@Override public OBDASpecification transform(Mapping mapping, DBMetadata dbMetadata, Optional<Ontology> ontology) { if (ontology.isPresent()) { Mapping factsAsMapping = factConverter.convert(ontology.get().abox(), settings.isOntologyAnnotationQueryingEnabled(), mapping.getMetadata().getUriTemplateMatcher()); Mapping mappingWithFacts = mappingMerger.merge(mapping, factsAsMapping); return createSpecification(mappingWithFacts, dbMetadata, ontology.get().tbox()); } else { ClassifiedTBox emptyTBox = OntologyBuilderImpl.builder(rdfFactory).build().tbox(); return createSpecification(mapping, dbMetadata, emptyTBox); } }
@Override public OBDASpecification transform(Mapping mapping, DBMetadata dbMetadata, Optional<Ontology> ontology) { if (ontology.isPresent()) { Mapping factsAsMapping = factConverter.convert(ontology.get().abox(), mapping.getExecutorRegistry(), settings.isOntologyAnnotationQueryingEnabled(), mapping.getMetadata().getUriTemplateMatcher()); Mapping mappingWithFacts = mappingMerger.merge(mapping, factsAsMapping); return createSpecification(mappingWithFacts, dbMetadata, ontology.get().tbox()); } else { ClassifiedTBox emptyTBox = OntologyBuilderImpl.builder().build().tbox(); return createSpecification(mapping, dbMetadata, emptyTBox); } }