diff --git a/extensions/wikidata/module/scripts/dialogs/schema-alignment-dialog.js b/extensions/wikidata/module/scripts/dialogs/schema-alignment-dialog.js index cac6f44a5..61095fd24 100644 --- a/extensions/wikidata/module/scripts/dialogs/schema-alignment-dialog.js +++ b/extensions/wikidata/module/scripts/dialogs/schema-alignment-dialog.js @@ -301,6 +301,7 @@ SchemaAlignmentDialog._addNameDesc = function(item, json) { .attr('value', 'ALIAS') .text('Alias') .appendTo(type_input); + type_input.val(type); var toolbar = $('
').addClass('wbs-toolbar').appendTo(namedesc); $('').attr('alt', 'remove name/description').click(function() { @@ -317,10 +318,10 @@ SchemaAlignmentDialog._nameDescToJSON = function (namedesc) { var type = namedesc.find('select').first().val(); var value = namedesc.find('.wbs-namedesc-value').first().data("jsonValue"); return { - type: "wbnamedescexpr", + type: "wbnamedescexpr", name_type: type, value: value, - } + }; } @@ -551,7 +552,7 @@ SchemaAlignmentDialog._getPropertyType = function(pid, callback) { props: "datatype", }, dataType: "jsonp", - success: function(data) { + success: function(data) { callback(data.entities[pid].datatype); }}); } @@ -884,7 +885,7 @@ $.suggest("langsuggest", { success: function(data) { self.response(self.convertResults(data)); }, - dataType: "jsonp", + dataType: "jsonp", }; $.ajax(ajax_options); }, diff --git a/extensions/wikidata/src/org/openrefine/wikidata/exporters/QuickStatementsExporter.java b/extensions/wikidata/src/org/openrefine/wikidata/exporters/QuickStatementsExporter.java index 9354e3c5f..93067c98f 100644 --- a/extensions/wikidata/src/org/openrefine/wikidata/exporters/QuickStatementsExporter.java +++ b/extensions/wikidata/src/org/openrefine/wikidata/exporters/QuickStatementsExporter.java @@ -76,6 +76,7 @@ public class QuickStatementsExporter implements WriterExporter { if (item.getItemId().getId() == "Q0") { writer.write("CREATE\n"); qid = "LAST"; + item.normalizeLabelsAndAliases(); } translateNameDescr(qid, item.getLabels(), "L", item.getItemId(), writer); diff --git a/extensions/wikidata/src/org/openrefine/wikidata/schema/ItemUpdate.java b/extensions/wikidata/src/org/openrefine/wikidata/schema/ItemUpdate.java index 172fe328e..404813459 100644 --- a/extensions/wikidata/src/org/openrefine/wikidata/schema/ItemUpdate.java +++ b/extensions/wikidata/src/org/openrefine/wikidata/schema/ItemUpdate.java @@ -156,4 +156,28 @@ public class ItemUpdate { } return map; } + + /** + * This should only be used when creating a new item. + * This ensures that we never add an alias without adding + * a label in the same language. + */ + public void normalizeLabelsAndAliases() { + // Ensure that we are only adding aliases with labels + List