@Override public MappingWithProvenance convert(SQLPPMapping ppMapping, RDBMetadata dbMetadata, ExecutorRegistry executorRegistry) throws InvalidMappingSourceQueriesException { ImmutableMap<CQIE, PPMappingAssertionProvenance> datalogMap = convertIntoDatalog(ppMapping, dbMetadata); return mappingConverter.convertMappingRules(datalogMap, ppMapping.getMetadata()); }
@Override public MappingWithProvenance convert(SQLPPMapping ppMapping, RDBMetadata dbMetadata, ExecutorRegistry executorRegistry) throws InvalidMappingSourceQueriesException { ImmutableMap<CQIE, PPMappingAssertionProvenance> datalogMap = convertIntoDatalog(ppMapping, dbMetadata); return mappingConverter.convertMappingRules(datalogMap, dbMetadata, executorRegistry, ppMapping.getMetadata()); }
@Override public Mapping saturate(Mapping mapping, DBMetadata dbMetadata, ClassifiedTBox saturatedTBox) { ImmutableList<LinearInclusionDependency> foreignKeyRules = dbMetadata.getDatabaseRelations().stream() .map(r -> r.getForeignKeys()) .flatMap(List::stream) .map(fk -> getLinearInclusionDependency(fk)) .collect(ImmutableCollectors.toList()); CQContainmentCheckUnderLIDs foreignKeyCQC = new CQContainmentCheckUnderLIDs(foreignKeyRules, datalogFactory, unifierUtilities, substitutionUtilities, termFactory); ImmutableList<CQIE> initialMappingRules = mapping2DatalogConverter.convert(mapping) .collect(ImmutableCollectors.toList()); ImmutableSet<CQIE> saturatedMappingRules = ImmutableSet.copyOf( tMappingProcessor.getTMappings(initialMappingRules, saturatedTBox, foreignKeyCQC, tMappingExclusionConfig)); return datalog2MappingConverter.convertMappingRules(ImmutableList.copyOf(saturatedMappingRules), mapping.getMetadata()); }
@Override public Mapping rewrite(Mapping mapping, DBMetadata dbMetadata) { ImmutableList<CQIE> inputMappingRules = mapping2DatalogConverter.convert(mapping).collect(ImmutableCollectors.toList()); List<CQIE> canonicalRules = new CanonicalIRIRewriter().buildCanonicalIRIMappings(inputMappingRules); return datalog2MappingConverter.convertMappingRules(ImmutableList.copyOf(canonicalRules), dbMetadata, mapping.getExecutorRegistry(), mapping.getMetadata()); } }
@Override public Mapping saturate(Mapping mapping, DBMetadata dbMetadata, ClassifiedTBox saturatedTBox) { ImmutableList<CQIE> initialMappingRules = mapping2DatalogConverter.convert(mapping) .collect(ImmutableCollectors.toList()); LinearInclusionDependencies foreignKeyRules = new LinearInclusionDependencies(dbMetadata.generateFKRules()); CQContainmentCheckUnderLIDs foreignKeyCQC = new CQContainmentCheckUnderLIDs(foreignKeyRules); ImmutableSet<CQIE> saturatedMappingRules = TMappingProcessor.getTMappings(initialMappingRules, saturatedTBox, foreignKeyCQC, tMappingExclusionConfig).stream() .collect(ImmutableCollectors.toSet()); List<CQIE> allMappingRules = new ArrayList<>(saturatedMappingRules); allMappingRules.addAll(generateTripleMappings(saturatedMappingRules)); return datalog2MappingConverter.convertMappingRules(ImmutableList.copyOf(allMappingRules), dbMetadata, mapping.getExecutorRegistry(), mapping.getMetadata()); }
@Override public Mapping rewrite(Mapping mapping, DBMetadata dbMetadata) { if(enabled){ ImmutableList<CQIE> rules = mapping2DatalogConverter.convert(mapping) .collect(ImmutableCollectors.toList()); ImmutableList<CQIE> updatedRules = MappingSameAs.addSameAsInverse(rules); return datalog2MappingConverter.convertMappingRules(updatedRules, dbMetadata, mapping.getExecutorRegistry(), mapping.getMetadata()); } return mapping; } }
@Override public Mapping convert(OntologyABox ontology, boolean isOntologyAnnotationQueryingEnabled, UriTemplateMatcher uriTemplateMatcher) { List<AnnotationAssertion> annotationAssertions = isOntologyAnnotationQueryingEnabled ? ontology.getAnnotationAssertions() : Collections.emptyList(); // Mutable !! // UriTemplateMatcher uriTemplateMatcher = UriTemplateMatcher.create(Stream.empty()); ImmutableList<CQIE> rules = convertAssertions( ontology.getClassAssertions(), ontology.getObjectPropertyAssertions(), ontology.getDataPropertyAssertions(), annotationAssertions, uriTemplateMatcher ); return datalog2QueryMappingConverter.convertMappingRules( rules, mappingFactory.createMetadata( //TODO: parse the ontology prefixes ?? mappingFactory.createPrefixManager(ImmutableMap.of()), uriTemplateMatcher )); }
typeCompletion.insertDataTyping(rule); return datalog2MappingConverter.convertMappingRules(ruleMap, mapping.getMetadata());
); return datalog2QueryMappingConverter.convertMappingRules( rules, dummyDBMetadata,
typeCompletion.insertDataTyping(rule); return datalog2MappingConverter.convertMappingRules(ruleMap, dbMetadata, mapping.getExecutorRegistry(), mapping.getMetadata());