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"));