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

Reply via email to