diff --git a/CHANGELOG.md b/CHANGELOG.md index 3508873..8750f72 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,7 +6,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), ## [Unreleased] ### Fixed -* fix `PopulationComparisonProcessor`: fix measurement of **Absolute Coveredness** to not increase in case of a duplicated resource in one dataset without a corresponding resource in any other dataset +* fix `PopulationComparisonProcessor`: fix measurement of **Absolute Coveredness** to not increase in case of a duplicated resource in one dataset without a corresponding resource in any other dataset + +### Changed +* changed `PropertyComparisonProcessor`: use deduplicated values for determining deviations and omissions to avoid duplicated reporting ## [3.1.1] - 2024-11-13 diff --git a/abecto-core/src/main/java/de/uni_jena/cs/fusion/abecto/processor/PropertyComparisonProcessor.java b/abecto-core/src/main/java/de/uni_jena/cs/fusion/abecto/processor/PropertyComparisonProcessor.java index 09a8b3b..6b8deda 100644 --- a/abecto-core/src/main/java/de/uni_jena/cs/fusion/abecto/processor/PropertyComparisonProcessor.java +++ b/abecto-core/src/main/java/de/uni_jena/cs/fusion/abecto/processor/PropertyComparisonProcessor.java @@ -380,16 +380,16 @@ protected void reportDeviationsAndOmissions() { protected void reportDeviationsAndOmissionsForDatasetPair(ResourcePair datasetPair) { for (String variable : variables) { - Map>> resourcesByNonDistinctValueByDataset = resourcesByNonDistinctValueByDatasetByVariable.get(variable); + Map>> resourcesByDistinctValueByDataset = resourcesByDistinctValueByDatasetByVariable.get(variable); if (theAspect.variableCoveredByDatasets(variable, datasetPair.first, datasetPair.second)) { - Map> resourceByNonDistinctValuesOfFirstDataset = resourcesByNonDistinctValueByDataset.get(datasetPair.first); - Map> resourceByNonDistinctValuesOfSecondDataset = resourcesByNonDistinctValueByDataset.get(datasetPair.second); + Map> resourceByDistinctValuesOfFirstDataset = resourcesByDistinctValueByDataset.get(datasetPair.first); + Map> resourceByDistinctValuesOfSecondDataset = resourcesByDistinctValueByDataset.get(datasetPair.second); for (Resource firstResource : correspondingResourcesByDataset.get(datasetPair.first)) { for (Resource secondResource : correspondingResourcesByDataset.get(datasetPair.second)) { Set uncoveredValuesOfFirstResource = - getUncoveredValuesOfResource(firstResource, secondResource, resourceByNonDistinctValuesOfFirstDataset, resourceByNonDistinctValuesOfSecondDataset); + getUncoveredValuesOfResource(firstResource, secondResource, resourceByDistinctValuesOfFirstDataset, resourceByDistinctValuesOfSecondDataset); Set uncoveredValuesOfSecondResource = - getUncoveredValuesOfResource(secondResource, firstResource, resourceByNonDistinctValuesOfSecondDataset, resourceByNonDistinctValuesOfFirstDataset); + getUncoveredValuesOfResource(secondResource, firstResource, resourceByDistinctValuesOfSecondDataset, resourceByDistinctValuesOfFirstDataset); // deviation: a pair of resources with each having a value not present in the // other resource