Smalyshev has uploaded a new change for review.
https://gerrit.wikimedia.org/r/215690
Change subject: T98810: add specific types for extended values
......................................................................
T98810: add specific types for extended values
Change-Id: I0850de272bcca5bc070a47ac8ec969bfd4510f1d
---
M repo/includes/rdf/ComplexValueRdfBuilder.php
M repo/includes/rdf/RdfVocabulary.php
M repo/includes/rdf/SimpleValueRdfBuilder.php
M repo/tests/phpunit/data/rdf/FullStatementRdfBuilder/Q4_all.nt
M repo/tests/phpunit/data/rdf/FullStatementRdfBuilder/Q4_values.nt
M repo/tests/phpunit/data/rdf/Q4_claims.nt
M repo/tests/phpunit/data/rdf/Q4_values.nt
M repo/tests/phpunit/data/rdf/Q6_qualifiers.nt
M repo/tests/phpunit/data/rdf/Q7_Q9_dedup.nt
M repo/tests/phpunit/data/rdf/Q7_references.nt
M repo/tests/phpunit/data/rdf/Q8_baddates.nt
11 files changed, 51 insertions(+), 3 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Wikibase
refs/changes/90/215690/1
diff --git a/repo/includes/rdf/ComplexValueRdfBuilder.php
b/repo/includes/rdf/ComplexValueRdfBuilder.php
index 0cffe98..9ca12ba 100644
--- a/repo/includes/rdf/ComplexValueRdfBuilder.php
+++ b/repo/includes/rdf/ComplexValueRdfBuilder.php
@@ -123,6 +123,8 @@
$this->valueWriter->about( RdfVocabulary::NS_VALUE, $valueLName
)->a( RdfVocabulary::NS_ONTOLOGY, 'Value' );
+ $this->valueWriter->a( RdfVocabulary::NS_ONTOLOGY,
$this->vocabulary->getValueTypeName( $value ) );
+
foreach ( $props as $prop => $type ) {
$propLName = $prefix . ucfirst( $prop );
$getter = "get" . $prop;
diff --git a/repo/includes/rdf/RdfVocabulary.php
b/repo/includes/rdf/RdfVocabulary.php
index 4966af5..7ed998d 100644
--- a/repo/includes/rdf/RdfVocabulary.php
+++ b/repo/includes/rdf/RdfVocabulary.php
@@ -5,6 +5,7 @@
use Wikibase\DataModel\Entity\EntityId;
use Wikibase\DataModel\Entity\Property;
use Wikibase\DataModel\Statement\Statement;
+use DataValues\DataValue;
/**
* RDF vocabulary for use in mapping for wikibase data model.
@@ -193,6 +194,17 @@
}
/**
+ * Get Wikibase value type name for ontology
+ *
+ * @param DataValue $prop
+ *
+ * @return string
+ */
+ public function getValueTypeName( DataValue $val ) {
+ return ucfirst( $val->getType() ) . 'Value';
+ }
+
+ /**
* Create Commons URL from filename value
*
* @param string $file
diff --git a/repo/includes/rdf/SimpleValueRdfBuilder.php
b/repo/includes/rdf/SimpleValueRdfBuilder.php
index 16b4782..a5de19a 100644
--- a/repo/includes/rdf/SimpleValueRdfBuilder.php
+++ b/repo/includes/rdf/SimpleValueRdfBuilder.php
@@ -34,7 +34,7 @@
/**
* @var RdfVocabulary
*/
- private $vocabulary;
+ protected $vocabulary;
/**
* @var PropertyDataTypeLookup
diff --git a/repo/tests/phpunit/data/rdf/FullStatementRdfBuilder/Q4_all.nt
b/repo/tests/phpunit/data/rdf/FullStatementRdfBuilder/Q4_all.nt
index df32a96..db992de 100644
--- a/repo/tests/phpunit/data/rdf/FullStatementRdfBuilder/Q4_all.nt
+++ b/repo/tests/phpunit/data/rdf/FullStatementRdfBuilder/Q4_all.nt
@@ -73,4 +73,7 @@
<http://acme.test/value/ba4fa68a0979e663277b08d93f93705c>
<http://wikiba.se/ontology-beta#timeCalendarModel>
<http://www.wikidata.org/entity/Q1985727> .
<http://acme.test/value/ba4fa68a0979e663277b08d93f93705c>
<http://wikiba.se/ontology-beta#timePrecision>
"9"^^<http://www.w3.org/2001/XMLSchema#integer> .
<http://acme.test/value/ba4fa68a0979e663277b08d93f93705c>
<http://wikiba.se/ontology-beta#timeValue>
"-0200-01-01T00:00:00Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> .
-<http://acme.test/value/ba4fa68a0979e663277b08d93f93705c>
<http://wikiba.se/ontology-beta#timeTimezone>
"0"^^<http://www.w3.org/2001/XMLSchema#integer> .
\ No newline at end of file
+<http://acme.test/value/ba4fa68a0979e663277b08d93f93705c>
<http://wikiba.se/ontology-beta#timeTimezone>
"0"^^<http://www.w3.org/2001/XMLSchema#integer> .
+<http://acme.test/value/1e09d673624819aacd170165aae555a1>
<http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
<http://wikiba.se/ontology-beta#QuantityValue> .
+<http://acme.test/value/974afffbe8c12ab5579f4b521ae2bd5d>
<http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
<http://wikiba.se/ontology-beta#GlobecoordinateValue> .
+<http://acme.test/value/ba4fa68a0979e663277b08d93f93705c>
<http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
<http://wikiba.se/ontology-beta#TimeValue> .
\ No newline at end of file
diff --git a/repo/tests/phpunit/data/rdf/FullStatementRdfBuilder/Q4_values.nt
b/repo/tests/phpunit/data/rdf/FullStatementRdfBuilder/Q4_values.nt
index df32a96..8201647 100644
--- a/repo/tests/phpunit/data/rdf/FullStatementRdfBuilder/Q4_values.nt
+++ b/repo/tests/phpunit/data/rdf/FullStatementRdfBuilder/Q4_values.nt
@@ -73,4 +73,7 @@
<http://acme.test/value/ba4fa68a0979e663277b08d93f93705c>
<http://wikiba.se/ontology-beta#timeCalendarModel>
<http://www.wikidata.org/entity/Q1985727> .
<http://acme.test/value/ba4fa68a0979e663277b08d93f93705c>
<http://wikiba.se/ontology-beta#timePrecision>
"9"^^<http://www.w3.org/2001/XMLSchema#integer> .
<http://acme.test/value/ba4fa68a0979e663277b08d93f93705c>
<http://wikiba.se/ontology-beta#timeValue>
"-0200-01-01T00:00:00Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> .
-<http://acme.test/value/ba4fa68a0979e663277b08d93f93705c>
<http://wikiba.se/ontology-beta#timeTimezone>
"0"^^<http://www.w3.org/2001/XMLSchema#integer> .
\ No newline at end of file
+<http://acme.test/value/ba4fa68a0979e663277b08d93f93705c>
<http://wikiba.se/ontology-beta#timeTimezone>
"0"^^<http://www.w3.org/2001/XMLSchema#integer> .
+<http://acme.test/value/1e09d673624819aacd170165aae555a1>
<http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
<http://wikiba.se/ontology-beta#QuantityValue> .
+<http://acme.test/value/974afffbe8c12ab5579f4b521ae2bd5d>
<http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
<http://wikiba.se/ontology-beta#GlobecoordinateValue> .
+<http://acme.test/value/ba4fa68a0979e663277b08d93f93705c>
<http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
<http://wikiba.se/ontology-beta#TimeValue> .
diff --git a/repo/tests/phpunit/data/rdf/Q4_claims.nt
b/repo/tests/phpunit/data/rdf/Q4_claims.nt
index 7e13141..0d7eda1 100644
--- a/repo/tests/phpunit/data/rdf/Q4_claims.nt
+++ b/repo/tests/phpunit/data/rdf/Q4_claims.nt
@@ -91,3 +91,6 @@
<http://acme.test/value/ba4fa68a0979e663277b08d93f93705c>
<http://wikiba.se/ontology-beta#timePrecision>
"9"^^<http://www.w3.org/2001/XMLSchema#integer> .
<http://acme.test/value/ba4fa68a0979e663277b08d93f93705c>
<http://wikiba.se/ontology-beta#timeValue>
"-0200-01-01T00:00:00Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> .
<http://acme.test/value/ba4fa68a0979e663277b08d93f93705c>
<http://wikiba.se/ontology-beta#timeTimezone>
"0"^^<http://www.w3.org/2001/XMLSchema#integer> .
+<http://acme.test/value/1e09d673624819aacd170165aae555a1>
<http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
<http://wikiba.se/ontology-beta#QuantityValue> .
+<http://acme.test/value/974afffbe8c12ab5579f4b521ae2bd5d>
<http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
<http://wikiba.se/ontology-beta#GlobecoordinateValue> .
+<http://acme.test/value/ba4fa68a0979e663277b08d93f93705c>
<http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
<http://wikiba.se/ontology-beta#TimeValue> .
diff --git a/repo/tests/phpunit/data/rdf/Q4_values.nt
b/repo/tests/phpunit/data/rdf/Q4_values.nt
index 8793455..81a8cfb 100644
--- a/repo/tests/phpunit/data/rdf/Q4_values.nt
+++ b/repo/tests/phpunit/data/rdf/Q4_values.nt
@@ -79,3 +79,6 @@
<http://acme.test/value/ba4fa68a0979e663277b08d93f93705c>
<http://wikiba.se/ontology-beta#timePrecision>
"9"^^<http://www.w3.org/2001/XMLSchema#integer> .
<http://acme.test/value/ba4fa68a0979e663277b08d93f93705c>
<http://wikiba.se/ontology-beta#timeValue>
"-0200-01-01T00:00:00Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> .
<http://acme.test/value/ba4fa68a0979e663277b08d93f93705c>
<http://wikiba.se/ontology-beta#timeTimezone>
"0"^^<http://www.w3.org/2001/XMLSchema#integer> .
+<http://acme.test/value/1e09d673624819aacd170165aae555a1>
<http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
<http://wikiba.se/ontology-beta#QuantityValue> .
+<http://acme.test/value/974afffbe8c12ab5579f4b521ae2bd5d>
<http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
<http://wikiba.se/ontology-beta#GlobecoordinateValue> .
+<http://acme.test/value/ba4fa68a0979e663277b08d93f93705c>
<http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
<http://wikiba.se/ontology-beta#TimeValue> .
diff --git a/repo/tests/phpunit/data/rdf/Q6_qualifiers.nt
b/repo/tests/phpunit/data/rdf/Q6_qualifiers.nt
index b2089a2..d110e20 100644
--- a/repo/tests/phpunit/data/rdf/Q6_qualifiers.nt
+++ b/repo/tests/phpunit/data/rdf/Q6_qualifiers.nt
@@ -42,3 +42,6 @@
<http://acme.test/value/ba4fa68a0979e663277b08d93f93705c>
<http://wikiba.se/ontology-beta#timePrecision>
"9"^^<http://www.w3.org/2001/XMLSchema#integer> .
<http://acme.test/value/ba4fa68a0979e663277b08d93f93705c>
<http://wikiba.se/ontology-beta#timeValue>
"-0200-01-01T00:00:00Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> .
<http://acme.test/value/ba4fa68a0979e663277b08d93f93705c>
<http://wikiba.se/ontology-beta#timeTimezone>
"0"^^<http://www.w3.org/2001/XMLSchema#integer> .
+<http://acme.test/value/1e09d673624819aacd170165aae555a1>
<http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
<http://wikiba.se/ontology-beta#QuantityValue> .
+<http://acme.test/value/aad6b70bccf9875ba61d31c767b7f652>
<http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
<http://wikiba.se/ontology-beta#GlobecoordinateValue> .
+<http://acme.test/value/ba4fa68a0979e663277b08d93f93705c>
<http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
<http://wikiba.se/ontology-beta#TimeValue> .
diff --git a/repo/tests/phpunit/data/rdf/Q7_Q9_dedup.nt
b/repo/tests/phpunit/data/rdf/Q7_Q9_dedup.nt
index b047912..8be9141 100644
--- a/repo/tests/phpunit/data/rdf/Q7_Q9_dedup.nt
+++ b/repo/tests/phpunit/data/rdf/Q7_Q9_dedup.nt
@@ -67,3 +67,6 @@
<http://data.acme.test/Q9> <http://schema.org/about> <http://acme.test/Q9> .
<http://data.acme.test/Q9> <http://schema.org/softwareVersion> "0.0.1" .
<http://data.acme.test/Q9> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
<http://schema.org/Dataset> .
+<http://acme.test/value/1e09d673624819aacd170165aae555a1>
<http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
<http://wikiba.se/ontology-beta#QuantityValue> .
+<http://acme.test/value/aad6b70bccf9875ba61d31c767b7f652>
<http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
<http://wikiba.se/ontology-beta#GlobecoordinateValue> .
+<http://acme.test/value/ba4fa68a0979e663277b08d93f93705c>
<http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
<http://wikiba.se/ontology-beta#TimeValue> .
diff --git a/repo/tests/phpunit/data/rdf/Q7_references.nt
b/repo/tests/phpunit/data/rdf/Q7_references.nt
index 1e53fc2..2a87467 100644
--- a/repo/tests/phpunit/data/rdf/Q7_references.nt
+++ b/repo/tests/phpunit/data/rdf/Q7_references.nt
@@ -50,3 +50,6 @@
<http://acme.test/value/ba4fa68a0979e663277b08d93f93705c>
<http://wikiba.se/ontology-beta#timePrecision>
"9"^^<http://www.w3.org/2001/XMLSchema#integer> .
<http://acme.test/value/ba4fa68a0979e663277b08d93f93705c>
<http://wikiba.se/ontology-beta#timeValue>
"-0200-01-01T00:00:00Z"^^<http://www.w3.org/2001/XMLSchema#dateTime> .
<http://acme.test/value/ba4fa68a0979e663277b08d93f93705c>
<http://wikiba.se/ontology-beta#timeTimezone>
"0"^^<http://www.w3.org/2001/XMLSchema#integer> .
+<http://acme.test/value/1e09d673624819aacd170165aae555a1>
<http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
<http://wikiba.se/ontology-beta#QuantityValue> .
+<http://acme.test/value/aad6b70bccf9875ba61d31c767b7f652>
<http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
<http://wikiba.se/ontology-beta#GlobecoordinateValue> .
+<http://acme.test/value/ba4fa68a0979e663277b08d93f93705c>
<http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
<http://wikiba.se/ontology-beta#TimeValue> .
diff --git a/repo/tests/phpunit/data/rdf/Q8_baddates.nt
b/repo/tests/phpunit/data/rdf/Q8_baddates.nt
index d179410..efeeaa3 100644
--- a/repo/tests/phpunit/data/rdf/Q8_baddates.nt
+++ b/repo/tests/phpunit/data/rdf/Q8_baddates.nt
@@ -161,3 +161,16 @@
<http://data.acme.test/Q8> <http://schema.org/softwareVersion> "0.0.1" .
<http://data.acme.test/Q8> <http://schema.org/version>
"42"^^<http://www.w3.org/2001/XMLSchema#integer> .
<http://data.acme.test/Q8> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
<http://schema.org/Dataset> .
+<http://acme.test/value/73d61a2af309f405f77d3ba39e47823e>
<http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
<http://wikiba.se/ontology-beta#TimeValue> .
+<http://acme.test/value/b3e4ce731699e5bacc9ce1f7b302ec40>
<http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
<http://wikiba.se/ontology-beta#TimeValue> .
+<http://acme.test/value/8e6cc149c94b044645f9abc9dd212994>
<http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
<http://wikiba.se/ontology-beta#TimeValue> .
+<http://acme.test/value/a0b10f6482c04caa5874dea23528a734>
<http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
<http://wikiba.se/ontology-beta#TimeValue> .
+<http://acme.test/value/9664e88f56e7de82f6dfe32e938203ec>
<http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
<http://wikiba.se/ontology-beta#TimeValue> .
+<http://acme.test/value/270229ea4ff024744eea54e20b02c0f5>
<http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
<http://wikiba.se/ontology-beta#TimeValue> .
+<http://acme.test/value/ba4fa68a0979e663277b08d93f93705c>
<http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
<http://wikiba.se/ontology-beta#TimeValue> .
+<http://acme.test/value/af7a5362056ec4747a15503b6484c92e>
<http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
<http://wikiba.se/ontology-beta#TimeValue> .
+<http://acme.test/value/85d9f1d187683fcd02671501dcd8bbea>
<http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
<http://wikiba.se/ontology-beta#TimeValue> .
+<http://acme.test/value/f9b4a3f809941692088f210102bd7fd0>
<http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
<http://wikiba.se/ontology-beta#TimeValue> .
+<http://acme.test/value/5ff0652b01e7b84e97c32289e913386f>
<http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
<http://wikiba.se/ontology-beta#TimeValue> .
+<http://acme.test/value/640fefb2f43a08652aaa7730ea9c7adf>
<http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
<http://wikiba.se/ontology-beta#TimeValue> .
+<http://acme.test/value/a41558288146e0b78a50d52e4421cfec>
<http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
<http://wikiba.se/ontology-beta#TimeValue> .
--
To view, visit https://gerrit.wikimedia.org/r/215690
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I0850de272bcca5bc070a47ac8ec969bfd4510f1d
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Smalyshev <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits