From 0d34360c2427715c9913a94e7f622a2c9d70338e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20B=C3=B6sch-Plepelits?= Date: Thu, 28 May 2020 18:57:48 +0200 Subject: [PATCH] tag2link: import 'operator' from wikidata formatter urls --- bin/tag2link-converter | 6 +++++- lib/tag2link-wikidata.qry | 19 +++++++++++-------- 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/bin/tag2link-converter b/bin/tag2link-converter index 684f8f84..f7ab18d6 100755 --- a/bin/tag2link-converter +++ b/bin/tag2link-converter @@ -29,7 +29,11 @@ foreach ($files as $file) { 'link' => $link, ); - if (preg_match("/^https?:\/\/([^\/]*)(\/.*|)$/", $link, $m)) { + if (array_key_exists('operatorLabel', $entry)) { + $formatter['operator'] = $entry['operatorLabel']['value']; + print "{$formatter['operator']}\n"; + } + else if (preg_match("/^https?:\/\/([^\/]*)(\/.*|)$/", $link, $m)) { $formatter['operator'] = $m[1]; } diff --git a/lib/tag2link-wikidata.qry b/lib/tag2link-wikidata.qry index 4aa83f89..87bdaf57 100644 --- a/lib/tag2link-wikidata.qry +++ b/lib/tag2link-wikidata.qry @@ -1,12 +1,15 @@ -SELECT ?item ?itemLabel ?OSM_key ?formatter_URL WHERE { - { ?item wdt:P1282 ?OSM_key. } - FILTER(STRSTARTS(?OSM_key, 'Key:')) . - FILTER(?OSM_key NOT IN ('Key:image', 'Key:url', 'Key:website', 'Key:wikidata', 'Key:wikimedia_commons')) . +SELECT ?itemLabel ?OSM_key ?formatter_URL ?operatorLabel WHERE { + ?item wdt:P1282 ?OSM_key . + FILTER(?OSM_key NOT IN("Key:image", "Key:url", "Key:website", "Key:wikidata", "Key:wikimedia_commons")) SERVICE wikibase:label { bd:serviceParam wikibase:language "en". } - { - { ?item wdt:P1630 ?formatter_URL. } - UNION - { ?item wdt:P3303 ?formatter_URL. } + ?item p:P1630 ?statement. + ?statement ps:P1630 ?formatter_URL. } + UNION + { + ?item p:P3303 ?statement. + ?statement ps:P3303 ?formatter_URL. + } + OPTIONAL { ?statement pq:P137 ?operator. } }