C. Scott Ananian has uploaded a new change for review. ( https://gerrit.wikimedia.org/r/387660 )
Change subject: Add new test case to demonstrate bug in JSON-LD output ...................................................................... Add new test case to demonstrate bug in JSON-LD output This documents a bug found by Smalyshev, caused by appending new values to an existing statement, so it can be fixed in a follow-up patch. The NTuples/RDF/Turtle output is correct. The JSON-LD output is invalid. Change-Id: I74cfd972a47698456232a74dea2e988f02d85b50 --- A tests/data/AlternatingValues.jsonld A tests/data/AlternatingValues.nt A tests/data/AlternatingValues.rdf A tests/data/AlternatingValues.ttl M tests/phpunit/RdfWriterTestBase.php 5 files changed, 74 insertions(+), 0 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/purtle refs/changes/60/387660/1 diff --git a/tests/data/AlternatingValues.jsonld b/tests/data/AlternatingValues.jsonld new file mode 100644 index 0000000..3654234 --- /dev/null +++ b/tests/data/AlternatingValues.jsonld @@ -0,0 +1,29 @@ +{ + "@id": "wikibase:Dump", + "owl:foo": { + "@id": "owl:A", + "0": { + "@id": "owl:B" + }, + "1": { + "@id": "owl:C" + } + }, + "owl:bar": { + "@type": "xsd:decimal", + "@value": "5", + "0": { + "@type": "xsd:decimal", + "@value": "6" + }, + "1": { + "@type": "xsd:decimal", + "@value": "7" + } + }, + "@context": { + "wikibase": "http://wikiba.se/ontology-beta#", + "owl": "http://www.w3.org/2002/07/owl#", + "xsd": "http://www.w3.org/2001/XMLSchema#" + } +} \ No newline at end of file diff --git a/tests/data/AlternatingValues.nt b/tests/data/AlternatingValues.nt new file mode 100644 index 0000000..916590b --- /dev/null +++ b/tests/data/AlternatingValues.nt @@ -0,0 +1,6 @@ +<http://wikiba.se/ontology-beta#Dump> <http://www.w3.org/2002/07/owl#foo> <http://www.w3.org/2002/07/owl#A> . +<http://wikiba.se/ontology-beta#Dump> <http://www.w3.org/2002/07/owl#bar> "5"^^<http://www.w3.org/2001/XMLSchema#decimal> . +<http://wikiba.se/ontology-beta#Dump> <http://www.w3.org/2002/07/owl#foo> <http://www.w3.org/2002/07/owl#B> . +<http://wikiba.se/ontology-beta#Dump> <http://www.w3.org/2002/07/owl#bar> "6"^^<http://www.w3.org/2001/XMLSchema#decimal> . +<http://wikiba.se/ontology-beta#Dump> <http://www.w3.org/2002/07/owl#foo> <http://www.w3.org/2002/07/owl#C> . +<http://wikiba.se/ontology-beta#Dump> <http://www.w3.org/2002/07/owl#bar> "7"^^<http://www.w3.org/2001/XMLSchema#decimal> . diff --git a/tests/data/AlternatingValues.rdf b/tests/data/AlternatingValues.rdf new file mode 100644 index 0000000..63d5ccb --- /dev/null +++ b/tests/data/AlternatingValues.rdf @@ -0,0 +1,11 @@ +<?xml version="1.0"?> +<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsd="http://www.w3.org/2001/XMLSchema#" xmlns:wikibase="http://wikiba.se/ontology-beta#" xmlns:owl="http://www.w3.org/2002/07/owl#"> + <rdf:Description rdf:about="http://wikiba.se/ontology-beta#Dump"> + <owl:foo rdf:resource="http://www.w3.org/2002/07/owl#A"/> + <owl:bar rdf:datatype="http://www.w3.org/2001/XMLSchema#decimal">5</owl:bar> + <owl:foo rdf:resource="http://www.w3.org/2002/07/owl#B"/> + <owl:bar rdf:datatype="http://www.w3.org/2001/XMLSchema#decimal">6</owl:bar> + <owl:foo rdf:resource="http://www.w3.org/2002/07/owl#C"/> + <owl:bar rdf:datatype="http://www.w3.org/2001/XMLSchema#decimal">7</owl:bar> + </rdf:Description> +</rdf:RDF> diff --git a/tests/data/AlternatingValues.ttl b/tests/data/AlternatingValues.ttl new file mode 100644 index 0000000..a5ca670 --- /dev/null +++ b/tests/data/AlternatingValues.ttl @@ -0,0 +1,11 @@ +@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . +@prefix xsd: <http://www.w3.org/2001/XMLSchema#> . +@prefix wikibase: <http://wikiba.se/ontology-beta#> . +@prefix owl: <http://www.w3.org/2002/07/owl#> . + +wikibase:Dump owl:foo owl:A ; + owl:bar "5"^^xsd:decimal ; + owl:foo owl:B ; + owl:bar "6"^^xsd:decimal ; + owl:foo owl:C ; + owl:bar "7"^^xsd:decimal . diff --git a/tests/phpunit/RdfWriterTestBase.php b/tests/phpunit/RdfWriterTestBase.php index 54f1877..67932bd 100644 --- a/tests/phpunit/RdfWriterTestBase.php +++ b/tests/phpunit/RdfWriterTestBase.php @@ -355,6 +355,23 @@ $this->assertOutputLines( 'DumpHeader', $rdf ); } + public function testAlternatingValues() { + $writer = $this->newWriter(); + $writer->prefix( 'wikibase', 'http://wikiba.se/ontology-beta#' ); + $writer->prefix( 'owl', 'http://www.w3.org/2002/07/owl#' ); + $writer->start(); + $writer->about( 'wikibase', 'Dump' ) + ->say( 'owl', 'foo' )->is( 'owl', 'A' ) + ->say( 'owl', 'bar' )->value('5', 'xsd', 'decimal') + ->say( 'owl', 'foo' )->is( 'owl', 'B' ) + ->say( 'owl', 'bar' )->value('6', 'xsd', 'decimal') + ->say( 'owl', 'foo' )->is( 'owl', 'C' ) + ->say( 'owl', 'bar' )->value('7', 'xsd', 'decimal'); + $writer->finish(); + $rdf = $writer->drain(); + $this->assertOutputLines( 'AlternatingValues', $rdf ); + } + /** * @param string $datasetName * @param string[]|string $actual -- To view, visit https://gerrit.wikimedia.org/r/387660 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I74cfd972a47698456232a74dea2e988f02d85b50 Gerrit-PatchSet: 1 Gerrit-Project: purtle Gerrit-Branch: master Gerrit-Owner: C. Scott Ananian <canan...@wikimedia.org> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits