Skip to content

Commit 5f38adf

Browse files
committed
refactor PropertyComparisonProcessor (WIP)
1 parent a3832be commit 5f38adf

File tree

4 files changed

+37
-42
lines changed

4 files changed

+37
-42
lines changed

abecto-core/src/main/java/de/uni_jena/cs/fusion/abecto/measure/PerDatasetCount.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,16 +20,29 @@
2020

2121
import de.uni_jena.cs.fusion.abecto.Aspect;
2222
import de.uni_jena.cs.fusion.abecto.Metadata;
23+
import de.uni_jena.cs.fusion.abecto.vocabulary.AV;
24+
import de.uni_jena.cs.fusion.abecto.vocabulary.OM;
2325
import org.apache.jena.rdf.model.Model;
2426
import org.apache.jena.rdf.model.Resource;
2527

28+
import java.util.HashMap;
2629
import java.util.Map;
2730

2831
public class PerDatasetCount extends Count<Resource> {
32+
2933
public PerDatasetCount(Resource quantity, Resource unit) {
3034
super(quantity, unit);
3135
}
3236

37+
public static <K> Map<K, PerDatasetCount> mapOfCounts(Iterable<K> keys, Resource quantity, Resource unit) {
38+
Map<K, PerDatasetCount> mapOfCounts = new HashMap<>();
39+
for (K key : keys) {
40+
PerDatasetCount countOfVariable = new PerDatasetCount(quantity, unit);
41+
mapOfCounts.put(key, countOfVariable);
42+
}
43+
return mapOfCounts;
44+
}
45+
3346
public void storeInModel(Aspect aspect, Map<Resource, Model> outputModelsMap) {
3447
for (Resource dataset : keySet()) {
3548
Metadata.addQualityMeasurement(quantity, get(dataset), unit, dataset, aspect.getIri(),

abecto-core/src/main/java/de/uni_jena/cs/fusion/abecto/measure/PerDatasetPairCount.java

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,10 @@
2121
import de.uni_jena.cs.fusion.abecto.Aspect;
2222
import de.uni_jena.cs.fusion.abecto.Metadata;
2323
import de.uni_jena.cs.fusion.abecto.ResourcePair;
24-
import de.uni_jena.cs.fusion.abecto.vocabulary.AV;
25-
import de.uni_jena.cs.fusion.abecto.vocabulary.OM;
2624
import org.apache.jena.rdf.model.Model;
2725
import org.apache.jena.rdf.model.Resource;
2826

27+
import java.util.HashMap;
2928
import java.util.Map;
3029

3130
public class PerDatasetPairCount extends Count<ResourcePair> {
@@ -34,6 +33,15 @@ public PerDatasetPairCount(Resource quantity, Resource unit) {
3433
super(quantity, unit);
3534
}
3635

36+
public static <K> Map<K, PerDatasetPairCount> mapOfCounts(Iterable<K> keys, Resource quantity, Resource unit) {
37+
Map<K, PerDatasetPairCount> mapOfCounts = new HashMap<>();
38+
for (K key : keys) {
39+
PerDatasetPairCount countOfVariable = new PerDatasetPairCount(quantity, unit);
40+
mapOfCounts.put(key, countOfVariable);
41+
}
42+
return mapOfCounts;
43+
}
44+
3745
public void storeInModel(Aspect aspect, Map<Resource, Model> outputModelsMap) {
3846
storeInModelWithVariable(aspect, null, outputModelsMap);
3947
}

abecto-core/src/main/java/de/uni_jena/cs/fusion/abecto/measure/PerDatasetTupelRatio.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
import org.apache.jena.rdf.model.Resource;
2727

2828
import java.math.BigDecimal;
29+
import java.util.HashMap;
2930
import java.util.Map;
3031

3132
public class PerDatasetTupelRatio extends Ratio<ResourceTupel> {
@@ -34,6 +35,15 @@ public PerDatasetTupelRatio(Resource quantity, Resource unit) {
3435
super(quantity, unit);
3536
}
3637

38+
public static <K> Map<K, PerDatasetTupelRatio> mapOfRatios(Iterable<K> keys, Resource quantity, Resource unit) {
39+
Map<K, PerDatasetTupelRatio> mapOfCounts = new HashMap<>();
40+
for (K key : keys) {
41+
PerDatasetTupelRatio ratioOfVariable = new PerDatasetTupelRatio(quantity, unit);
42+
mapOfCounts.put(key, ratioOfVariable);
43+
}
44+
return mapOfCounts;
45+
}
46+
3747
public void setRatioOf(PerDatasetPairCount numerators, PerDatasetCount denominators) {
3848
for (ResourcePair pair : numerators.keySet()) {
3949
BigDecimal numerator = BigDecimal.valueOf(numerators.get(pair));

abecto-core/src/main/java/de/uni_jena/cs/fusion/abecto/processor/PropertyComparisonProcessor.java

Lines changed: 4 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -155,46 +155,10 @@ private void setAspectDatasets() {
155155
}
156156

157157
private void initializeMeasures() {
158-
initializeCount();
159-
initializeDeduplicatedCount();
160-
initializeAbsoluteCoverage();
161-
initializeRelativeCoverage();
162-
initializeCompleteness();
163-
}
164-
165-
private void initializeCount() {
166-
count = new HashMap<>();
167-
for (String variable : variables) {
168-
PerDatasetCount countOfVariable = new PerDatasetCount(AV.count, OM.one);
169-
count.put(variable, countOfVariable);
170-
}
171-
}
172-
173-
private void initializeDeduplicatedCount() {
174-
deduplicatedCount = new HashMap<>();
175-
for (String variable : variables) {
176-
PerDatasetCount deduplicatedCountOfVariable = new PerDatasetCount(AV.deduplicatedCount, OM.one);
177-
deduplicatedCount.put(variable, deduplicatedCountOfVariable);
178-
}
179-
}
180-
181-
private void initializeAbsoluteCoverage() {
182-
absoluteCoverage = new HashMap<>();
183-
for (String variable : variables) {
184-
PerDatasetPairCount absoluteCoverageOfVariable = new PerDatasetPairCount(AV.absoluteCoverage, OM.one);
185-
absoluteCoverage.put(variable, absoluteCoverageOfVariable);
186-
}
187-
}
188-
189-
private void initializeRelativeCoverage() {
190-
relativeCoverage = new HashMap<>();
191-
for (String variable : variables) {
192-
PerDatasetTupelRatio relativeCoverageOfVariable = new PerDatasetTupelRatio(AV.relativeCoverage, OM.one);
193-
relativeCoverage.put(variable, relativeCoverageOfVariable);
194-
}
195-
}
196-
197-
private void initializeCompleteness() {
158+
count = PerDatasetCount.mapOfCounts(variables, AV.count, OM.one);
159+
deduplicatedCount = PerDatasetCount.mapOfCounts(variables, AV.deduplicatedCount, OM.one);
160+
absoluteCoverage = PerDatasetPairCount.mapOfCounts(variables, AV.absoluteCoverage, OM.one);
161+
relativeCoverage = PerDatasetTupelRatio.mapOfRatios(variables, AV.relativeCoverage, OM.one);
198162
completeness = new HashMap<>();
199163
}
200164

0 commit comments

Comments
 (0)