diff --git a/extensions/wikidata/lib-local/wdtk-datamodel-0.9.0-SNAPSHOT-jar-with-dependencies.jar b/extensions/wikidata/lib-local/wdtk-datamodel-0.9.0-SNAPSHOT-jar-with-dependencies.jar deleted file mode 100644 index 4cefe5a59..000000000 Binary files a/extensions/wikidata/lib-local/wdtk-datamodel-0.9.0-SNAPSHOT-jar-with-dependencies.jar and /dev/null differ diff --git a/extensions/wikidata/lib-local/wdtk-wikibaseapi-0.9.0-SNAPSHOT.jar b/extensions/wikidata/lib-local/wdtk-wikibaseapi-0.9.0-SNAPSHOT.jar deleted file mode 100644 index fb099272b..000000000 Binary files a/extensions/wikidata/lib-local/wdtk-wikibaseapi-0.9.0-SNAPSHOT.jar and /dev/null differ diff --git a/extensions/wikidata/pom.xml b/extensions/wikidata/pom.xml index d11858f4b..00c2b0b01 100644 --- a/extensions/wikidata/pom.xml +++ b/extensions/wikidata/pom.xml @@ -93,45 +93,6 @@ - - org.apache.maven.plugins - maven-install-plugin - 2.5.2 - - - install-wdtk-datamodel - process-resources - - ${basedir}/lib-local/wdtk-datamodel-0.9.0-SNAPSHOT-jar-with-dependencies.jar - default - org.wikidata.wdtk - wdtk-datamodel - 0.9.0-SNAPSHOT - jar - true - - - install-file - - - - install-wdtk-wikibaseapi - process-resources - - ${basedir}/lib-local/wdtk-wikibaseapi-0.9.0-SNAPSHOT.jar - default - org.wikidata.wdtk - wdtk-wikibaseapi - 0.9.0-SNAPSHOT - jar - true - - - install-file - - - - org.apache.maven.plugins maven-clean-plugin @@ -163,12 +124,12 @@ org.wikidata.wdtk wdtk-wikibaseapi - 0.9.0-SNAPSHOT + 0.10.0 org.wikidata.wdtk wdtk-datamodel - 0.9.0-SNAPSHOT + 0.10.0 org.slf4j diff --git a/extensions/wikidata/src/org/openrefine/wikidata/editing/EditBatchProcessor.java b/extensions/wikidata/src/org/openrefine/wikidata/editing/EditBatchProcessor.java index 4618febc2..5c8e98ef7 100644 --- a/extensions/wikidata/src/org/openrefine/wikidata/editing/EditBatchProcessor.java +++ b/extensions/wikidata/src/org/openrefine/wikidata/editing/EditBatchProcessor.java @@ -211,7 +211,10 @@ public class EditBatchProcessor { } catch (MediaWikiApiErrorException e) { e.printStackTrace(); Thread.sleep(5000); - } + } catch (IOException e) { + e.printStackTrace(); + Thread.sleep(5000); + } retries--; } if (currentDocs == null) { diff --git a/extensions/wikidata/src/org/openrefine/wikidata/exporters/QSValuePrinter.java b/extensions/wikidata/src/org/openrefine/wikidata/exporters/QSValuePrinter.java index 4a4153f57..5e4e86a10 100644 --- a/extensions/wikidata/src/org/openrefine/wikidata/exporters/QSValuePrinter.java +++ b/extensions/wikidata/src/org/openrefine/wikidata/exporters/QSValuePrinter.java @@ -31,6 +31,7 @@ import org.openrefine.wikidata.updates.scheduler.QuickStatementsUpdateScheduler; import org.wikidata.wdtk.datamodel.interfaces.DatatypeIdValue; import org.wikidata.wdtk.datamodel.interfaces.EntityIdValue; import org.wikidata.wdtk.datamodel.interfaces.GlobeCoordinatesValue; +import org.wikidata.wdtk.datamodel.interfaces.ItemIdValue; import org.wikidata.wdtk.datamodel.interfaces.MonolingualTextValue; import org.wikidata.wdtk.datamodel.interfaces.QuantityValue; import org.wikidata.wdtk.datamodel.interfaces.StringValue; @@ -50,12 +51,6 @@ import org.wikidata.wdtk.datamodel.interfaces.ValueVisitor; */ public class QSValuePrinter implements ValueVisitor { - @Override - public String visit(DatatypeIdValue value) { - // impossible case (this is actually a bug in WDTK, DatatypeIdValue should not subclass Value) - throw new IllegalArgumentException(); - } - @Override public String visit(EntityIdValue value) { if (ReconEntityIdValue.class.isInstance(value) && ((ReconEntityIdValue) value).isNew()) { @@ -76,12 +71,10 @@ public class QSValuePrinter implements ValueVisitor { @Override public String visit(QuantityValue value) { - String unitPrefix = "http://www.wikidata.org/entity/Q"; - String unitIri = value.getUnit(); + ItemIdValue unit = value.getUnitItemId(); String unitRepresentation = "", boundsRepresentation = ""; - if (!unitIri.isEmpty()) { - if (!unitIri.startsWith(unitPrefix)) return null; // QuickStatements only accepts Qids as units - unitRepresentation = "U" + unitIri.substring(unitPrefix.length()); + if (unit != null) { + unitRepresentation = "U" + unit.getId().substring(1); } if (value.getLowerBound() != null) { // bounds are always null at the same time so we know they are both not null diff --git a/extensions/wikidata/src/org/openrefine/wikidata/qa/scrutinizers/QuantityScrutinizer.java b/extensions/wikidata/src/org/openrefine/wikidata/qa/scrutinizers/QuantityScrutinizer.java index ea711fe56..314fc1550 100644 --- a/extensions/wikidata/src/org/openrefine/wikidata/qa/scrutinizers/QuantityScrutinizer.java +++ b/extensions/wikidata/src/org/openrefine/wikidata/qa/scrutinizers/QuantityScrutinizer.java @@ -45,22 +45,19 @@ public class QuantityScrutinizer extends SnakScrutinizer { addIssue(issue); } Set allowedUnits = _fetcher.allowedUnits(pid); - String currentUnit = null; - if (value.getUnit() != null && !value.getUnit().equals("")) { - currentUnit = value.getUnit(); + ItemIdValue currentUnit = null; + if (value.getUnitItemId() != null) { + currentUnit = value.getUnitItemId(); } if(allowedUnits != null && - !allowedUnits.stream().map(u -> u != null ? u.getIri() : null) - .collect(Collectors.toSet()).contains(currentUnit)) { + !allowedUnits.contains(currentUnit)) { String issueType = currentUnit == null ? noUnitProvidedType : invalidUnitType; QAWarning issue = new QAWarning(issueType, pid.getId(), QAWarning.Severity.IMPORTANT, 1); issue.setProperty("property_entity", pid); issue.setProperty("example_value", value.getNumericValue().toString()); issue.setProperty("example_item_entity", entityId); if (currentUnit != null) { - issue.setProperty("unit_entity", - // this is a hack but it will not be needed anymore in the upcoming version of Wikidata-Toolkit - Datamodel.makeWikidataItemIdValue(currentUnit.substring(currentUnit.indexOf("Q")))); + issue.setProperty("unit_entity", value.getUnitItemId()); } addIssue(issue); } diff --git a/extensions/wikidata/src/org/openrefine/wikidata/updates/scheduler/PointerExtractor.java b/extensions/wikidata/src/org/openrefine/wikidata/updates/scheduler/PointerExtractor.java index 7fac7b09e..6bb801379 100644 --- a/extensions/wikidata/src/org/openrefine/wikidata/updates/scheduler/PointerExtractor.java +++ b/extensions/wikidata/src/org/openrefine/wikidata/updates/scheduler/PointerExtractor.java @@ -122,11 +122,6 @@ public class PointerExtractor implements ValueVisitor> { return pointers; } - @Override - public Set visit(DatatypeIdValue value) { - return null; - } - @Override public Set visit(EntityIdValue value) { if (ReconItemIdValue.class.isInstance(value)) { diff --git a/extensions/wikidata/tests/src/org/openrefine/wikidata/updates/scheduler/PointerExtractorTest.java b/extensions/wikidata/tests/src/org/openrefine/wikidata/updates/scheduler/PointerExtractorTest.java index 6bab3955a..5671c173e 100644 --- a/extensions/wikidata/tests/src/org/openrefine/wikidata/updates/scheduler/PointerExtractorTest.java +++ b/extensions/wikidata/tests/src/org/openrefine/wikidata/updates/scheduler/PointerExtractorTest.java @@ -66,7 +66,6 @@ public class PointerExtractorTest { @Test public void testExtractDatavalues() { - assertEmpty(Datamodel.makeDatatypeIdValue("string")); assertEmpty(Datamodel.makeGlobeCoordinatesValue(1.34, 2.354, 0.1, GlobeCoordinatesValue.GLOBE_EARTH)); assertEmpty(Datamodel.makeStringValue("est")); assertEmpty(Datamodel.makeMonolingualTextValue("srtu", "en"));