diff --git a/jedai-core/pom.xml b/jedai-core/pom.xml index cd8e9d0a..13b0572f 100644 --- a/jedai-core/pom.xml +++ b/jedai-core/pom.xml @@ -73,20 +73,6 @@ 3.1.0 - - - org.apache.lucene - lucene-core - 6.0.1 - - - - - org.apache.lucene - lucene-analyzers-common - 6.0.1 - - com.opencsv diff --git a/jedai-core/src/main/java/BlockBuilding/AbstractBlockBuilding.java b/jedai-core/src/main/java/BlockBuilding/AbstractBlockBuilding.java index d398d707..a469e62d 100644 --- a/jedai-core/src/main/java/BlockBuilding/AbstractBlockBuilding.java +++ b/jedai-core/src/main/java/BlockBuilding/AbstractBlockBuilding.java @@ -1,19 +1,18 @@ /* -* Copyright [2016] [George Papadakis (gpapadis@yahoo.gr)] -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - + * Copyright [2016] [George Papadakis (gpapadis@yahoo.gr)] + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ package BlockBuilding; import DataModel.AbstractBlock; @@ -22,34 +21,15 @@ import DataModel.EntityProfile; import DataModel.UnilateralBlock; import Utilities.Converter; -import java.io.IOException; + import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Map.Entry; import java.util.Set; import java.util.logging.Level; import java.util.logging.Logger; -import org.apache.lucene.analysis.Analyzer; -import org.apache.lucene.analysis.core.SimpleAnalyzer; -import org.apache.lucene.document.Document; -import org.apache.lucene.document.Field; -import org.apache.lucene.document.StoredField; -import org.apache.lucene.document.StringField; -import org.apache.lucene.index.DirectoryReader; -import org.apache.lucene.index.Fields; -import org.apache.lucene.index.IndexReader; -import org.apache.lucene.index.IndexWriter; -import org.apache.lucene.index.IndexWriterConfig; -import org.apache.lucene.index.MultiFields; -import org.apache.lucene.index.PostingsEnum; -import org.apache.lucene.index.Term; -import org.apache.lucene.index.Terms; -import org.apache.lucene.index.TermsEnum; -import org.apache.lucene.search.DocIdSetIterator; -import org.apache.lucene.store.Directory; -import org.apache.lucene.store.RAMDirectory; -import org.apache.lucene.util.BytesRef; /** * @@ -63,10 +43,10 @@ public abstract class AbstractBlockBuilding implements IBlockBuilding { protected double noOfEntitiesD2; protected final List blocks; - protected Directory indexDirectoryD1; - protected Directory indexDirectoryD2; protected List entityProfilesD1; protected List entityProfilesD2; + protected Map> invertedIndexD1; + protected Map> invertedIndexD2; public AbstractBlockBuilding() { blocks = new ArrayList<>(); @@ -75,32 +55,10 @@ public AbstractBlockBuilding() { } protected void buildBlocks() { - setMemoryDirectory(); + indexEntities(invertedIndexD1, entityProfilesD1); - IndexWriter iWriter1 = openWriter(indexDirectoryD1); - indexEntities(iWriter1, entityProfilesD1); - closeWriter(iWriter1); - - if (indexDirectoryD2 != null) { - IndexWriter iWriter2 = openWriter(indexDirectoryD2); - indexEntities(iWriter2, entityProfilesD2); - closeWriter(iWriter2); - } - } - - protected void closeReader(IndexReader iReader) { - try { - iReader.close(); - } catch (IOException ex) { - LOGGER.log(Level.SEVERE, null, ex); - } - } - - protected void closeWriter(IndexWriter iWriter) { - try { - iWriter.close(); - } catch (IOException ex) { - LOGGER.log(Level.SEVERE, null, ex); + if (invertedIndexD2 != null) { + indexEntities(invertedIndexD2, entityProfilesD2); } } @@ -110,7 +68,7 @@ protected void closeWriter(IndexWriter iWriter) { public List getBlocks(List profiles) { return this.getBlocks(profiles, null); } - + @Override public List getBlocks(List profilesD1, List profilesD2) { @@ -120,9 +78,11 @@ public List getBlocks(List profilesD1, return null; } + invertedIndexD1 = new HashMap<>(); entityProfilesD1 = profilesD1; noOfEntitiesD1 = entityProfilesD1.size(); if (profilesD2 != null) { + invertedIndexD2 = new HashMap<>(); entityProfilesD2 = profilesD2; noOfEntitiesD2 = entityProfilesD2.size(); } @@ -138,19 +98,6 @@ public double getBruteForceComparisons() { return noOfEntitiesD1 * noOfEntitiesD2; } - protected int[] getDocumentIds(IndexReader reader) { - int[] documentIds = new int[reader.numDocs()]; - for (int i = 0; i < documentIds.length; i++) { - try { - Document document = reader.document(i); - documentIds[i] = Integer.parseInt(document.get(DOC_ID)); - } catch (IOException ex) { - LOGGER.log(Level.SEVERE, null, ex); - } - } - return documentIds; - } - public double getTotalNoOfEntities() { if (entityProfilesD2 == null) { return noOfEntitiesD1; @@ -158,159 +105,72 @@ public double getTotalNoOfEntities() { return noOfEntitiesD1 + noOfEntitiesD2; } - protected void indexEntities(IndexWriter index, List entities) { - try { - int counter = 0; - for (EntityProfile profile : entities) { - Document doc = new Document(); - doc.add(new StoredField(DOC_ID, counter++)); - for (Attribute attribute : profile.getAttributes()) { - getBlockingKeys(attribute.getValue()).stream().filter((key) -> (0 < key.trim().length())).forEach((key) -> { - doc.add(new StringField(VALUE_LABEL, key.trim(), Field.Store.YES)); - }); + protected void indexEntities(Map> index, List entities) { + int counter = 0; + for (EntityProfile profile : entities) { + for (Attribute attribute : profile.getAttributes()) { + Set keys = getBlockingKeys(attribute.getValue()); + for (String key : keys) { + String normalizedKey = key.trim().toLowerCase(); + if (0 < normalizedKey.length()) { + List entityList = index.get(normalizedKey); + if (entityList == null) { + entityList = new ArrayList<>(); + index.put(normalizedKey, entityList); + } + entityList.add(counter); + } } - index.addDocument(doc); } - } catch (IOException ex) { - LOGGER.log(Level.SEVERE, null, ex); + counter++; } } - public static IndexReader openReader(Directory directory) { - try { - return DirectoryReader.open(directory); - } catch (IOException ex) { - LOGGER.log(Level.SEVERE, null, ex); - return null; - } - } - - protected IndexWriter openWriter(Directory directory) { - try { - Analyzer analyzer = new SimpleAnalyzer(); - IndexWriterConfig config = new IndexWriterConfig(analyzer); - return new IndexWriter(directory, config); - } catch (IOException ex) { - LOGGER.log(Level.SEVERE, null, ex); - return null; - } - } - - protected Map parseD1Index(IndexReader d1Index, IndexReader d2Index) { - try { - int[] documentIds = getDocumentIds(d1Index); - final Map hashedBlocks = new HashMap<>(); - Fields fields = MultiFields.getFields(d1Index); - for (String field : fields) { - Terms terms = fields.terms(field); - TermsEnum termsEnum = terms.iterator(); - BytesRef text; - while ((text = termsEnum.next()) != null) { - // check whether it is a common term - int d2DocFrequency = d2Index.docFreq(new Term(field, text)); - if (d2DocFrequency == 0) { - continue; - } - - final List entityIds = new ArrayList<>(); - PostingsEnum pe = MultiFields.getTermDocsEnum(d1Index, field, text); - int doc; - while ((doc = pe.nextDoc()) != DocIdSetIterator.NO_MORE_DOCS) { - entityIds.add(documentIds[doc]); - } - - int[] idsArray = Converter.convertCollectionToArray(entityIds); - hashedBlocks.put(text.utf8ToString(), idsArray); - } + protected Map parseD1Index() { + final Map hashedBlocks = new HashMap<>(); + for (Entry> entry : invertedIndexD1.entrySet()) { + // check whether it is a common term + if (!invertedIndexD2.containsKey(entry.getKey())) { + continue; } - return hashedBlocks; - } catch (IOException ex) { - LOGGER.log(Level.SEVERE, null, ex); - return null; + + int[] idsArray = Converter.convertCollectionToArray(entry.getValue()); + hashedBlocks.put(entry.getKey(), idsArray); } + return hashedBlocks; } - protected void parseD2Index(IndexReader d2Index, Map hashedBlocks) { - try { - int[] documentIds = getDocumentIds(d2Index); - Fields fields = MultiFields.getFields(d2Index); - for (String field : fields) { - Terms terms = fields.terms(field); - TermsEnum termsEnum = terms.iterator(); - BytesRef text; - while ((text = termsEnum.next()) != null) { - if (!hashedBlocks.containsKey(text.utf8ToString())) { - continue; - } - - final List entityIds = new ArrayList<>(); - PostingsEnum pe = MultiFields.getTermDocsEnum(d2Index, field, text); - int doc; - while ((doc = pe.nextDoc()) != DocIdSetIterator.NO_MORE_DOCS) { - entityIds.add(documentIds[doc]); - } - - int[] idsArray = Converter.convertCollectionToArray(entityIds); - int[] d1Entities = hashedBlocks.get(text.utf8ToString()); - blocks.add(new BilateralBlock(d1Entities, idsArray)); - } + protected void parseD2Index(Map hashedBlocks) { + for (Entry> entry : invertedIndexD2.entrySet()) { + if (!hashedBlocks.containsKey(entry.getKey())) { + continue; } - } catch (IOException ex) { - LOGGER.log(Level.SEVERE, null, ex); + int[] idsArray = Converter.convertCollectionToArray(entry.getValue()); + int[] d1Entities = hashedBlocks.get(entry.getKey()); + blocks.add(new BilateralBlock(d1Entities, idsArray)); } } - protected void parseIndex(IndexReader d1Index) { - try { - int[] documentIds = getDocumentIds(d1Index); - Fields fields = MultiFields.getFields(d1Index); - for (String field : fields) { - Terms terms = fields.terms(field); - TermsEnum termsEnum = terms.iterator(); - BytesRef text; - while ((text = termsEnum.next()) != null) { - if (termsEnum.docFreq() < 2) { - continue; - } - - final List entityIds = new ArrayList<>(); - PostingsEnum pe = MultiFields.getTermDocsEnum(d1Index, field, text); - int doc; - while ((doc = pe.nextDoc()) != DocIdSetIterator.NO_MORE_DOCS) { - entityIds.add(documentIds[doc]); - } - - int[] idsArray = Converter.convertCollectionToArray(entityIds); - UnilateralBlock block = new UnilateralBlock(idsArray); - blocks.add(block); - } + protected void parseIndex() { + for (List entityList : invertedIndexD1.values()) { + if (1 < entityList.size()) { + int[] idsArray = Converter.convertCollectionToArray(entityList); + UnilateralBlock block = new UnilateralBlock(idsArray); + blocks.add(block); } - } catch (IOException ex) { - LOGGER.log(Level.SEVERE, null, ex); } } - + //read blocks from Lucene index public List readBlocks() { - IndexReader iReaderD1 = openReader(indexDirectoryD1); if (entityProfilesD2 == null) { //Dirty ER - parseIndex(iReaderD1); + parseIndex(); } else { - IndexReader iReaderD2 = openReader(indexDirectoryD2); - Map hashedBlocks = parseD1Index(iReaderD1, iReaderD2); - parseD2Index(iReaderD2, hashedBlocks); - closeReader(iReaderD2); + Map hashedBlocks = parseD1Index(); + parseD2Index(hashedBlocks); } - closeReader(iReaderD1); - - return blocks; - } - protected void setMemoryDirectory() { - indexDirectoryD1 = new RAMDirectory(); - if (entityProfilesD2 != null) { - indexDirectoryD2 = new RAMDirectory(); - } + return blocks; } -} \ No newline at end of file +} diff --git a/jedai-core/src/main/java/BlockBuilding/AttributeClusteringBlocking.java b/jedai-core/src/main/java/BlockBuilding/AttributeClusteringBlocking.java index 3e557aef..1c2aaa3b 100644 --- a/jedai-core/src/main/java/BlockBuilding/AttributeClusteringBlocking.java +++ b/jedai-core/src/main/java/BlockBuilding/AttributeClusteringBlocking.java @@ -1,19 +1,18 @@ /* -* Copyright [2016] [George Papadakis (gpapadis@yahoo.gr)] -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - + * Copyright [2016] [George Papadakis (gpapadis@yahoo.gr)] + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ package BlockBuilding; import DataModel.Attribute; @@ -22,7 +21,6 @@ import Utilities.Enumerations.RepresentationModel; import Utilities.Enumerations.SimilarityMetric; -import java.io.IOException; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -32,11 +30,6 @@ import java.util.logging.Level; import java.util.logging.Logger; -import org.apache.lucene.document.Document; -import org.apache.lucene.document.Field; -import org.apache.lucene.document.StoredField; -import org.apache.lucene.document.StringField; -import org.apache.lucene.index.IndexWriter; import org.jgrapht.alg.ConnectivityInspector; import org.jgrapht.graph.DefaultEdge; import org.jgrapht.graph.SimpleGraph; @@ -51,7 +44,7 @@ public class AttributeClusteringBlocking extends StandardBlocking { private final static String CLUSTER_PREFIX = "#$!cl"; private final static String CLUSTER_SUFFIX = "!$#"; private static final Logger LOGGER = Logger.getLogger(AttributeClusteringBlocking.class.getName()); - + private final Map[] attributeClusters; private final RepresentationModel model; private final SimilarityMetric simMetric; @@ -60,7 +53,7 @@ public AttributeClusteringBlocking() { this(RepresentationModel.TOKEN_UNIGRAM_GRAPHS, SimilarityMetric.GRAPH_VALUE_SIMILARITY); LOGGER.log(Level.INFO, "Using default configuration for Attribute Clustering Blocking."); } - + public AttributeClusteringBlocking(RepresentationModel md, SimilarityMetric sMetric) { super(); model = md; @@ -80,21 +73,15 @@ protected void buildBlocks() { SimpleGraph graph = compareAttributes(attributeModels1); clusterAttributes(attributeModels1, graph); } - - setMemoryDirectory(); - IndexWriter iWriter1 = openWriter(indexDirectoryD1); - indexEntities(0, iWriter1, entityProfilesD1); - closeWriter(iWriter1); + indexEntities(0, invertedIndexD1, entityProfilesD1); - if (indexDirectoryD2 != null) { - IndexWriter iWriter2 = openWriter(indexDirectoryD2); - indexEntities(1, iWriter2, entityProfilesD2); - closeWriter(iWriter2); + if (invertedIndexD2 != null) { + indexEntities(1, invertedIndexD1, entityProfilesD2); } } - - private ITextModel[] buildAttributeModels(int datasetId, List profiles) { + + private ITextModel[] buildAttributeModels(int datasetId, List profiles) { final HashMap> attributeProfiles = new HashMap<>(); profiles.forEach((entity) -> { entity.getAttributes().forEach((attribute) -> { @@ -135,7 +122,7 @@ private void clusterAttributes(ITextModel[] attributeModels, SimpleGraph graph) } else { counter++; } - + for (int attributeId : cluster) { attributeClusters[0].put(attributeModels[attributeId].getInstanceName(), clusterId); } @@ -150,7 +137,7 @@ private void clusterAttributes(ITextModel[] attributeModels1, ITextModel[] attri ConnectivityInspector ci = new ConnectivityInspector(graph); List> connectedComponents = ci.connectedSets(); int singletonId = connectedComponents.size() + 1; - + attributeClusters[0] = new HashMap<>(2 * d1Attributes); attributeClusters[1] = new HashMap<>(2 * d2Attributes); int counter = 0; @@ -161,7 +148,7 @@ private void clusterAttributes(ITextModel[] attributeModels1, ITextModel[] attri } else { counter++; } - + for (int attributeId : cluster) { if (attributeId < d1Attributes) { attributeClusters[0].put(attributeModels1[attributeId].getInstanceName(), clusterId); @@ -242,41 +229,41 @@ private SimpleGraph compareAttributes(ITextModel[] attributeModels1, ITextModel[ } return namesGraph; } - - protected void indexEntities(int sourceId, IndexWriter index, List entities) { - try { - int counter = 0; - for (EntityProfile profile : entities) { - Document doc = new Document(); - doc.add(new StoredField(DOC_ID, counter++)); - for (Attribute attribute : profile.getAttributes()) { - Integer clusterId = attributeClusters[sourceId].get(attribute.getName()); - if (clusterId == null) { - LOGGER.log(Level.WARNING, "No cluster id found for attribute name\t:\t{0}" - + ".\nCorresponding attribute value\t:\t{1}", new Object[]{attribute.getName(), attribute.getValue()}); - continue; - } - String clusterSuffix = CLUSTER_PREFIX + clusterId + CLUSTER_SUFFIX; - for (String token : getTokens(attribute.getValue())) { - if (0 < token.trim().length()) { - doc.add(new StringField(VALUE_LABEL, token.trim() + clusterSuffix, Field.Store.YES)); + + protected void indexEntities(int sourceId, Map> index, List entities) { + int counter = 0; + for (EntityProfile profile : entities) { + for (Attribute attribute : profile.getAttributes()) { + Integer clusterId = attributeClusters[sourceId].get(attribute.getName()); + if (clusterId == null) { + LOGGER.log(Level.WARNING, "No cluster id found for attribute name\t:\t{0}" + + ".\nCorresponding attribute value\t:\t{1}", new Object[]{attribute.getName(), attribute.getValue()}); + continue; + } + + String clusterSuffix = CLUSTER_PREFIX + clusterId + CLUSTER_SUFFIX; + for (String token : getTokens(attribute.getValue())) { + if (0 < token.trim().length()) { + String normalizedKey = token.trim().toLowerCase() + clusterSuffix; + List entityList = index.get(normalizedKey); + if (entityList == null) { + entityList = new ArrayList<>(); + index.put(normalizedKey, entityList); } + entityList.add(counter); } } - - index.addDocument(doc); } - } catch (IOException ex) { - LOGGER.log(Level.SEVERE, null, ex); + counter++; } } - + @Override public String getMethodConfiguration() { - return "Representation model=" + model + - "\nSimilarity metric=" + simMetric; + return "Representation model=" + model + + "\nSimilarity metric=" + simMetric; } - + @Override public String getMethodInfo() { return "Attribute Clustering Blocking: it groups the attribute names into similarity clusters " @@ -287,7 +274,7 @@ public String getMethodInfo() { public String getMethodName() { return "Attribute Clustering"; } - + @Override public String getMethodParameters() { return "Attribute Clustering Blocking involves a single parameter:\n" diff --git a/jedai-core/src/main/java/BlockBuilding/ExtendedSortedNeighborhoodBlocking.java b/jedai-core/src/main/java/BlockBuilding/ExtendedSortedNeighborhoodBlocking.java index 325b150e..925ae7ef 100644 --- a/jedai-core/src/main/java/BlockBuilding/ExtendedSortedNeighborhoodBlocking.java +++ b/jedai-core/src/main/java/BlockBuilding/ExtendedSortedNeighborhoodBlocking.java @@ -1,32 +1,30 @@ /* -* Copyright [2016] [George Papadakis (gpapadis@yahoo.gr)] -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - + * Copyright [2016] [George Papadakis (gpapadis@yahoo.gr)] + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ package BlockBuilding; import DataModel.BilateralBlock; import DataModel.UnilateralBlock; import Utilities.Converter; -import java.io.IOException; + import java.util.Arrays; import java.util.HashSet; +import java.util.List; import java.util.Set; import java.util.logging.Level; import java.util.logging.Logger; -import org.apache.lucene.index.IndexReader; -import org.apache.lucene.index.Term; /** * @@ -35,12 +33,12 @@ public class ExtendedSortedNeighborhoodBlocking extends SortedNeighborhoodBlocking { private static final Logger LOGGER = Logger.getLogger(ExtendedSortedNeighborhoodBlocking.class.getName()); - + public ExtendedSortedNeighborhoodBlocking() { this(2); LOGGER.log(Level.INFO, "Using default configuration for Extended Sorted Neighborhood Blocking."); } - + public ExtendedSortedNeighborhoodBlocking(int w) { super(w); } @@ -49,7 +47,7 @@ public ExtendedSortedNeighborhoodBlocking(int w) { public String getMethodConfiguration() { return "Window size=" + windowSize; } - + @Override public String getMethodInfo() { return "Extended Sorted Neighborhood: it improves Sorted Neighborhood by sliding the window over the sorted list of blocking keys."; @@ -59,27 +57,26 @@ public String getMethodInfo() { public String getMethodName() { return "Extended Sorted Neighborhood"; } - + @Override public String getMethodParameters() { return "Extended Sorted Neighborhood involves a single parameter, due to its unsupervised, schema-agnostic blocking keys:\n" + "w, the fixed size of the window that slides over the sorted list of blocking keys.\n" + "Default value: 2."; } - + @Override - protected void parseIndex(IndexReader iReader) { - final Set blockingKeysSet = getTerms(iReader); + protected void parseIndex() { + final Set blockingKeysSet = invertedIndexD1.keySet(); String[] sortedTerms = blockingKeysSet.toArray(new String[blockingKeysSet.size()]); Arrays.sort(sortedTerms); //slide window over the sorted list of blocking keys int upperLimit = sortedTerms.length - windowSize; - int[] documentIds = getDocumentIds(iReader); for (int i = 0; i <= upperLimit; i++) { final Set entityIds = new HashSet<>(); for (int j = 0; j < windowSize; j++) { - entityIds.addAll(getTermEntities(documentIds, iReader, sortedTerms[i + j])); + entityIds.addAll(invertedIndexD1.get(sortedTerms[i + j])); } if (1 < entityIds.size()) { @@ -91,32 +88,26 @@ protected void parseIndex(IndexReader iReader) { } @Override - protected void parseIndices(IndexReader iReader1, IndexReader iReader2) { - final Set blockingKeysSet = getTerms(iReader1); - blockingKeysSet.addAll(getTerms(iReader2)); + protected void parseIndices() { + final Set blockingKeysSet = invertedIndexD1.keySet(); + blockingKeysSet.addAll(invertedIndexD2.keySet()); String[] sortedTerms = blockingKeysSet.toArray(new String[blockingKeysSet.size()]); Arrays.sort(sortedTerms); //slide window over the sorted list of blocking keys int upperLimit = sortedTerms.length - windowSize; - int[] documentIdsD1 = getDocumentIds(iReader1); - int[] documentIdsD2 = getDocumentIds(iReader2); for (int i = 0; i <= upperLimit; i++) { final Set entityIds1 = new HashSet<>(); final Set entityIds2 = new HashSet<>(); for (int j = 0; j < windowSize; j++) { - try { - int docFrequency = iReader1.docFreq(new Term(VALUE_LABEL, sortedTerms[i + j])); - if (0 < docFrequency) { - entityIds1.addAll(getTermEntities(documentIdsD1, iReader1, sortedTerms[i + j])); - } - - docFrequency = iReader2.docFreq(new Term(VALUE_LABEL, sortedTerms[i + j])); - if (0 < docFrequency) { - entityIds2.addAll(getTermEntities(documentIdsD2, iReader2, sortedTerms[i + j])); - } - } catch (IOException ex) { - LOGGER.log(Level.SEVERE, null, ex); + List d1Entities = invertedIndexD1.get(sortedTerms[i + j]); + if (d1Entities != null) { + entityIds1.addAll(d1Entities); + } + + List d2Entities = invertedIndexD2.get(sortedTerms[i + j]); + if (d2Entities != null) { + entityIds2.addAll(d2Entities); } } diff --git a/jedai-core/src/main/java/BlockBuilding/SortedNeighborhoodBlocking.java b/jedai-core/src/main/java/BlockBuilding/SortedNeighborhoodBlocking.java index c69c7602..aebf282e 100644 --- a/jedai-core/src/main/java/BlockBuilding/SortedNeighborhoodBlocking.java +++ b/jedai-core/src/main/java/BlockBuilding/SortedNeighborhoodBlocking.java @@ -1,26 +1,25 @@ /* -* Copyright [2016] [George Papadakis (gpapadis@yahoo.gr)] -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - + * Copyright [2016] [George Papadakis (gpapadis@yahoo.gr)] + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ package BlockBuilding; import DataModel.AbstractBlock; import DataModel.BilateralBlock; import DataModel.UnilateralBlock; import Utilities.Converter; -import java.io.IOException; + import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; @@ -29,15 +28,6 @@ import java.util.Set; import java.util.logging.Level; import java.util.logging.Logger; -import org.apache.lucene.index.Fields; -import org.apache.lucene.index.IndexReader; -import org.apache.lucene.index.MultiFields; -import org.apache.lucene.index.PostingsEnum; -import org.apache.lucene.index.Term; -import org.apache.lucene.index.Terms; -import org.apache.lucene.index.TermsEnum; -import org.apache.lucene.search.DocIdSetIterator; -import org.apache.lucene.util.BytesRef; /** * @@ -46,14 +36,14 @@ public class SortedNeighborhoodBlocking extends StandardBlocking { private static final Logger LOGGER = Logger.getLogger(SortedNeighborhoodBlocking.class.getName()); - + protected final int windowSize; public SortedNeighborhoodBlocking() { this(4); LOGGER.log(Level.INFO, "Using default configuration for Sorted Neighborhood Blocking."); } - + public SortedNeighborhoodBlocking(int w) { super(); windowSize = w; @@ -64,7 +54,7 @@ public SortedNeighborhoodBlocking(int w) { public String getMethodConfiguration() { return "Window size=" + windowSize; } - + @Override public String getMethodInfo() { return "Sorted Neighborhood: it creates blocks based on the similarity of the blocking keys of Standard Blocking:\n" @@ -76,40 +66,26 @@ public String getMethodInfo() { public String getMethodName() { return "Sorted Neighborhood"; } - + @Override public String getMethodParameters() { return "Sorted Neighborhood involves a single parameter, due to its unsupervised, schema-agnostic blocking keys:\n" + "w, the fixed size of the sliding window.\n" + "Default value: 4."; } - - protected Integer[] getSortedEntities(String[] sortedTerms, IndexReader iReader) { - final List sortedEntityIds = new ArrayList<>(); - - int[] documentIds = getDocumentIds(iReader); - for (String blockingKey : sortedTerms) { - List sortedIds = getTermEntities(documentIds, iReader, blockingKey); - Collections.shuffle(sortedIds); - sortedEntityIds.addAll(sortedIds); - } - - return sortedEntityIds.toArray(new Integer[sortedEntityIds.size()]); - } - protected Integer[] getSortedEntities(String[] sortedTerms, IndexReader d1Reader, IndexReader d2Reader) { - int datasetLimit = d1Reader.numDocs(); + protected Integer[] getMixedSortedEntities(String[] sortedTerms) { + int datasetLimit = entityProfilesD1.size(); final List sortedEntityIds = new ArrayList<>(); - int[] documentIdsD1 = getDocumentIds(d1Reader); - int[] documentIdsD2 = getDocumentIds(d2Reader); for (String blockingKey : sortedTerms) { List sortedIds = new ArrayList<>(); - sortedIds.addAll(getTermEntities(documentIdsD1, d1Reader, blockingKey)); + sortedIds.addAll(invertedIndexD1.get(blockingKey)); - getTermEntities(documentIdsD2, d2Reader, blockingKey).stream().forEach((entityId) -> { + List d2EntityIds = invertedIndexD2.get(blockingKey); + for (Integer entityId : d2EntityIds) { sortedIds.add(datasetLimit + entityId); - }); + } Collections.shuffle(sortedIds); sortedEntityIds.addAll(sortedIds); @@ -118,52 +94,25 @@ protected Integer[] getSortedEntities(String[] sortedTerms, IndexReader d1Reader return sortedEntityIds.toArray(new Integer[sortedEntityIds.size()]); } - protected List getTermEntities(int[] docIds, IndexReader iReader, String blockingKey) { - try { - Term term = new Term(VALUE_LABEL, blockingKey); - List entityIds = new ArrayList<>(); - int docFrequency = iReader.docFreq(term); - if (0 < docFrequency) { - BytesRef text = term.bytes(); - PostingsEnum pe = MultiFields.getTermDocsEnum(iReader, VALUE_LABEL, text); - int doc; - while ((doc = pe.nextDoc()) != DocIdSetIterator.NO_MORE_DOCS) { - entityIds.add(docIds[doc]); - } - } + protected Integer[] getSortedEntities(String[] sortedTerms) { + final List sortedEntityIds = new ArrayList<>(); - return entityIds; - } catch (IOException ex) { - LOGGER.log(Level.SEVERE, null, ex); - return null; + for (String blockingKey : sortedTerms) { + List sortedIds = invertedIndexD1.get(blockingKey); + Collections.shuffle(sortedIds); + sortedEntityIds.addAll(sortedIds); } - } - protected Set getTerms(IndexReader iReader) { - Set sortedTerms = new HashSet<>(); - try { - Fields fields = MultiFields.getFields(iReader); - for (String field : fields) { - Terms terms = fields.terms(field); - TermsEnum termsEnum = terms.iterator(); - BytesRef text; - while ((text = termsEnum.next()) != null) { - sortedTerms.add(text.utf8ToString()); - } - } - } catch (IOException ex) { - LOGGER.log(Level.SEVERE, null, ex); - } - return sortedTerms; + return sortedEntityIds.toArray(new Integer[sortedEntityIds.size()]); } @Override - protected void parseIndex(IndexReader iReader) { - final Set blockingKeysSet = getTerms(iReader); + protected void parseIndex() { + final Set blockingKeysSet = invertedIndexD1.keySet(); String[] sortedTerms = blockingKeysSet.toArray(new String[blockingKeysSet.size()]); Arrays.sort(sortedTerms); - Integer[] allEntityIds = getSortedEntities(sortedTerms, iReader); + Integer[] allEntityIds = getSortedEntities(sortedTerms); //slide window over the sorted list of entity ids int upperLimit = allEntityIds.length - windowSize; @@ -181,15 +130,15 @@ protected void parseIndex(IndexReader iReader) { } } - protected void parseIndices(IndexReader iReader1, IndexReader iReader2) { - final Set blockingKeysSet = getTerms(iReader1); - blockingKeysSet.addAll(getTerms(iReader2)); + protected void parseIndices() { + final Set blockingKeysSet = invertedIndexD1.keySet(); + blockingKeysSet.addAll(invertedIndexD2.keySet()); String[] sortedTerms = blockingKeysSet.toArray(new String[blockingKeysSet.size()]); Arrays.sort(sortedTerms); - Integer[] allEntityIds = getSortedEntities(sortedTerms, iReader1, iReader2); + Integer[] allEntityIds = getMixedSortedEntities(sortedTerms); - int datasetLimit = iReader1.numDocs(); + int datasetLimit = entityProfilesD1.size(); //slide window over the sorted list of entity ids int upperLimit = allEntityIds.length - windowSize; for (int i = 0; i <= upperLimit; i++) { @@ -214,16 +163,12 @@ protected void parseIndices(IndexReader iReader1, IndexReader iReader2) { @Override public List readBlocks() { - IndexReader iReaderD1 = openReader(indexDirectoryD1); if (entityProfilesD2 == null) { //Dirty ER - parseIndex(iReaderD1); + parseIndex(); } else { - IndexReader iReaderD2 = openReader(indexDirectoryD2); - parseIndices(iReaderD1, iReaderD2); - closeReader(iReaderD2); + parseIndices(); } - closeReader(iReaderD1); - + return blocks; } } diff --git a/jedai-core/target/classes/BlockBuilding/AbstractBlockBuilding.class b/jedai-core/target/classes/BlockBuilding/AbstractBlockBuilding.class index e5c183dd..17df64f1 100644 Binary files a/jedai-core/target/classes/BlockBuilding/AbstractBlockBuilding.class and b/jedai-core/target/classes/BlockBuilding/AbstractBlockBuilding.class differ diff --git a/jedai-core/target/classes/BlockBuilding/AttributeClusteringBlocking.class b/jedai-core/target/classes/BlockBuilding/AttributeClusteringBlocking.class index a3c0f0e3..14a6d530 100644 Binary files a/jedai-core/target/classes/BlockBuilding/AttributeClusteringBlocking.class and b/jedai-core/target/classes/BlockBuilding/AttributeClusteringBlocking.class differ diff --git a/jedai-core/target/classes/BlockBuilding/ExtendedQGramsBlocking.class b/jedai-core/target/classes/BlockBuilding/ExtendedQGramsBlocking.class index ce08385f..3ec198df 100644 Binary files a/jedai-core/target/classes/BlockBuilding/ExtendedQGramsBlocking.class and b/jedai-core/target/classes/BlockBuilding/ExtendedQGramsBlocking.class differ diff --git a/jedai-core/target/classes/BlockBuilding/ExtendedSortedNeighborhoodBlocking.class b/jedai-core/target/classes/BlockBuilding/ExtendedSortedNeighborhoodBlocking.class index c717f8fe..c8aa62b0 100644 Binary files a/jedai-core/target/classes/BlockBuilding/ExtendedSortedNeighborhoodBlocking.class and b/jedai-core/target/classes/BlockBuilding/ExtendedSortedNeighborhoodBlocking.class differ diff --git a/jedai-core/target/classes/BlockBuilding/ExtendedSuffixArraysBlocking.class b/jedai-core/target/classes/BlockBuilding/ExtendedSuffixArraysBlocking.class index 16b28ca0..78d722d0 100644 Binary files a/jedai-core/target/classes/BlockBuilding/ExtendedSuffixArraysBlocking.class and b/jedai-core/target/classes/BlockBuilding/ExtendedSuffixArraysBlocking.class differ diff --git a/jedai-core/target/classes/BlockBuilding/IBlockBuilding.class b/jedai-core/target/classes/BlockBuilding/IBlockBuilding.class index d6932f6c..ae007473 100644 Binary files a/jedai-core/target/classes/BlockBuilding/IBlockBuilding.class and b/jedai-core/target/classes/BlockBuilding/IBlockBuilding.class differ diff --git a/jedai-core/target/classes/BlockBuilding/QGramsBlocking.class b/jedai-core/target/classes/BlockBuilding/QGramsBlocking.class index 2827f770..5175a972 100644 Binary files a/jedai-core/target/classes/BlockBuilding/QGramsBlocking.class and b/jedai-core/target/classes/BlockBuilding/QGramsBlocking.class differ diff --git a/jedai-core/target/classes/BlockBuilding/SortedNeighborhoodBlocking.class b/jedai-core/target/classes/BlockBuilding/SortedNeighborhoodBlocking.class index be9f695f..71f0f59b 100644 Binary files a/jedai-core/target/classes/BlockBuilding/SortedNeighborhoodBlocking.class and b/jedai-core/target/classes/BlockBuilding/SortedNeighborhoodBlocking.class differ diff --git a/jedai-core/target/classes/BlockBuilding/StandardBlocking.class b/jedai-core/target/classes/BlockBuilding/StandardBlocking.class index d4032dde..ac30bfee 100644 Binary files a/jedai-core/target/classes/BlockBuilding/StandardBlocking.class and b/jedai-core/target/classes/BlockBuilding/StandardBlocking.class differ diff --git a/jedai-core/target/classes/BlockBuilding/SuffixArraysBlocking.class b/jedai-core/target/classes/BlockBuilding/SuffixArraysBlocking.class index 5f4d56a7..40915cbc 100644 Binary files a/jedai-core/target/classes/BlockBuilding/SuffixArraysBlocking.class and b/jedai-core/target/classes/BlockBuilding/SuffixArraysBlocking.class differ diff --git a/jedai-core/target/classes/BlockProcessing/AbstractBlockProcessing.class b/jedai-core/target/classes/BlockProcessing/AbstractBlockProcessing.class index 272c0d3d..70389138 100644 Binary files a/jedai-core/target/classes/BlockProcessing/AbstractBlockProcessing.class and b/jedai-core/target/classes/BlockProcessing/AbstractBlockProcessing.class differ diff --git a/jedai-core/target/classes/BlockProcessing/BlockRefinement/AbstractBlockPurging.class b/jedai-core/target/classes/BlockProcessing/BlockRefinement/AbstractBlockPurging.class index 08f79cb2..46658349 100644 Binary files a/jedai-core/target/classes/BlockProcessing/BlockRefinement/AbstractBlockPurging.class and b/jedai-core/target/classes/BlockProcessing/BlockRefinement/AbstractBlockPurging.class differ diff --git a/jedai-core/target/classes/BlockProcessing/BlockRefinement/BlockFiltering.class b/jedai-core/target/classes/BlockProcessing/BlockRefinement/BlockFiltering.class index 0caf9031..81296078 100644 Binary files a/jedai-core/target/classes/BlockProcessing/BlockRefinement/BlockFiltering.class and b/jedai-core/target/classes/BlockProcessing/BlockRefinement/BlockFiltering.class differ diff --git a/jedai-core/target/classes/BlockProcessing/BlockRefinement/BlockPruning.class b/jedai-core/target/classes/BlockProcessing/BlockRefinement/BlockPruning.class index 789d279d..1b6f284a 100644 Binary files a/jedai-core/target/classes/BlockProcessing/BlockRefinement/BlockPruning.class and b/jedai-core/target/classes/BlockProcessing/BlockRefinement/BlockPruning.class differ diff --git a/jedai-core/target/classes/BlockProcessing/BlockRefinement/BlockScheduling.class b/jedai-core/target/classes/BlockProcessing/BlockRefinement/BlockScheduling.class index 88d2cc39..501e7533 100644 Binary files a/jedai-core/target/classes/BlockProcessing/BlockRefinement/BlockScheduling.class and b/jedai-core/target/classes/BlockProcessing/BlockRefinement/BlockScheduling.class differ diff --git a/jedai-core/target/classes/BlockProcessing/BlockRefinement/ComparisonsBasedBlockPurging.class b/jedai-core/target/classes/BlockProcessing/BlockRefinement/ComparisonsBasedBlockPurging.class index 9439c221..bf8c5767 100644 Binary files a/jedai-core/target/classes/BlockProcessing/BlockRefinement/ComparisonsBasedBlockPurging.class and b/jedai-core/target/classes/BlockProcessing/BlockRefinement/ComparisonsBasedBlockPurging.class differ diff --git a/jedai-core/target/classes/BlockProcessing/BlockRefinement/SizeBasedBlockPurging.class b/jedai-core/target/classes/BlockProcessing/BlockRefinement/SizeBasedBlockPurging.class index 0303252f..727740a0 100644 Binary files a/jedai-core/target/classes/BlockProcessing/BlockRefinement/SizeBasedBlockPurging.class and b/jedai-core/target/classes/BlockProcessing/BlockRefinement/SizeBasedBlockPurging.class differ diff --git a/jedai-core/target/classes/BlockProcessing/ComparisonRefinement/AbstractComparisonRefinementMethod.class b/jedai-core/target/classes/BlockProcessing/ComparisonRefinement/AbstractComparisonRefinementMethod.class index 0a135f23..4fe104be 100644 Binary files a/jedai-core/target/classes/BlockProcessing/ComparisonRefinement/AbstractComparisonRefinementMethod.class and b/jedai-core/target/classes/BlockProcessing/ComparisonRefinement/AbstractComparisonRefinementMethod.class differ diff --git a/jedai-core/target/classes/BlockProcessing/ComparisonRefinement/AbstractMetablocking.class b/jedai-core/target/classes/BlockProcessing/ComparisonRefinement/AbstractMetablocking.class index c1eadbb9..8a9adff7 100644 Binary files a/jedai-core/target/classes/BlockProcessing/ComparisonRefinement/AbstractMetablocking.class and b/jedai-core/target/classes/BlockProcessing/ComparisonRefinement/AbstractMetablocking.class differ diff --git a/jedai-core/target/classes/BlockProcessing/ComparisonRefinement/CardinalityEdgePruning.class b/jedai-core/target/classes/BlockProcessing/ComparisonRefinement/CardinalityEdgePruning.class index c05fb664..31426ab9 100644 Binary files a/jedai-core/target/classes/BlockProcessing/ComparisonRefinement/CardinalityEdgePruning.class and b/jedai-core/target/classes/BlockProcessing/ComparisonRefinement/CardinalityEdgePruning.class differ diff --git a/jedai-core/target/classes/BlockProcessing/ComparisonRefinement/CardinalityNodePruning.class b/jedai-core/target/classes/BlockProcessing/ComparisonRefinement/CardinalityNodePruning.class index 18f825bb..14e0a82a 100644 Binary files a/jedai-core/target/classes/BlockProcessing/ComparisonRefinement/CardinalityNodePruning.class and b/jedai-core/target/classes/BlockProcessing/ComparisonRefinement/CardinalityNodePruning.class differ diff --git a/jedai-core/target/classes/BlockProcessing/ComparisonRefinement/ComparisonPropagation.class b/jedai-core/target/classes/BlockProcessing/ComparisonRefinement/ComparisonPropagation.class index 84d3036d..8a3ac0e7 100644 Binary files a/jedai-core/target/classes/BlockProcessing/ComparisonRefinement/ComparisonPropagation.class and b/jedai-core/target/classes/BlockProcessing/ComparisonRefinement/ComparisonPropagation.class differ diff --git a/jedai-core/target/classes/BlockProcessing/ComparisonRefinement/ReciprocalCardinalityNodePruning.class b/jedai-core/target/classes/BlockProcessing/ComparisonRefinement/ReciprocalCardinalityNodePruning.class index 92b44cb3..363928cb 100644 Binary files a/jedai-core/target/classes/BlockProcessing/ComparisonRefinement/ReciprocalCardinalityNodePruning.class and b/jedai-core/target/classes/BlockProcessing/ComparisonRefinement/ReciprocalCardinalityNodePruning.class differ diff --git a/jedai-core/target/classes/BlockProcessing/ComparisonRefinement/ReciprocalWeightedNodePruning.class b/jedai-core/target/classes/BlockProcessing/ComparisonRefinement/ReciprocalWeightedNodePruning.class index 0a18ab89..3c686e0d 100644 Binary files a/jedai-core/target/classes/BlockProcessing/ComparisonRefinement/ReciprocalWeightedNodePruning.class and b/jedai-core/target/classes/BlockProcessing/ComparisonRefinement/ReciprocalWeightedNodePruning.class differ diff --git a/jedai-core/target/classes/BlockProcessing/ComparisonRefinement/WeightedEdgePruning.class b/jedai-core/target/classes/BlockProcessing/ComparisonRefinement/WeightedEdgePruning.class index 00c5288a..2b869f87 100644 Binary files a/jedai-core/target/classes/BlockProcessing/ComparisonRefinement/WeightedEdgePruning.class and b/jedai-core/target/classes/BlockProcessing/ComparisonRefinement/WeightedEdgePruning.class differ diff --git a/jedai-core/target/classes/BlockProcessing/ComparisonRefinement/WeightedNodePruning.class b/jedai-core/target/classes/BlockProcessing/ComparisonRefinement/WeightedNodePruning.class index 6c6f7e52..a091cd74 100644 Binary files a/jedai-core/target/classes/BlockProcessing/ComparisonRefinement/WeightedNodePruning.class and b/jedai-core/target/classes/BlockProcessing/ComparisonRefinement/WeightedNodePruning.class differ diff --git a/jedai-core/target/classes/BlockProcessing/IBlockProcessing.class b/jedai-core/target/classes/BlockProcessing/IBlockProcessing.class index 57ddf62c..4809443f 100644 Binary files a/jedai-core/target/classes/BlockProcessing/IBlockProcessing.class and b/jedai-core/target/classes/BlockProcessing/IBlockProcessing.class differ diff --git a/jedai-core/target/classes/DataModel/AbstractBlock.class b/jedai-core/target/classes/DataModel/AbstractBlock.class index 8882622c..c74ae123 100644 Binary files a/jedai-core/target/classes/DataModel/AbstractBlock.class and b/jedai-core/target/classes/DataModel/AbstractBlock.class differ diff --git a/jedai-core/target/classes/DataModel/Attribute.class b/jedai-core/target/classes/DataModel/Attribute.class index 2047cc17..20e1e605 100644 Binary files a/jedai-core/target/classes/DataModel/Attribute.class and b/jedai-core/target/classes/DataModel/Attribute.class differ diff --git a/jedai-core/target/classes/DataModel/BilateralBlock.class b/jedai-core/target/classes/DataModel/BilateralBlock.class index 1d558ba4..0d326e13 100644 Binary files a/jedai-core/target/classes/DataModel/BilateralBlock.class and b/jedai-core/target/classes/DataModel/BilateralBlock.class differ diff --git a/jedai-core/target/classes/DataModel/Comparison.class b/jedai-core/target/classes/DataModel/Comparison.class index 13249ef6..715ac7a7 100644 Binary files a/jedai-core/target/classes/DataModel/Comparison.class and b/jedai-core/target/classes/DataModel/Comparison.class differ diff --git a/jedai-core/target/classes/DataModel/ComparisonIterator.class b/jedai-core/target/classes/DataModel/ComparisonIterator.class index 20615938..3ad0e864 100644 Binary files a/jedai-core/target/classes/DataModel/ComparisonIterator.class and b/jedai-core/target/classes/DataModel/ComparisonIterator.class differ diff --git a/jedai-core/target/classes/DataModel/DecomposedBlock.class b/jedai-core/target/classes/DataModel/DecomposedBlock.class index ae3c9220..e86bb5a9 100644 Binary files a/jedai-core/target/classes/DataModel/DecomposedBlock.class and b/jedai-core/target/classes/DataModel/DecomposedBlock.class differ diff --git a/jedai-core/target/classes/DataModel/EntityProfile.class b/jedai-core/target/classes/DataModel/EntityProfile.class index 2a5b9e47..5d46f9ec 100644 Binary files a/jedai-core/target/classes/DataModel/EntityProfile.class and b/jedai-core/target/classes/DataModel/EntityProfile.class differ diff --git a/jedai-core/target/classes/DataModel/EquivalenceCluster.class b/jedai-core/target/classes/DataModel/EquivalenceCluster.class index fe263f88..3336a68c 100644 Binary files a/jedai-core/target/classes/DataModel/EquivalenceCluster.class and b/jedai-core/target/classes/DataModel/EquivalenceCluster.class differ diff --git a/jedai-core/target/classes/DataModel/GomoryHuTree.class b/jedai-core/target/classes/DataModel/GomoryHuTree.class index 5e94c773..768e4a09 100644 Binary files a/jedai-core/target/classes/DataModel/GomoryHuTree.class and b/jedai-core/target/classes/DataModel/GomoryHuTree.class differ diff --git a/jedai-core/target/classes/DataModel/IdDuplicates.class b/jedai-core/target/classes/DataModel/IdDuplicates.class index 6a2473e5..8bd083e4 100644 Binary files a/jedai-core/target/classes/DataModel/IdDuplicates.class and b/jedai-core/target/classes/DataModel/IdDuplicates.class differ diff --git a/jedai-core/target/classes/DataModel/PairIterator.class b/jedai-core/target/classes/DataModel/PairIterator.class index 4995d0e6..1bc4553a 100644 Binary files a/jedai-core/target/classes/DataModel/PairIterator.class and b/jedai-core/target/classes/DataModel/PairIterator.class differ diff --git a/jedai-core/target/classes/DataModel/SimilarityEdge.class b/jedai-core/target/classes/DataModel/SimilarityEdge.class index 7456b8f2..30c67123 100644 Binary files a/jedai-core/target/classes/DataModel/SimilarityEdge.class and b/jedai-core/target/classes/DataModel/SimilarityEdge.class differ diff --git a/jedai-core/target/classes/DataModel/SimilarityPairs.class b/jedai-core/target/classes/DataModel/SimilarityPairs.class index 8b81af8d..c92afd87 100644 Binary files a/jedai-core/target/classes/DataModel/SimilarityPairs.class and b/jedai-core/target/classes/DataModel/SimilarityPairs.class differ diff --git a/jedai-core/target/classes/DataModel/UnilateralBlock.class b/jedai-core/target/classes/DataModel/UnilateralBlock.class index 0c56e8e8..df96511c 100644 Binary files a/jedai-core/target/classes/DataModel/UnilateralBlock.class and b/jedai-core/target/classes/DataModel/UnilateralBlock.class differ diff --git a/jedai-core/target/classes/DataModel/VertexWeight.class b/jedai-core/target/classes/DataModel/VertexWeight.class index 432c3706..7cbce90e 100644 Binary files a/jedai-core/target/classes/DataModel/VertexWeight.class and b/jedai-core/target/classes/DataModel/VertexWeight.class differ diff --git a/jedai-core/target/classes/DataReader/AbstractReader.class b/jedai-core/target/classes/DataReader/AbstractReader.class index bc034550..8d731900 100644 Binary files a/jedai-core/target/classes/DataReader/AbstractReader.class and b/jedai-core/target/classes/DataReader/AbstractReader.class differ diff --git a/jedai-core/target/classes/DataReader/EntityReader/AbstractEntityReader.class b/jedai-core/target/classes/DataReader/EntityReader/AbstractEntityReader.class index 124a929f..ffa080a4 100644 Binary files a/jedai-core/target/classes/DataReader/EntityReader/AbstractEntityReader.class and b/jedai-core/target/classes/DataReader/EntityReader/AbstractEntityReader.class differ diff --git a/jedai-core/target/classes/DataReader/EntityReader/EntityCSVReader.class b/jedai-core/target/classes/DataReader/EntityReader/EntityCSVReader.class index 83bb2c07..211480ca 100644 Binary files a/jedai-core/target/classes/DataReader/EntityReader/EntityCSVReader.class and b/jedai-core/target/classes/DataReader/EntityReader/EntityCSVReader.class differ diff --git a/jedai-core/target/classes/DataReader/EntityReader/EntityDBReader.class b/jedai-core/target/classes/DataReader/EntityReader/EntityDBReader.class index 218a5aec..878b5b9e 100644 Binary files a/jedai-core/target/classes/DataReader/EntityReader/EntityDBReader.class and b/jedai-core/target/classes/DataReader/EntityReader/EntityDBReader.class differ diff --git a/jedai-core/target/classes/DataReader/EntityReader/EntityRDFReader.class b/jedai-core/target/classes/DataReader/EntityReader/EntityRDFReader.class index d73c4a75..0ccdc157 100644 Binary files a/jedai-core/target/classes/DataReader/EntityReader/EntityRDFReader.class and b/jedai-core/target/classes/DataReader/EntityReader/EntityRDFReader.class differ diff --git a/jedai-core/target/classes/DataReader/EntityReader/EntitySerializationReader.class b/jedai-core/target/classes/DataReader/EntityReader/EntitySerializationReader.class index 255a9149..0780677c 100644 Binary files a/jedai-core/target/classes/DataReader/EntityReader/EntitySerializationReader.class and b/jedai-core/target/classes/DataReader/EntityReader/EntitySerializationReader.class differ diff --git a/jedai-core/target/classes/DataReader/EntityReader/IEntityReader.class b/jedai-core/target/classes/DataReader/EntityReader/IEntityReader.class index aff78c30..cb26e741 100644 Binary files a/jedai-core/target/classes/DataReader/EntityReader/IEntityReader.class and b/jedai-core/target/classes/DataReader/EntityReader/IEntityReader.class differ diff --git a/jedai-core/target/classes/DataReader/EntityReader/XMLreader.class b/jedai-core/target/classes/DataReader/EntityReader/XMLreader.class index dc360fb5..dc1f55d9 100644 Binary files a/jedai-core/target/classes/DataReader/EntityReader/XMLreader.class and b/jedai-core/target/classes/DataReader/EntityReader/XMLreader.class differ diff --git a/jedai-core/target/classes/DataReader/GroundTruthReader/AbstractGtReader.class b/jedai-core/target/classes/DataReader/GroundTruthReader/AbstractGtReader.class index 7ac22736..f3d838c9 100644 Binary files a/jedai-core/target/classes/DataReader/GroundTruthReader/AbstractGtReader.class and b/jedai-core/target/classes/DataReader/GroundTruthReader/AbstractGtReader.class differ diff --git a/jedai-core/target/classes/DataReader/GroundTruthReader/GtCSVReader.class b/jedai-core/target/classes/DataReader/GroundTruthReader/GtCSVReader.class index ce861bb4..3721f8a3 100644 Binary files a/jedai-core/target/classes/DataReader/GroundTruthReader/GtCSVReader.class and b/jedai-core/target/classes/DataReader/GroundTruthReader/GtCSVReader.class differ diff --git a/jedai-core/target/classes/DataReader/GroundTruthReader/GtIIMBbenchmarksReader.class b/jedai-core/target/classes/DataReader/GroundTruthReader/GtIIMBbenchmarksReader.class index 8944e532..63eea444 100644 Binary files a/jedai-core/target/classes/DataReader/GroundTruthReader/GtIIMBbenchmarksReader.class and b/jedai-core/target/classes/DataReader/GroundTruthReader/GtIIMBbenchmarksReader.class differ diff --git a/jedai-core/target/classes/DataReader/GroundTruthReader/GtOAEIbenchmarksReader.class b/jedai-core/target/classes/DataReader/GroundTruthReader/GtOAEIbenchmarksReader.class index 08104856..8bc25af1 100644 Binary files a/jedai-core/target/classes/DataReader/GroundTruthReader/GtOAEIbenchmarksReader.class and b/jedai-core/target/classes/DataReader/GroundTruthReader/GtOAEIbenchmarksReader.class differ diff --git a/jedai-core/target/classes/DataReader/GroundTruthReader/GtRDFReader.class b/jedai-core/target/classes/DataReader/GroundTruthReader/GtRDFReader.class index e302a492..71ff18a9 100644 Binary files a/jedai-core/target/classes/DataReader/GroundTruthReader/GtRDFReader.class and b/jedai-core/target/classes/DataReader/GroundTruthReader/GtRDFReader.class differ diff --git a/jedai-core/target/classes/DataReader/GroundTruthReader/GtSerializationReader.class b/jedai-core/target/classes/DataReader/GroundTruthReader/GtSerializationReader.class index 12c8c5cd..781f792d 100644 Binary files a/jedai-core/target/classes/DataReader/GroundTruthReader/GtSerializationReader.class and b/jedai-core/target/classes/DataReader/GroundTruthReader/GtSerializationReader.class differ diff --git a/jedai-core/target/classes/DataReader/GroundTruthReader/IGroundTruthReader.class b/jedai-core/target/classes/DataReader/GroundTruthReader/IGroundTruthReader.class index c2c7579e..104b0773 100644 Binary files a/jedai-core/target/classes/DataReader/GroundTruthReader/IGroundTruthReader.class and b/jedai-core/target/classes/DataReader/GroundTruthReader/IGroundTruthReader.class differ diff --git a/jedai-core/target/classes/DataReader/IDataReader.class b/jedai-core/target/classes/DataReader/IDataReader.class index 0b8bb6bb..17f6d920 100644 Binary files a/jedai-core/target/classes/DataReader/IDataReader.class and b/jedai-core/target/classes/DataReader/IDataReader.class differ diff --git a/jedai-core/target/classes/EntityClustering/AbstractEntityClustering.class b/jedai-core/target/classes/EntityClustering/AbstractEntityClustering.class index 459b5a43..70bf0556 100644 Binary files a/jedai-core/target/classes/EntityClustering/AbstractEntityClustering.class and b/jedai-core/target/classes/EntityClustering/AbstractEntityClustering.class differ diff --git a/jedai-core/target/classes/EntityClustering/CenterClustering.class b/jedai-core/target/classes/EntityClustering/CenterClustering.class index 7aac472e..60802ea4 100644 Binary files a/jedai-core/target/classes/EntityClustering/CenterClustering.class and b/jedai-core/target/classes/EntityClustering/CenterClustering.class differ diff --git a/jedai-core/target/classes/EntityClustering/ConnectedComponentsClustering.class b/jedai-core/target/classes/EntityClustering/ConnectedComponentsClustering.class index fb681f09..1449040f 100644 Binary files a/jedai-core/target/classes/EntityClustering/ConnectedComponentsClustering.class and b/jedai-core/target/classes/EntityClustering/ConnectedComponentsClustering.class differ diff --git a/jedai-core/target/classes/EntityClustering/CutClustering.class b/jedai-core/target/classes/EntityClustering/CutClustering.class index 194ca453..9a0cd74f 100644 Binary files a/jedai-core/target/classes/EntityClustering/CutClustering.class and b/jedai-core/target/classes/EntityClustering/CutClustering.class differ diff --git a/jedai-core/target/classes/EntityClustering/IEntityClustering.class b/jedai-core/target/classes/EntityClustering/IEntityClustering.class index be00160a..869d4664 100644 Binary files a/jedai-core/target/classes/EntityClustering/IEntityClustering.class and b/jedai-core/target/classes/EntityClustering/IEntityClustering.class differ diff --git a/jedai-core/target/classes/EntityClustering/MarkovClustering.class b/jedai-core/target/classes/EntityClustering/MarkovClustering.class index de5a122a..e70a90c2 100644 Binary files a/jedai-core/target/classes/EntityClustering/MarkovClustering.class and b/jedai-core/target/classes/EntityClustering/MarkovClustering.class differ diff --git a/jedai-core/target/classes/EntityClustering/MergeCenterClustering.class b/jedai-core/target/classes/EntityClustering/MergeCenterClustering.class index f257e94a..c4835bdd 100644 Binary files a/jedai-core/target/classes/EntityClustering/MergeCenterClustering.class and b/jedai-core/target/classes/EntityClustering/MergeCenterClustering.class differ diff --git a/jedai-core/target/classes/EntityClustering/RicochetSRClustering.class b/jedai-core/target/classes/EntityClustering/RicochetSRClustering.class index e99aa538..8d201fa5 100644 Binary files a/jedai-core/target/classes/EntityClustering/RicochetSRClustering.class and b/jedai-core/target/classes/EntityClustering/RicochetSRClustering.class differ diff --git a/jedai-core/target/classes/EntityClustering/UniqueMappingClustering.class b/jedai-core/target/classes/EntityClustering/UniqueMappingClustering.class index 95a0a03d..f31c27a5 100644 Binary files a/jedai-core/target/classes/EntityClustering/UniqueMappingClustering.class and b/jedai-core/target/classes/EntityClustering/UniqueMappingClustering.class differ diff --git a/jedai-core/target/classes/EntityMatching/AbstractEntityMatching.class b/jedai-core/target/classes/EntityMatching/AbstractEntityMatching.class index 1a9b1e75..eb064091 100644 Binary files a/jedai-core/target/classes/EntityMatching/AbstractEntityMatching.class and b/jedai-core/target/classes/EntityMatching/AbstractEntityMatching.class differ diff --git a/jedai-core/target/classes/EntityMatching/GroupLinkage.class b/jedai-core/target/classes/EntityMatching/GroupLinkage.class index 37e7c0bf..dca43168 100644 Binary files a/jedai-core/target/classes/EntityMatching/GroupLinkage.class and b/jedai-core/target/classes/EntityMatching/GroupLinkage.class differ diff --git a/jedai-core/target/classes/EntityMatching/IEntityMatching.class b/jedai-core/target/classes/EntityMatching/IEntityMatching.class index 1e7d3771..69d5b5c3 100644 Binary files a/jedai-core/target/classes/EntityMatching/IEntityMatching.class and b/jedai-core/target/classes/EntityMatching/IEntityMatching.class differ diff --git a/jedai-core/target/classes/EntityMatching/ProfileMatcher.class b/jedai-core/target/classes/EntityMatching/ProfileMatcher.class index c85b0291..a8832d0a 100644 Binary files a/jedai-core/target/classes/EntityMatching/ProfileMatcher.class and b/jedai-core/target/classes/EntityMatching/ProfileMatcher.class differ diff --git a/jedai-core/target/classes/TextModels/AbstractModel.class b/jedai-core/target/classes/TextModels/AbstractModel.class index 93701655..bb9cfd32 100644 Binary files a/jedai-core/target/classes/TextModels/AbstractModel.class and b/jedai-core/target/classes/TextModels/AbstractModel.class differ diff --git a/jedai-core/target/classes/TextModels/BagModel.class b/jedai-core/target/classes/TextModels/BagModel.class index e52d6549..cbaad6ef 100644 Binary files a/jedai-core/target/classes/TextModels/BagModel.class and b/jedai-core/target/classes/TextModels/BagModel.class differ diff --git a/jedai-core/target/classes/TextModels/CharacterNGramGraphs.class b/jedai-core/target/classes/TextModels/CharacterNGramGraphs.class index 868643df..41f13e65 100644 Binary files a/jedai-core/target/classes/TextModels/CharacterNGramGraphs.class and b/jedai-core/target/classes/TextModels/CharacterNGramGraphs.class differ diff --git a/jedai-core/target/classes/TextModels/CharacterNGrams.class b/jedai-core/target/classes/TextModels/CharacterNGrams.class index 0b0caf38..fbb24134 100644 Binary files a/jedai-core/target/classes/TextModels/CharacterNGrams.class and b/jedai-core/target/classes/TextModels/CharacterNGrams.class differ diff --git a/jedai-core/target/classes/TextModels/GraphModel.class b/jedai-core/target/classes/TextModels/GraphModel.class index de246908..1ac2a4bc 100644 Binary files a/jedai-core/target/classes/TextModels/GraphModel.class and b/jedai-core/target/classes/TextModels/GraphModel.class differ diff --git a/jedai-core/target/classes/TextModels/ITextModel.class b/jedai-core/target/classes/TextModels/ITextModel.class index b41f0fa7..b6a2fb15 100644 Binary files a/jedai-core/target/classes/TextModels/ITextModel.class and b/jedai-core/target/classes/TextModels/ITextModel.class differ diff --git a/jedai-core/target/classes/TextModels/IncrementalCounter.class b/jedai-core/target/classes/TextModels/IncrementalCounter.class index e8cee908..1820734b 100644 Binary files a/jedai-core/target/classes/TextModels/IncrementalCounter.class and b/jedai-core/target/classes/TextModels/IncrementalCounter.class differ diff --git a/jedai-core/target/classes/TextModels/TokenNGramGraphs.class b/jedai-core/target/classes/TextModels/TokenNGramGraphs.class index e2acbaf1..c0e4cac4 100644 Binary files a/jedai-core/target/classes/TextModels/TokenNGramGraphs.class and b/jedai-core/target/classes/TextModels/TokenNGramGraphs.class differ diff --git a/jedai-core/target/classes/TextModels/TokenNGrams.class b/jedai-core/target/classes/TextModels/TokenNGrams.class index cdca71ca..c18b1fe5 100644 Binary files a/jedai-core/target/classes/TextModels/TokenNGrams.class and b/jedai-core/target/classes/TextModels/TokenNGrams.class differ diff --git a/jedai-core/target/classes/TextModels/TokenNGramsWithGlobalWeights.class b/jedai-core/target/classes/TextModels/TokenNGramsWithGlobalWeights.class index dbdd1762..83a165d6 100644 Binary files a/jedai-core/target/classes/TextModels/TokenNGramsWithGlobalWeights.class and b/jedai-core/target/classes/TextModels/TokenNGramsWithGlobalWeights.class differ diff --git a/jedai-core/target/classes/Utilities/BlocksPerformance.class b/jedai-core/target/classes/Utilities/BlocksPerformance.class index 4e9e58fd..68be324e 100644 Binary files a/jedai-core/target/classes/Utilities/BlocksPerformance.class and b/jedai-core/target/classes/Utilities/BlocksPerformance.class differ diff --git a/jedai-core/target/classes/Utilities/ClustersPerformance.class b/jedai-core/target/classes/Utilities/ClustersPerformance.class index a38b3319..528e70c3 100644 Binary files a/jedai-core/target/classes/Utilities/ClustersPerformance.class and b/jedai-core/target/classes/Utilities/ClustersPerformance.class differ diff --git a/jedai-core/target/classes/Utilities/Comparators/BlockCardinalityComparator.class b/jedai-core/target/classes/Utilities/Comparators/BlockCardinalityComparator.class index 490289f6..0f4958fb 100644 Binary files a/jedai-core/target/classes/Utilities/Comparators/BlockCardinalityComparator.class and b/jedai-core/target/classes/Utilities/Comparators/BlockCardinalityComparator.class differ diff --git a/jedai-core/target/classes/Utilities/Comparators/BlockUtilityComparator.class b/jedai-core/target/classes/Utilities/Comparators/BlockUtilityComparator.class index fb602784..5d5cde24 100644 Binary files a/jedai-core/target/classes/Utilities/Comparators/BlockUtilityComparator.class and b/jedai-core/target/classes/Utilities/Comparators/BlockUtilityComparator.class differ diff --git a/jedai-core/target/classes/Utilities/Comparators/ComparisonWeightComparator.class b/jedai-core/target/classes/Utilities/Comparators/ComparisonWeightComparator.class index 350e9820..44eb9c40 100644 Binary files a/jedai-core/target/classes/Utilities/Comparators/ComparisonWeightComparator.class and b/jedai-core/target/classes/Utilities/Comparators/ComparisonWeightComparator.class differ diff --git a/jedai-core/target/classes/Utilities/Comparators/SimilarityEdgeComparator.class b/jedai-core/target/classes/Utilities/Comparators/SimilarityEdgeComparator.class index 4ae14214..7bf6d8cb 100644 Binary files a/jedai-core/target/classes/Utilities/Comparators/SimilarityEdgeComparator.class and b/jedai-core/target/classes/Utilities/Comparators/SimilarityEdgeComparator.class differ diff --git a/jedai-core/target/classes/Utilities/Comparators/VertexWeightComparator.class b/jedai-core/target/classes/Utilities/Comparators/VertexWeightComparator.class index 53b4b298..8ca29256 100644 Binary files a/jedai-core/target/classes/Utilities/Comparators/VertexWeightComparator.class and b/jedai-core/target/classes/Utilities/Comparators/VertexWeightComparator.class differ diff --git a/jedai-core/target/classes/Utilities/Converter.class b/jedai-core/target/classes/Utilities/Converter.class index 335acee6..ca005b97 100644 Binary files a/jedai-core/target/classes/Utilities/Converter.class and b/jedai-core/target/classes/Utilities/Converter.class differ diff --git a/jedai-core/target/classes/Utilities/DataStructures/AbstractDuplicatePropagation.class b/jedai-core/target/classes/Utilities/DataStructures/AbstractDuplicatePropagation.class index d62515fc..4576a76d 100644 Binary files a/jedai-core/target/classes/Utilities/DataStructures/AbstractDuplicatePropagation.class and b/jedai-core/target/classes/Utilities/DataStructures/AbstractDuplicatePropagation.class differ diff --git a/jedai-core/target/classes/Utilities/DataStructures/BilateralDuplicatePropagation.class b/jedai-core/target/classes/Utilities/DataStructures/BilateralDuplicatePropagation.class index cc66dd15..6053a1bf 100644 Binary files a/jedai-core/target/classes/Utilities/DataStructures/BilateralDuplicatePropagation.class and b/jedai-core/target/classes/Utilities/DataStructures/BilateralDuplicatePropagation.class differ diff --git a/jedai-core/target/classes/Utilities/DataStructures/EntityIndex.class b/jedai-core/target/classes/Utilities/DataStructures/EntityIndex.class index a9970156..ddb7bfe8 100644 Binary files a/jedai-core/target/classes/Utilities/DataStructures/EntityIndex.class and b/jedai-core/target/classes/Utilities/DataStructures/EntityIndex.class differ diff --git a/jedai-core/target/classes/Utilities/DataStructures/GroundTruthIndex.class b/jedai-core/target/classes/Utilities/DataStructures/GroundTruthIndex.class index 9a05404e..6be218ae 100644 Binary files a/jedai-core/target/classes/Utilities/DataStructures/GroundTruthIndex.class and b/jedai-core/target/classes/Utilities/DataStructures/GroundTruthIndex.class differ diff --git a/jedai-core/target/classes/Utilities/DataStructures/UnilateralDuplicatePropagation.class b/jedai-core/target/classes/Utilities/DataStructures/UnilateralDuplicatePropagation.class index 5b6ca7fc..15373232 100644 Binary files a/jedai-core/target/classes/Utilities/DataStructures/UnilateralDuplicatePropagation.class and b/jedai-core/target/classes/Utilities/DataStructures/UnilateralDuplicatePropagation.class differ diff --git a/jedai-core/target/classes/Utilities/Enumerations/BlockBuildingMethod.class b/jedai-core/target/classes/Utilities/Enumerations/BlockBuildingMethod.class index d37fe827..cead5aed 100644 Binary files a/jedai-core/target/classes/Utilities/Enumerations/BlockBuildingMethod.class and b/jedai-core/target/classes/Utilities/Enumerations/BlockBuildingMethod.class differ diff --git a/jedai-core/target/classes/Utilities/Enumerations/RepresentationModel.class b/jedai-core/target/classes/Utilities/Enumerations/RepresentationModel.class index f72d322f..fd00f444 100644 Binary files a/jedai-core/target/classes/Utilities/Enumerations/RepresentationModel.class and b/jedai-core/target/classes/Utilities/Enumerations/RepresentationModel.class differ diff --git a/jedai-core/target/classes/Utilities/Enumerations/SimilarityMetric.class b/jedai-core/target/classes/Utilities/Enumerations/SimilarityMetric.class index c991934d..4de29db2 100644 Binary files a/jedai-core/target/classes/Utilities/Enumerations/SimilarityMetric.class and b/jedai-core/target/classes/Utilities/Enumerations/SimilarityMetric.class differ diff --git a/jedai-core/target/classes/Utilities/Enumerations/WeightingScheme.class b/jedai-core/target/classes/Utilities/Enumerations/WeightingScheme.class index 7266c0d4..d6264af8 100644 Binary files a/jedai-core/target/classes/Utilities/Enumerations/WeightingScheme.class and b/jedai-core/target/classes/Utilities/Enumerations/WeightingScheme.class differ diff --git a/jedai-core/target/classes/Utilities/PrintToFile.class b/jedai-core/target/classes/Utilities/PrintToFile.class index 5d37776f..6ad2e608 100644 Binary files a/jedai-core/target/classes/Utilities/PrintToFile.class and b/jedai-core/target/classes/Utilities/PrintToFile.class differ diff --git a/jedai-core/target/maven-archiver/pom.properties b/jedai-core/target/maven-archiver/pom.properties index 180187dd..67f58aea 100644 --- a/jedai-core/target/maven-archiver/pom.properties +++ b/jedai-core/target/maven-archiver/pom.properties @@ -1,5 +1,5 @@ #Generated by Maven -#Thu Jun 22 10:17:42 EEST 2017 -version=1.1-SNAPSHOT +#Thu Jun 22 12:28:59 EEST 2017 +version=1.1 groupId=jedai-core -artifactId=jedai-core +artifactId=jedaiLibrary diff --git a/jedai-core/target/surefire-reports/BlockBuilding.TestAllMethodsCleanCleanER.txt b/jedai-core/target/surefire-reports/BlockBuilding.TestAllMethodsCleanCleanER.txt index 7b75a25c..d9241d49 100644 --- a/jedai-core/target/surefire-reports/BlockBuilding.TestAllMethodsCleanCleanER.txt +++ b/jedai-core/target/surefire-reports/BlockBuilding.TestAllMethodsCleanCleanER.txt @@ -1,4 +1,4 @@ ------------------------------------------------------------------------------- Test set: BlockBuilding.TestAllMethodsCleanCleanER ------------------------------------------------------------------------------- -Tests run: 0, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.024 sec +Tests run: 0, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.009 sec diff --git a/jedai-core/target/surefire-reports/BlockBuilding.TestAllMethodsDirtyER.txt b/jedai-core/target/surefire-reports/BlockBuilding.TestAllMethodsDirtyER.txt index 1b6e7409..5d88f7f2 100644 --- a/jedai-core/target/surefire-reports/BlockBuilding.TestAllMethodsDirtyER.txt +++ b/jedai-core/target/surefire-reports/BlockBuilding.TestAllMethodsDirtyER.txt @@ -1,4 +1,4 @@ ------------------------------------------------------------------------------- Test set: BlockBuilding.TestAllMethodsDirtyER ------------------------------------------------------------------------------- -Tests run: 0, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.002 sec +Tests run: 0, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec diff --git a/jedai-core/target/surefire-reports/BlockProcessing.ComparisonRefinement.TestAllMethods.txt b/jedai-core/target/surefire-reports/BlockProcessing.ComparisonRefinement.TestAllMethods.txt index e307de62..76b6413e 100644 --- a/jedai-core/target/surefire-reports/BlockProcessing.ComparisonRefinement.TestAllMethods.txt +++ b/jedai-core/target/surefire-reports/BlockProcessing.ComparisonRefinement.TestAllMethods.txt @@ -1,4 +1,4 @@ ------------------------------------------------------------------------------- Test set: BlockProcessing.ComparisonRefinement.TestAllMethods ------------------------------------------------------------------------------- -Tests run: 0, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec +Tests run: 0, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.002 sec diff --git a/jedai-core/target/surefire-reports/DataReader.TestDBReader.txt b/jedai-core/target/surefire-reports/DataReader.TestDBReader.txt index beeb27d8..19d923f2 100644 --- a/jedai-core/target/surefire-reports/DataReader.TestDBReader.txt +++ b/jedai-core/target/surefire-reports/DataReader.TestDBReader.txt @@ -1,4 +1,4 @@ ------------------------------------------------------------------------------- Test set: DataReader.TestDBReader ------------------------------------------------------------------------------- -Tests run: 0, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.004 sec +Tests run: 0, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec diff --git a/jedai-core/target/surefire-reports/DataReader.TestEntityCSVReader.txt b/jedai-core/target/surefire-reports/DataReader.TestEntityCSVReader.txt index 8786034b..8ad10806 100644 --- a/jedai-core/target/surefire-reports/DataReader.TestEntityCSVReader.txt +++ b/jedai-core/target/surefire-reports/DataReader.TestEntityCSVReader.txt @@ -1,4 +1,4 @@ ------------------------------------------------------------------------------- Test set: DataReader.TestEntityCSVReader ------------------------------------------------------------------------------- -Tests run: 0, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec +Tests run: 0, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0 sec diff --git a/jedai-core/target/surefire-reports/DataReader.TestGtIIMBbenchmarksReader.txt b/jedai-core/target/surefire-reports/DataReader.TestGtIIMBbenchmarksReader.txt index 4840d8a1..9ab51dee 100644 --- a/jedai-core/target/surefire-reports/DataReader.TestGtIIMBbenchmarksReader.txt +++ b/jedai-core/target/surefire-reports/DataReader.TestGtIIMBbenchmarksReader.txt @@ -1,4 +1,4 @@ ------------------------------------------------------------------------------- Test set: DataReader.TestGtIIMBbenchmarksReader ------------------------------------------------------------------------------- -Tests run: 0, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.002 sec +Tests run: 0, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.004 sec diff --git a/jedai-core/target/surefire-reports/DataReader.TestGtOAEIbenchmarksReader.txt b/jedai-core/target/surefire-reports/DataReader.TestGtOAEIbenchmarksReader.txt index c375ea4a..c11386c5 100644 --- a/jedai-core/target/surefire-reports/DataReader.TestGtOAEIbenchmarksReader.txt +++ b/jedai-core/target/surefire-reports/DataReader.TestGtOAEIbenchmarksReader.txt @@ -1,4 +1,4 @@ ------------------------------------------------------------------------------- Test set: DataReader.TestGtOAEIbenchmarksReader ------------------------------------------------------------------------------- -Tests run: 0, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.002 sec +Tests run: 0, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.004 sec diff --git a/jedai-core/target/surefire-reports/DataReader.TestGtRDFReader.txt b/jedai-core/target/surefire-reports/DataReader.TestGtRDFReader.txt index 093a4286..aec8503a 100644 --- a/jedai-core/target/surefire-reports/DataReader.TestGtRDFReader.txt +++ b/jedai-core/target/surefire-reports/DataReader.TestGtRDFReader.txt @@ -1,4 +1,4 @@ ------------------------------------------------------------------------------- Test set: DataReader.TestGtRDFReader ------------------------------------------------------------------------------- -Tests run: 0, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.002 sec +Tests run: 0, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec diff --git a/jedai-core/target/surefire-reports/EntityMatching.TestAllMethods.txt b/jedai-core/target/surefire-reports/EntityMatching.TestAllMethods.txt index dec7a5d9..ae95411c 100644 --- a/jedai-core/target/surefire-reports/EntityMatching.TestAllMethods.txt +++ b/jedai-core/target/surefire-reports/EntityMatching.TestAllMethods.txt @@ -1,4 +1,4 @@ ------------------------------------------------------------------------------- Test set: EntityMatching.TestAllMethods ------------------------------------------------------------------------------- -Tests run: 0, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.002 sec +Tests run: 0, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.007 sec diff --git a/jedai-core/target/surefire-reports/EntityMatching.TestGroupLinkage.txt b/jedai-core/target/surefire-reports/EntityMatching.TestGroupLinkage.txt index d118b89b..e8e2cc43 100644 --- a/jedai-core/target/surefire-reports/EntityMatching.TestGroupLinkage.txt +++ b/jedai-core/target/surefire-reports/EntityMatching.TestGroupLinkage.txt @@ -1,4 +1,4 @@ ------------------------------------------------------------------------------- Test set: EntityMatching.TestGroupLinkage ------------------------------------------------------------------------------- -Tests run: 0, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec +Tests run: 0, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0 sec diff --git a/jedai-core/target/surefire-reports/TEST-BlockBuilding.TestAllMethodsCleanCleanER.xml b/jedai-core/target/surefire-reports/TEST-BlockBuilding.TestAllMethodsCleanCleanER.xml index 2e8b3f9f..663e8c85 100644 --- a/jedai-core/target/surefire-reports/TEST-BlockBuilding.TestAllMethodsCleanCleanER.xml +++ b/jedai-core/target/surefire-reports/TEST-BlockBuilding.TestAllMethodsCleanCleanER.xml @@ -1,5 +1,5 @@ - + diff --git a/jedai-core/target/surefire-reports/TEST-BlockBuilding.TestAllMethodsDirtyER.xml b/jedai-core/target/surefire-reports/TEST-BlockBuilding.TestAllMethodsDirtyER.xml index 31431748..6d8d96b1 100644 --- a/jedai-core/target/surefire-reports/TEST-BlockBuilding.TestAllMethodsDirtyER.xml +++ b/jedai-core/target/surefire-reports/TEST-BlockBuilding.TestAllMethodsDirtyER.xml @@ -1,5 +1,5 @@ - + diff --git a/jedai-core/target/surefire-reports/TEST-BlockProcessing.ComparisonRefinement.TestAllMethods.xml b/jedai-core/target/surefire-reports/TEST-BlockProcessing.ComparisonRefinement.TestAllMethods.xml index 155be1cc..ad0b39d3 100644 --- a/jedai-core/target/surefire-reports/TEST-BlockProcessing.ComparisonRefinement.TestAllMethods.xml +++ b/jedai-core/target/surefire-reports/TEST-BlockProcessing.ComparisonRefinement.TestAllMethods.xml @@ -1,5 +1,5 @@ - + diff --git a/jedai-core/target/surefire-reports/TEST-DataReader.TestDBReader.xml b/jedai-core/target/surefire-reports/TEST-DataReader.TestDBReader.xml index 6f77342a..a9b3100d 100644 --- a/jedai-core/target/surefire-reports/TEST-DataReader.TestDBReader.xml +++ b/jedai-core/target/surefire-reports/TEST-DataReader.TestDBReader.xml @@ -1,5 +1,5 @@ - + diff --git a/jedai-core/target/surefire-reports/TEST-DataReader.TestEntityCSVReader.xml b/jedai-core/target/surefire-reports/TEST-DataReader.TestEntityCSVReader.xml index dcca49a5..93337e0e 100644 --- a/jedai-core/target/surefire-reports/TEST-DataReader.TestEntityCSVReader.xml +++ b/jedai-core/target/surefire-reports/TEST-DataReader.TestEntityCSVReader.xml @@ -1,5 +1,5 @@ - + diff --git a/jedai-core/target/surefire-reports/TEST-DataReader.TestGtOAEIbenchmarksReader.xml b/jedai-core/target/surefire-reports/TEST-DataReader.TestGtOAEIbenchmarksReader.xml index 063c1cda..024e19c7 100644 --- a/jedai-core/target/surefire-reports/TEST-DataReader.TestGtOAEIbenchmarksReader.xml +++ b/jedai-core/target/surefire-reports/TEST-DataReader.TestGtOAEIbenchmarksReader.xml @@ -1,5 +1,5 @@ - + diff --git a/jedai-core/target/surefire-reports/TEST-DataReader.TestGtRDFReader.xml b/jedai-core/target/surefire-reports/TEST-DataReader.TestGtRDFReader.xml index 946e2620..1144ef84 100644 --- a/jedai-core/target/surefire-reports/TEST-DataReader.TestGtRDFReader.xml +++ b/jedai-core/target/surefire-reports/TEST-DataReader.TestGtRDFReader.xml @@ -1,5 +1,5 @@ - + diff --git a/jedai-core/target/test-classes/BlockBuilding/TestAllMethodsCleanCleanER.class b/jedai-core/target/test-classes/BlockBuilding/TestAllMethodsCleanCleanER.class index e16ed9ed..1b0336ac 100644 Binary files a/jedai-core/target/test-classes/BlockBuilding/TestAllMethodsCleanCleanER.class and b/jedai-core/target/test-classes/BlockBuilding/TestAllMethodsCleanCleanER.class differ diff --git a/jedai-core/target/test-classes/BlockBuilding/TestAllMethodsDirtyER.class b/jedai-core/target/test-classes/BlockBuilding/TestAllMethodsDirtyER.class index 48b3abd8..8574e148 100644 Binary files a/jedai-core/target/test-classes/BlockBuilding/TestAllMethodsDirtyER.class and b/jedai-core/target/test-classes/BlockBuilding/TestAllMethodsDirtyER.class differ diff --git a/jedai-core/target/test-classes/BlockProcessing/BlockRefinement/TestAllMethods.class b/jedai-core/target/test-classes/BlockProcessing/BlockRefinement/TestAllMethods.class index 7b66303f..2b3bd987 100644 Binary files a/jedai-core/target/test-classes/BlockProcessing/BlockRefinement/TestAllMethods.class and b/jedai-core/target/test-classes/BlockProcessing/BlockRefinement/TestAllMethods.class differ diff --git a/jedai-core/target/test-classes/BlockProcessing/ComparisonRefinement/TestAllMethods.class b/jedai-core/target/test-classes/BlockProcessing/ComparisonRefinement/TestAllMethods.class index f5d803f4..506ec190 100644 Binary files a/jedai-core/target/test-classes/BlockProcessing/ComparisonRefinement/TestAllMethods.class and b/jedai-core/target/test-classes/BlockProcessing/ComparisonRefinement/TestAllMethods.class differ diff --git a/jedai-core/target/test-classes/DataReader/TestDBReader.class b/jedai-core/target/test-classes/DataReader/TestDBReader.class index 29f49c53..b5bd3af7 100644 Binary files a/jedai-core/target/test-classes/DataReader/TestDBReader.class and b/jedai-core/target/test-classes/DataReader/TestDBReader.class differ diff --git a/jedai-core/target/test-classes/DataReader/TestEntityCSVReader.class b/jedai-core/target/test-classes/DataReader/TestEntityCSVReader.class index 118ef4bd..d8d40612 100644 Binary files a/jedai-core/target/test-classes/DataReader/TestEntityCSVReader.class and b/jedai-core/target/test-classes/DataReader/TestEntityCSVReader.class differ diff --git a/jedai-core/target/test-classes/DataReader/TestGtCSVReader.class b/jedai-core/target/test-classes/DataReader/TestGtCSVReader.class index 65acac5d..379de628 100644 Binary files a/jedai-core/target/test-classes/DataReader/TestGtCSVReader.class and b/jedai-core/target/test-classes/DataReader/TestGtCSVReader.class differ diff --git a/jedai-core/target/test-classes/DataReader/TestGtIIMBbenchmarksReader.class b/jedai-core/target/test-classes/DataReader/TestGtIIMBbenchmarksReader.class index 53846d4d..d83930ea 100644 Binary files a/jedai-core/target/test-classes/DataReader/TestGtIIMBbenchmarksReader.class and b/jedai-core/target/test-classes/DataReader/TestGtIIMBbenchmarksReader.class differ diff --git a/jedai-core/target/test-classes/DataReader/TestGtOAEIbenchmarksReader.class b/jedai-core/target/test-classes/DataReader/TestGtOAEIbenchmarksReader.class index 8f253880..4a9e63d5 100644 Binary files a/jedai-core/target/test-classes/DataReader/TestGtOAEIbenchmarksReader.class and b/jedai-core/target/test-classes/DataReader/TestGtOAEIbenchmarksReader.class differ diff --git a/jedai-core/target/test-classes/DataReader/TestGtRDFReader.class b/jedai-core/target/test-classes/DataReader/TestGtRDFReader.class index 905558f5..d9b3d645 100644 Binary files a/jedai-core/target/test-classes/DataReader/TestGtRDFReader.class and b/jedai-core/target/test-classes/DataReader/TestGtRDFReader.class differ diff --git a/jedai-core/target/test-classes/DataReader/TestRdfReader.class b/jedai-core/target/test-classes/DataReader/TestRdfReader.class index cd8ccc34..eaca37b9 100644 Binary files a/jedai-core/target/test-classes/DataReader/TestRdfReader.class and b/jedai-core/target/test-classes/DataReader/TestRdfReader.class differ diff --git a/jedai-core/target/test-classes/DataReader/TestXMLreader.class b/jedai-core/target/test-classes/DataReader/TestXMLreader.class index bf8cf2a2..6da9fab6 100644 Binary files a/jedai-core/target/test-classes/DataReader/TestXMLreader.class and b/jedai-core/target/test-classes/DataReader/TestXMLreader.class differ diff --git a/jedai-core/target/test-classes/EntityClustering/TestAllMethods.class b/jedai-core/target/test-classes/EntityClustering/TestAllMethods.class index 8bcf6485..44074d84 100644 Binary files a/jedai-core/target/test-classes/EntityClustering/TestAllMethods.class and b/jedai-core/target/test-classes/EntityClustering/TestAllMethods.class differ diff --git a/jedai-core/target/test-classes/EntityMatching/TestAllMethods.class b/jedai-core/target/test-classes/EntityMatching/TestAllMethods.class index fe6df7fa..eb3f7f29 100644 Binary files a/jedai-core/target/test-classes/EntityMatching/TestAllMethods.class and b/jedai-core/target/test-classes/EntityMatching/TestAllMethods.class differ diff --git a/jedai-core/target/test-classes/EntityMatching/TestGroupLinkage.class b/jedai-core/target/test-classes/EntityMatching/TestGroupLinkage.class index f95e56d4..bc3eff63 100644 Binary files a/jedai-core/target/test-classes/EntityMatching/TestGroupLinkage.class and b/jedai-core/target/test-classes/EntityMatching/TestGroupLinkage.class differ diff --git a/jedai-core/target/test-classes/GeneralExamples/DirtyErDatasetStatistics.class b/jedai-core/target/test-classes/GeneralExamples/DirtyErDatasetStatistics.class index f15e16df..93ae115d 100644 Binary files a/jedai-core/target/test-classes/GeneralExamples/DirtyErDatasetStatistics.class and b/jedai-core/target/test-classes/GeneralExamples/DirtyErDatasetStatistics.class differ