jenkins-bot has submitted this change and it was merged. ( https://gerrit.wikimedia.org/r/258519 )
Change subject: RDF mapping for external identifiers ...................................................................... RDF mapping for external identifiers Bug: T121274 Change-Id: I44a203bddfece0d275c31d089a1172ab71891dae --- M repo/WikibaseRepo.datatypes.php M repo/includes/Rdf/PropertyRdfBuilder.php M repo/includes/Rdf/RdfVocabulary.php A repo/includes/Rdf/Values/ExternalIdentifierRdfBuilder.php M repo/tests/phpunit/data/maintenance/dumpRdf-out.txt M repo/tests/phpunit/data/rdf/PropertyRdfBuilder/P2_all.nt M repo/tests/phpunit/data/rdf/RdfBuilder/Q4_props.nt M repo/tests/phpunit/data/rdf/RdfDumpGenerator/full-dump-entities.nt M repo/tests/phpunit/data/rdf/RdfDumpGenerator/full-dump-redirect.nt M repo/tests/phpunit/data/rdf/RdfDumpGenerator/truthy-dump-entities.nt M repo/tests/phpunit/data/rdf/RdfDumpGenerator/truthy-dump-redirect.nt M repo/tests/phpunit/includes/Rdf/RdfBuilderTest.php A repo/tests/phpunit/includes/Rdf/Values/ExternalIdentifierRdfBuilderTest.php 13 files changed, 219 insertions(+), 6 deletions(-) Approvals: Ladsgroup: Looks good to me, approved jenkins-bot: Verified diff --git a/repo/WikibaseRepo.datatypes.php b/repo/WikibaseRepo.datatypes.php index 2a3ea77..f71b329 100644 --- a/repo/WikibaseRepo.datatypes.php +++ b/repo/WikibaseRepo.datatypes.php @@ -30,6 +30,8 @@ use ValueParsers\QuantityParser; use ValueParsers\StringParser; use ValueParsers\ValueParser; +use Wikibase\Lib\Store\FieldPropertyInfoProvider; +use Wikibase\Lib\Store\PropertyInfoStore; use Wikibase\Rdf\DedupeBag; use Wikibase\Rdf\EntityMentionListener; use Wikibase\Rdf\JulianDateTimeValueCleaner; @@ -38,6 +40,7 @@ use Wikibase\Rdf\Values\CommonsMediaRdfBuilder; use Wikibase\Rdf\Values\ComplexValueRdfHelper; use Wikibase\Rdf\Values\EntityIdRdfBuilder; +use Wikibase\Rdf\Values\ExternalIdentifierRdfBuilder; use Wikibase\Rdf\Values\GlobeCoordinateRdfBuilder; use Wikibase\Rdf\Values\LiteralValueRdfBuilder; use Wikibase\Rdf\Values\MonolingualTextRdfBuilder; @@ -300,7 +303,20 @@ $factory = WikibaseRepo::getDefaultSnakFormatterBuilders(); return $factory->newExternalIdentifierFormatter( $format, $options ); }, - // TODO: RDF mapping using canonical URI patterns + 'rdf-builder-factory-callback' => function ( + $mode, + RdfVocabulary $vocab, + RdfWriter $writer, + EntityMentionListener $tracker, + DedupeBag $dedupe + ) { + $repo = WikibaseRepo::getDefaultInstance(); + $uriPatternProvider = new FieldPropertyInfoProvider( + $repo->getStore()->getPropertyInfoLookup(), + PropertyInfoStore::KEY_CANONICAL_URI + ); + return new ExternalIdentifierRdfBuilder( $uriPatternProvider, $vocab ); + }, ], 'VT:wikibase-entityid' => [ 'validator-factory-callback' => function() { diff --git a/repo/includes/Rdf/PropertyRdfBuilder.php b/repo/includes/Rdf/PropertyRdfBuilder.php index 30d97a7..c520417 100644 --- a/repo/includes/Rdf/PropertyRdfBuilder.php +++ b/repo/includes/Rdf/PropertyRdfBuilder.php @@ -39,6 +39,10 @@ */ private function writePropertyPredicates( $id, $isObjectProperty ) { $this->writer->say( RdfVocabulary::NS_ONTOLOGY, 'directClaim' )->is( RdfVocabulary::NSP_DIRECT_CLAIM, $id ); + $this->writer->say( RdfVocabulary::NS_ONTOLOGY, 'directClaimNormalized' )->is( + RdfVocabulary::NSP_DIRECT_CLAIM_NORM, + $id + ); $this->writer->say( RdfVocabulary::NS_ONTOLOGY, 'claim' )->is( RdfVocabulary::NSP_CLAIM, $id ); $this->writer->say( RdfVocabulary::NS_ONTOLOGY, 'statementProperty' )->is( RdfVocabulary::NSP_CLAIM_STATEMENT, $id ); $this->writer->say( RdfVocabulary::NS_ONTOLOGY, 'statementValue' )->is( RdfVocabulary::NSP_CLAIM_VALUE, $id ); @@ -58,6 +62,7 @@ $this->writer->about( RdfVocabulary::NSP_CLAIM_VALUE_NORM, $id )->a( 'owl', 'ObjectProperty' ); $this->writer->about( RdfVocabulary::NSP_QUALIFIER_VALUE_NORM, $id )->a( 'owl', 'ObjectProperty' ); $this->writer->about( RdfVocabulary::NSP_REFERENCE_VALUE_NORM, $id )->a( 'owl', 'ObjectProperty' ); + $this->writer->about( RdfVocabulary::NSP_DIRECT_CLAIM_NORM, $id )->a( 'owl', 'ObjectProperty' ); // Depending on property type if ( $isObjectProperty ) { $datatype = 'ObjectProperty'; diff --git a/repo/includes/Rdf/RdfVocabulary.php b/repo/includes/Rdf/RdfVocabulary.php index 6001af2..5e219db 100644 --- a/repo/includes/Rdf/RdfVocabulary.php +++ b/repo/includes/Rdf/RdfVocabulary.php @@ -29,6 +29,7 @@ const NS_VALUE = 'wdv'; // value // Predicates const NSP_DIRECT_CLAIM = 'wdt'; // direct assertion entity -> value + const NSP_DIRECT_CLAIM_NORM = 'wdtn'; // direct assertion entity -> value, normalized const NSP_CLAIM = 'p'; // entity -> statement const NSP_CLAIM_STATEMENT = 'ps'; // statement -> simple value const NSP_CLAIM_VALUE = 'psv'; // statement -> deep value @@ -89,6 +90,13 @@ self::NSP_CLAIM_STATEMENT => self::NSP_CLAIM_VALUE_NORM, self::NSP_QUALIFIER => self::NSP_QUALIFIER_VALUE_NORM, self::NSP_REFERENCE => self::NSP_REFERENCE_VALUE_NORM, + ]; + // Value properties for normalized values, including for direct claims + public static $normalizedPropertyValueNamespace = [ + self::NSP_DIRECT_CLAIM => self::NSP_DIRECT_CLAIM_NORM, + self::NSP_CLAIM_STATEMENT => self::NSP_CLAIM_VALUE_NORM, + self::NSP_QUALIFIER => self::NSP_QUALIFIER_VALUE_NORM, + self::NSP_REFERENCE => self::NSP_REFERENCE_VALUE_NORM ]; /** @@ -171,6 +179,7 @@ self::NS_VALUE => $topUri . 'value/', // predicates self::NSP_DIRECT_CLAIM => $propUri . 'direct/', + self::NSP_DIRECT_CLAIM_NORM => $propUri . 'direct-normalized/', self::NSP_CLAIM => $propUri, self::NSP_CLAIM_STATEMENT => $propUri . 'statement/', self::NSP_CLAIM_VALUE => $propUri . 'statement/value/', diff --git a/repo/includes/Rdf/Values/ExternalIdentifierRdfBuilder.php b/repo/includes/Rdf/Values/ExternalIdentifierRdfBuilder.php new file mode 100644 index 0000000..5d031f8 --- /dev/null +++ b/repo/includes/Rdf/Values/ExternalIdentifierRdfBuilder.php @@ -0,0 +1,74 @@ +<?php + +namespace Wikibase\Rdf\Values; + +use DataValues\StringValue; +use Wikibase\DataModel\Snak\PropertyValueSnak; +use Wikibase\Lib\Store\PropertyInfoProvider; +use Wikibase\Rdf\RdfVocabulary; +use Wikibase\Rdf\ValueSnakRdfBuilder; +use Wikimedia\Purtle\RdfWriter; + +/** + * RDF mapping for StringValues that are interpreted as external identifiers. + * URIs for the external identifier are generated based on a URI pattern associated with + * the respective property. + * + * @since 0.5 + * + * @licence GNU GPL v2+ + * @author Daniel Kinzler + * @author Stas Malyshev + */ +class ExternalIdentifierRdfBuilder implements ValueSnakRdfBuilder { + + /** + * @var PropertyInfoProvider + */ + private $uriPatternProvider; + + /** + * @param PropertyInfoProvider $uriPatternProvider + */ + public function __construct( + PropertyInfoProvider $uriPatternProvider + ) { + $this->uriPatternProvider = $uriPatternProvider; + } + + /** + * @param RdfWriter $writer + * @param string $propertyValueNamespace Property value relation namespace + * @param string $propertyValueLName Property value relation name + * @param string $dataType Property data type + * @param PropertyValueSnak $snak + */ + public function addValue( + RdfWriter $writer, + $propertyValueNamespace, + $propertyValueLName, + $dataType, + PropertyValueSnak $snak + ) { + $id = $this->getValueId( $snak->getDataValue() ); + $uriPattern = $this->uriPatternProvider->getPropertyInfo( $snak->getPropertyId() ); + + $writer->say( $propertyValueNamespace, $propertyValueLName )->value( $id ); + + $normalizedValueNamespace = RdfVocabulary::$normalizedPropertyValueNamespace[$propertyValueNamespace]; + if ( $uriPattern !== null && $normalizedValueNamespace !== null ) { + $uri = str_replace( '$1', wfUrlencode( $id ), $uriPattern ); + $writer->say( $normalizedValueNamespace, $propertyValueLName )->is( $uri ); + } + } + + /** + * @param StringValue $value + * + * @return string the external ID + */ + private function getValueId( StringValue $value ) { + return trim( strval( $value->getValue() ) ); + } + +} diff --git a/repo/tests/phpunit/data/maintenance/dumpRdf-out.txt b/repo/tests/phpunit/data/maintenance/dumpRdf-out.txt index ecae0d6..99f3bf1 100644 --- a/repo/tests/phpunit/data/maintenance/dumpRdf-out.txt +++ b/repo/tests/phpunit/data/maintenance/dumpRdf-out.txt @@ -17,6 +17,7 @@ <fooUri/P1> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://wikiba.se/ontology-beta#Property> . <fooUri/P1> <http://wikiba.se/ontology-beta#propertyType> <http://wikiba.se/ontology-beta#String> . <fooUri/P1> <http://wikiba.se/ontology-beta#directClaim> <fooUri/prop/direct/P1> . +<fooUri/P1> <http://wikiba.se/ontology-beta#directClaimNormalized> <fooUri/prop/direct-normalized/P1> . <fooUri/P1> <http://wikiba.se/ontology-beta#claim> <fooUri/prop/P1> . <fooUri/P1> <http://wikiba.se/ontology-beta#statementProperty> <fooUri/prop/statement/P1> . <fooUri/P1> <http://wikiba.se/ontology-beta#statementValue> <fooUri/prop/statement/value/P1> . @@ -35,6 +36,7 @@ <fooUri/prop/statement/value-normalized/P1> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . <fooUri/prop/qualifier/value-normalized/P1> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . <fooUri/prop/reference/value-normalized/P1> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . +<fooUri/prop/direct-normalized/P1> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . <fooUri/prop/direct/P1> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#DatatypeProperty> . <fooUri/prop/statement/P1> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#DatatypeProperty> . <fooUri/prop/qualifier/P1> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#DatatypeProperty> . @@ -58,6 +60,7 @@ <fooUri/P12> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://wikiba.se/ontology-beta#Property> . <fooUri/P12> <http://wikiba.se/ontology-beta#propertyType> <http://wikiba.se/ontology-beta#String> . <fooUri/P12> <http://wikiba.se/ontology-beta#directClaim> <fooUri/prop/direct/P12> . +<fooUri/P12> <http://wikiba.se/ontology-beta#directClaimNormalized> <fooUri/prop/direct-normalized/P12> . <fooUri/P12> <http://wikiba.se/ontology-beta#claim> <fooUri/prop/P12> . <fooUri/P12> <http://wikiba.se/ontology-beta#statementProperty> <fooUri/prop/statement/P12> . <fooUri/P12> <http://wikiba.se/ontology-beta#statementValue> <fooUri/prop/statement/value/P12> . @@ -76,6 +79,7 @@ <fooUri/prop/statement/value-normalized/P12> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . <fooUri/prop/qualifier/value-normalized/P12> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . <fooUri/prop/reference/value-normalized/P12> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . +<fooUri/prop/direct-normalized/P12> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . <fooUri/prop/direct/P12> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#DatatypeProperty> . <fooUri/prop/statement/P12> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#DatatypeProperty> . <fooUri/prop/qualifier/P12> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#DatatypeProperty> . diff --git a/repo/tests/phpunit/data/rdf/PropertyRdfBuilder/P2_all.nt b/repo/tests/phpunit/data/rdf/PropertyRdfBuilder/P2_all.nt index 2e11201..11c9256 100644 --- a/repo/tests/phpunit/data/rdf/PropertyRdfBuilder/P2_all.nt +++ b/repo/tests/phpunit/data/rdf/PropertyRdfBuilder/P2_all.nt @@ -1,6 +1,7 @@ <http://acme.test/P2> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://wikiba.se/ontology-beta#Property> . <http://acme.test/P2> <http://wikiba.se/ontology-beta#claim> <http://acme.test/prop/P2> . <http://acme.test/P2> <http://wikiba.se/ontology-beta#directClaim> <http://acme.test/prop/direct/P2> . +<http://acme.test/P2> <http://wikiba.se/ontology-beta#directClaimNormalized> <http://acme.test/prop/direct-normalized/P2> . <http://acme.test/P2> <http://wikiba.se/ontology-beta#novalue> <http://acme.test/prop/novalue/P2> . <http://acme.test/P2> <http://wikiba.se/ontology-beta#propertyType> <http://wikiba.se/ontology-beta#String> . <http://acme.test/P2> <http://wikiba.se/ontology-beta#qualifier> <http://acme.test/prop/qualifier/P2> . @@ -12,19 +13,20 @@ <http://acme.test/P2> <http://wikiba.se/ontology-beta#statementProperty> <http://acme.test/prop/statement/P2> . <http://acme.test/P2> <http://wikiba.se/ontology-beta#statementValue> <http://acme.test/prop/statement/value/P2> . <http://acme.test/P2> <http://wikiba.se/ontology-beta#statementValueNormalized> <http://acme.test/prop/statement/value-normalized/P2> . +<http://acme.test/prop/direct-normalized/P2> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . +<http://acme.test/prop/qualifier/value-normalized/P2> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . +<http://acme.test/prop/reference/value-normalized/P2> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . <http://acme.test/prop/P2> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . <http://acme.test/prop/direct/P2> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#DatatypeProperty> . <http://acme.test/prop/novalue/P2> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class> . <http://acme.test/prop/novalue/P2> <http://www.w3.org/2002/07/owl#complementOf> _:genid1 . <http://acme.test/prop/qualifier/P2> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#DatatypeProperty> . -<http://acme.test/prop/qualifier/value-normalized/P2> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . <http://acme.test/prop/qualifier/value/P2> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . <http://acme.test/prop/reference/P2> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#DatatypeProperty> . -<http://acme.test/prop/reference/value-normalized/P2> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . <http://acme.test/prop/reference/value/P2> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . <http://acme.test/prop/statement/P2> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#DatatypeProperty> . <http://acme.test/prop/statement/value-normalized/P2> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . <http://acme.test/prop/statement/value/P2> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . _:genid1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Restriction> . _:genid1 <http://www.w3.org/2002/07/owl#onProperty> <http://acme.test/prop/direct/P2> . -_:genid1 <http://www.w3.org/2002/07/owl#someValuesFrom> <http://www.w3.org/2002/07/owl#Thing> . \ No newline at end of file +_:genid1 <http://www.w3.org/2002/07/owl#someValuesFrom> <http://www.w3.org/2002/07/owl#Thing> . diff --git a/repo/tests/phpunit/data/rdf/RdfBuilder/Q4_props.nt b/repo/tests/phpunit/data/rdf/RdfBuilder/Q4_props.nt index 2457f09..911bf72 100644 --- a/repo/tests/phpunit/data/rdf/RdfBuilder/Q4_props.nt +++ b/repo/tests/phpunit/data/rdf/RdfBuilder/Q4_props.nt @@ -112,6 +112,7 @@ <http://acme.test/P10> <http://wikiba.se/ontology-beta#propertyType> <http://wikiba.se/ontology-beta#GeoShape> . <http://acme.test/P2> <http://wikiba.se/ontology-beta#claim> <http://acme.test/prop/P2> . <http://acme.test/P2> <http://wikiba.se/ontology-beta#directClaim> <http://acme.test/prop/direct/P2> . +<http://acme.test/P2> <http://wikiba.se/ontology-beta#directClaimNormalized> <http://acme.test/prop/direct-normalized/P2> . <http://acme.test/P2> <http://wikiba.se/ontology-beta#qualifier> <http://acme.test/prop/qualifier/P2> . <http://acme.test/P2> <http://wikiba.se/ontology-beta#qualifierValue> <http://acme.test/prop/qualifier/value/P2> . <http://acme.test/P2> <http://wikiba.se/ontology-beta#reference> <http://acme.test/prop/reference/P2> . @@ -120,6 +121,7 @@ <http://acme.test/P2> <http://wikiba.se/ontology-beta#statementValue> <http://acme.test/prop/statement/value/P2> . <http://acme.test/P3> <http://wikiba.se/ontology-beta#claim> <http://acme.test/prop/P3> . <http://acme.test/P3> <http://wikiba.se/ontology-beta#directClaim> <http://acme.test/prop/direct/P3> . +<http://acme.test/P3> <http://wikiba.se/ontology-beta#directClaimNormalized> <http://acme.test/prop/direct-normalized/P3> . <http://acme.test/P3> <http://wikiba.se/ontology-beta#qualifier> <http://acme.test/prop/qualifier/P3> . <http://acme.test/P3> <http://wikiba.se/ontology-beta#qualifierValue> <http://acme.test/prop/qualifier/value/P3> . <http://acme.test/P3> <http://wikiba.se/ontology-beta#reference> <http://acme.test/prop/reference/P3> . @@ -128,6 +130,7 @@ <http://acme.test/P3> <http://wikiba.se/ontology-beta#statementValue> <http://acme.test/prop/statement/value/P3> . <http://acme.test/P4> <http://wikiba.se/ontology-beta#claim> <http://acme.test/prop/P4> . <http://acme.test/P4> <http://wikiba.se/ontology-beta#directClaim> <http://acme.test/prop/direct/P4> . +<http://acme.test/P4> <http://wikiba.se/ontology-beta#directClaimNormalized> <http://acme.test/prop/direct-normalized/P4> . <http://acme.test/P4> <http://wikiba.se/ontology-beta#qualifier> <http://acme.test/prop/qualifier/P4> . <http://acme.test/P4> <http://wikiba.se/ontology-beta#qualifierValue> <http://acme.test/prop/qualifier/value/P4> . <http://acme.test/P4> <http://wikiba.se/ontology-beta#reference> <http://acme.test/prop/reference/P4> . @@ -136,6 +139,7 @@ <http://acme.test/P4> <http://wikiba.se/ontology-beta#statementValue> <http://acme.test/prop/statement/value/P4> . <http://acme.test/P5> <http://wikiba.se/ontology-beta#claim> <http://acme.test/prop/P5> . <http://acme.test/P5> <http://wikiba.se/ontology-beta#directClaim> <http://acme.test/prop/direct/P5> . +<http://acme.test/P5> <http://wikiba.se/ontology-beta#directClaimNormalized> <http://acme.test/prop/direct-normalized/P5> . <http://acme.test/P5> <http://wikiba.se/ontology-beta#qualifier> <http://acme.test/prop/qualifier/P5> . <http://acme.test/P5> <http://wikiba.se/ontology-beta#qualifierValue> <http://acme.test/prop/qualifier/value/P5> . <http://acme.test/P5> <http://wikiba.se/ontology-beta#reference> <http://acme.test/prop/reference/P5> . @@ -144,6 +148,7 @@ <http://acme.test/P5> <http://wikiba.se/ontology-beta#statementValue> <http://acme.test/prop/statement/value/P5> . <http://acme.test/P6> <http://wikiba.se/ontology-beta#claim> <http://acme.test/prop/P6> . <http://acme.test/P6> <http://wikiba.se/ontology-beta#directClaim> <http://acme.test/prop/direct/P6> . +<http://acme.test/P6> <http://wikiba.se/ontology-beta#directClaimNormalized> <http://acme.test/prop/direct-normalized/P6> . <http://acme.test/P6> <http://wikiba.se/ontology-beta#qualifier> <http://acme.test/prop/qualifier/P6> . <http://acme.test/P6> <http://wikiba.se/ontology-beta#qualifierValue> <http://acme.test/prop/qualifier/value/P6> . <http://acme.test/P6> <http://wikiba.se/ontology-beta#reference> <http://acme.test/prop/reference/P6> . @@ -152,6 +157,7 @@ <http://acme.test/P6> <http://wikiba.se/ontology-beta#statementValue> <http://acme.test/prop/statement/value/P6> . <http://acme.test/P7> <http://wikiba.se/ontology-beta#claim> <http://acme.test/prop/P7> . <http://acme.test/P7> <http://wikiba.se/ontology-beta#directClaim> <http://acme.test/prop/direct/P7> . +<http://acme.test/P7> <http://wikiba.se/ontology-beta#directClaimNormalized> <http://acme.test/prop/direct-normalized/P7> . <http://acme.test/P7> <http://wikiba.se/ontology-beta#qualifier> <http://acme.test/prop/qualifier/P7> . <http://acme.test/P7> <http://wikiba.se/ontology-beta#qualifierValue> <http://acme.test/prop/qualifier/value/P7> . <http://acme.test/P7> <http://wikiba.se/ontology-beta#reference> <http://acme.test/prop/reference/P7> . @@ -160,6 +166,7 @@ <http://acme.test/P7> <http://wikiba.se/ontology-beta#statementValue> <http://acme.test/prop/statement/value/P7> . <http://acme.test/P8> <http://wikiba.se/ontology-beta#claim> <http://acme.test/prop/P8> . <http://acme.test/P8> <http://wikiba.se/ontology-beta#directClaim> <http://acme.test/prop/direct/P8> . +<http://acme.test/P8> <http://wikiba.se/ontology-beta#directClaimNormalized> <http://acme.test/prop/direct-normalized/P8> . <http://acme.test/P8> <http://wikiba.se/ontology-beta#qualifier> <http://acme.test/prop/qualifier/P8> . <http://acme.test/P8> <http://wikiba.se/ontology-beta#qualifierValue> <http://acme.test/prop/qualifier/value/P8> . <http://acme.test/P8> <http://wikiba.se/ontology-beta#reference> <http://acme.test/prop/reference/P8> . @@ -168,6 +175,7 @@ <http://acme.test/P8> <http://wikiba.se/ontology-beta#statementValue> <http://acme.test/prop/statement/value/P8> . <http://acme.test/P9> <http://wikiba.se/ontology-beta#claim> <http://acme.test/prop/P9> . <http://acme.test/P9> <http://wikiba.se/ontology-beta#directClaim> <http://acme.test/prop/direct/P9> . +<http://acme.test/P9> <http://wikiba.se/ontology-beta#directClaimNormalized> <http://acme.test/prop/direct-normalized/P9> . <http://acme.test/P9> <http://wikiba.se/ontology-beta#qualifier> <http://acme.test/prop/qualifier/P9> . <http://acme.test/P9> <http://wikiba.se/ontology-beta#qualifierValue> <http://acme.test/prop/qualifier/value/P9> . <http://acme.test/P9> <http://wikiba.se/ontology-beta#reference> <http://acme.test/prop/reference/P9> . @@ -176,6 +184,7 @@ <http://acme.test/P9> <http://wikiba.se/ontology-beta#statementValue> <http://acme.test/prop/statement/value/P9> . <http://acme.test/P10> <http://wikiba.se/ontology-beta#claim> <http://acme.test/prop/P10> . <http://acme.test/P10> <http://wikiba.se/ontology-beta#directClaim> <http://acme.test/prop/direct/P10> . +<http://acme.test/P10> <http://wikiba.se/ontology-beta#directClaimNormalized> <http://acme.test/prop/direct-normalized/P10> . <http://acme.test/P10> <http://wikiba.se/ontology-beta#qualifier> <http://acme.test/prop/qualifier/P10> . <http://acme.test/P10> <http://wikiba.se/ontology-beta#qualifierValue> <http://acme.test/prop/qualifier/value/P10> . <http://acme.test/P10> <http://wikiba.se/ontology-beta#reference> <http://acme.test/prop/reference/P10> . @@ -238,6 +247,7 @@ _:genid10 <http://www.w3.org/2002/07/owl#someValuesFrom> <http://www.w3.org/2002/07/owl#Thing> . <http://acme.test/prop/P2> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . <http://acme.test/prop/direct/P2> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . +<http://acme.test/prop/direct-normalized/P2> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . <http://acme.test/prop/qualifier/P2> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . <http://acme.test/prop/qualifier/value/P2> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . <http://acme.test/prop/reference/P2> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . @@ -246,6 +256,7 @@ <http://acme.test/prop/statement/value/P2> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . <http://acme.test/prop/P3> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . <http://acme.test/prop/direct/P3> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . +<http://acme.test/prop/direct-normalized/P3> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . <http://acme.test/prop/qualifier/P3> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . <http://acme.test/prop/qualifier/value/P3> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . <http://acme.test/prop/reference/P3> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . @@ -254,6 +265,7 @@ <http://acme.test/prop/statement/value/P3> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . <http://acme.test/prop/P4> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . <http://acme.test/prop/direct/P4> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#DatatypeProperty> . +<http://acme.test/prop/direct-normalized/P4> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . <http://acme.test/prop/qualifier/P4> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#DatatypeProperty> . <http://acme.test/prop/qualifier/value/P4> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . <http://acme.test/prop/reference/P4> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#DatatypeProperty> . @@ -262,6 +274,7 @@ <http://acme.test/prop/statement/value/P4> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . <http://acme.test/prop/P5> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . <http://acme.test/prop/direct/P5> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#DatatypeProperty> . +<http://acme.test/prop/direct-normalized/P5> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . <http://acme.test/prop/qualifier/P5> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#DatatypeProperty> . <http://acme.test/prop/qualifier/value/P5> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . <http://acme.test/prop/reference/P5> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#DatatypeProperty> . @@ -270,6 +283,7 @@ <http://acme.test/prop/statement/value/P5> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . <http://acme.test/prop/P6> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . <http://acme.test/prop/direct/P6> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#DatatypeProperty> . +<http://acme.test/prop/direct-normalized/P6> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . <http://acme.test/prop/qualifier/P6> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#DatatypeProperty> . <http://acme.test/prop/qualifier/value/P6> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . <http://acme.test/prop/reference/P6> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#DatatypeProperty> . @@ -278,6 +292,7 @@ <http://acme.test/prop/statement/value/P6> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . <http://acme.test/prop/P7> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . <http://acme.test/prop/direct/P7> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#DatatypeProperty> . +<http://acme.test/prop/direct-normalized/P7> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . <http://acme.test/prop/qualifier/P7> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#DatatypeProperty> . <http://acme.test/prop/qualifier/value/P7> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . <http://acme.test/prop/reference/P7> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#DatatypeProperty> . @@ -286,6 +301,7 @@ <http://acme.test/prop/statement/value/P7> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . <http://acme.test/prop/P8> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . <http://acme.test/prop/direct/P8> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#DatatypeProperty> . +<http://acme.test/prop/direct-normalized/P8> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . <http://acme.test/prop/qualifier/P8> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#DatatypeProperty> . <http://acme.test/prop/qualifier/value/P8> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . <http://acme.test/prop/reference/P8> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#DatatypeProperty> . @@ -294,6 +310,7 @@ <http://acme.test/prop/statement/value/P8> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . <http://acme.test/prop/P9> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . <http://acme.test/prop/direct/P9> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . +<http://acme.test/prop/direct-normalized/P9> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . <http://acme.test/prop/qualifier/P9> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . <http://acme.test/prop/qualifier/value/P9> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . <http://acme.test/prop/reference/P9> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . @@ -302,6 +319,7 @@ <http://acme.test/prop/statement/value/P9> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . <http://acme.test/prop/P10> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . <http://acme.test/prop/direct/P10> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . +<http://acme.test/prop/direct-normalized/P10> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . <http://acme.test/prop/qualifier/P10> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . <http://acme.test/prop/qualifier/value/P10> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . <http://acme.test/prop/reference/P10> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . diff --git a/repo/tests/phpunit/data/rdf/RdfDumpGenerator/full-dump-entities.nt b/repo/tests/phpunit/data/rdf/RdfDumpGenerator/full-dump-entities.nt index 5e6b175..e6b72e6 100644 --- a/repo/tests/phpunit/data/rdf/RdfDumpGenerator/full-dump-entities.nt +++ b/repo/tests/phpunit/data/rdf/RdfDumpGenerator/full-dump-entities.nt @@ -38,6 +38,7 @@ <http://acme.test/P10> <http://wikiba.se/ontology-beta#propertyType> <http://wikiba.se/ontology-beta#Wibblywobbly> . <http://acme.test/P10> <http://wikiba.se/ontology-beta#claim> <http://acme.test/prop/P10> . <http://acme.test/P10> <http://wikiba.se/ontology-beta#directClaim> <http://acme.test/prop/direct/P10> . +<http://acme.test/P10> <http://wikiba.se/ontology-beta#directClaimNormalized> <http://acme.test/prop/direct-normalized/P10> . <http://acme.test/P10> <http://wikiba.se/ontology-beta#qualifier> <http://acme.test/prop/qualifier/P10> . <http://acme.test/P10> <http://wikiba.se/ontology-beta#qualifierValue> <http://acme.test/prop/qualifier/value/P10> . <http://acme.test/P10> <http://wikiba.se/ontology-beta#reference> <http://acme.test/prop/reference/P10> . @@ -52,6 +53,7 @@ _:genid1 <http://www.w3.org/2002/07/owl#someValuesFrom> <http://www.w3.org/2002/07/owl#Thing> . <http://acme.test/prop/P10> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . <http://acme.test/prop/direct/P10> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#DatatypeProperty> . +<http://acme.test/prop/direct-normalized/P10> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . <http://acme.test/prop/qualifier/P10> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#DatatypeProperty> . <http://acme.test/prop/qualifier/value/P10> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . <http://acme.test/prop/reference/P10> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#DatatypeProperty> . diff --git a/repo/tests/phpunit/data/rdf/RdfDumpGenerator/full-dump-redirect.nt b/repo/tests/phpunit/data/rdf/RdfDumpGenerator/full-dump-redirect.nt index 903f803..1b883fe 100644 --- a/repo/tests/phpunit/data/rdf/RdfDumpGenerator/full-dump-redirect.nt +++ b/repo/tests/phpunit/data/rdf/RdfDumpGenerator/full-dump-redirect.nt @@ -20,6 +20,7 @@ <http://acme.test/P10> <http://wikiba.se/ontology-beta#propertyType> <http://wikiba.se/ontology-beta#Wibblywobbly> . <http://acme.test/P10> <http://wikiba.se/ontology-beta#claim> <http://acme.test/prop/P10> . <http://acme.test/P10> <http://wikiba.se/ontology-beta#directClaim> <http://acme.test/prop/direct/P10> . +<http://acme.test/P10> <http://wikiba.se/ontology-beta#directClaimNormalized> <http://acme.test/prop/direct-normalized/P10> . <http://acme.test/P10> <http://wikiba.se/ontology-beta#qualifier> <http://acme.test/prop/qualifier/P10> . <http://acme.test/P10> <http://wikiba.se/ontology-beta#qualifierValue> <http://acme.test/prop/qualifier/value/P10> . <http://acme.test/P10> <http://wikiba.se/ontology-beta#reference> <http://acme.test/prop/reference/P10> . @@ -28,6 +29,7 @@ <http://acme.test/P10> <http://wikiba.se/ontology-beta#statementValue> <http://acme.test/prop/statement/value/P10> . <http://acme.test/prop/P10> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . <http://acme.test/prop/direct/P10> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#DatatypeProperty> . +<http://acme.test/prop/direct-normalized/P10> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . <http://acme.test/prop/qualifier/P10> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#DatatypeProperty> . <http://acme.test/prop/qualifier/value/P10> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . <http://acme.test/prop/reference/P10> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#DatatypeProperty> . diff --git a/repo/tests/phpunit/data/rdf/RdfDumpGenerator/truthy-dump-entities.nt b/repo/tests/phpunit/data/rdf/RdfDumpGenerator/truthy-dump-entities.nt index 690597a..e1dce28 100644 --- a/repo/tests/phpunit/data/rdf/RdfDumpGenerator/truthy-dump-entities.nt +++ b/repo/tests/phpunit/data/rdf/RdfDumpGenerator/truthy-dump-entities.nt @@ -15,6 +15,7 @@ <http://acme.test/P10> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://wikiba.se/ontology-beta#Property> . <http://acme.test/P10> <http://wikiba.se/ontology-beta#propertyType> <http://wikiba.se/ontology-beta#Wibblywobbly> . <http://acme.test/P10> <http://wikiba.se/ontology-beta#directClaim> <http://acme.test/prop/direct/P10> . +<http://acme.test/P10> <http://wikiba.se/ontology-beta#directClaimNormalized> <http://acme.test/prop/direct-normalized/P10> . <http://acme.test/P10> <http://wikiba.se/ontology-beta#claim> <http://acme.test/prop/P10> . <http://acme.test/P10> <http://wikiba.se/ontology-beta#statementProperty> <http://acme.test/prop/statement/P10> . <http://acme.test/P10> <http://wikiba.se/ontology-beta#statementValue> <http://acme.test/prop/statement/value/P10> . @@ -34,6 +35,7 @@ <http://acme.test/prop/qualifier/value-normalized/P10> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . <http://acme.test/prop/reference/value-normalized/P10> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . <http://acme.test/prop/direct/P10> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#DatatypeProperty> . +<http://acme.test/prop/direct-normalized/P10> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . <http://acme.test/prop/statement/P10> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#DatatypeProperty> . <http://acme.test/prop/qualifier/P10> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#DatatypeProperty> . <http://acme.test/prop/reference/P10> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#DatatypeProperty> . @@ -57,4 +59,4 @@ <http://acme.test/Q40> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://wikiba.se/ontology-beta#Item> . <http://acme.test/Q40> <http://www.w3.org/2000/01/rdf-schema#label> "label:Q40"@en . <http://acme.test/Q40> <http://www.w3.org/2004/02/skos/core#prefLabel> "label:Q40"@en . -<http://acme.test/Q40> <http://schema.org/name> "label:Q40"@en . \ No newline at end of file +<http://acme.test/Q40> <http://schema.org/name> "label:Q40"@en . diff --git a/repo/tests/phpunit/data/rdf/RdfDumpGenerator/truthy-dump-redirect.nt b/repo/tests/phpunit/data/rdf/RdfDumpGenerator/truthy-dump-redirect.nt index 87ee31a..6087b8c 100644 --- a/repo/tests/phpunit/data/rdf/RdfDumpGenerator/truthy-dump-redirect.nt +++ b/repo/tests/phpunit/data/rdf/RdfDumpGenerator/truthy-dump-redirect.nt @@ -15,6 +15,7 @@ <http://acme.test/P10> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://wikiba.se/ontology-beta#Property> . <http://acme.test/P10> <http://wikiba.se/ontology-beta#propertyType> <http://wikiba.se/ontology-beta#Wibblywobbly> . <http://acme.test/P10> <http://wikiba.se/ontology-beta#directClaim> <http://acme.test/prop/direct/P10> . +<http://acme.test/P10> <http://wikiba.se/ontology-beta#directClaimNormalized> <http://acme.test/prop/direct-normalized/P10> . <http://acme.test/P10> <http://wikiba.se/ontology-beta#claim> <http://acme.test/prop/P10> . <http://acme.test/P10> <http://wikiba.se/ontology-beta#statementProperty> <http://acme.test/prop/statement/P10> . <http://acme.test/P10> <http://wikiba.se/ontology-beta#statementValue> <http://acme.test/prop/statement/value/P10> . @@ -34,6 +35,7 @@ <http://acme.test/prop/qualifier/value-normalized/P10> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . <http://acme.test/prop/reference/value-normalized/P10> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . <http://acme.test/prop/direct/P10> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#DatatypeProperty> . +<http://acme.test/prop/direct-normalized/P10> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#ObjectProperty> . <http://acme.test/prop/statement/P10> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#DatatypeProperty> . <http://acme.test/prop/qualifier/P10> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#DatatypeProperty> . <http://acme.test/prop/reference/P10> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#DatatypeProperty> . @@ -42,4 +44,4 @@ _:genid1 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Restriction> . _:genid1 <http://www.w3.org/2002/07/owl#onProperty> <http://acme.test/prop/direct/P10> . _:genid1 <http://www.w3.org/2002/07/owl#someValuesFrom> <http://www.w3.org/2002/07/owl#Thing> . -<http://acme.test/Q4242> <http://www.w3.org/2002/07/owl#sameAs> <http://acme.test/Q42> . \ No newline at end of file +<http://acme.test/Q4242> <http://www.w3.org/2002/07/owl#sameAs> <http://acme.test/Q42> . diff --git a/repo/tests/phpunit/includes/Rdf/RdfBuilderTest.php b/repo/tests/phpunit/includes/Rdf/RdfBuilderTest.php index c66a4a6..432ddba 100644 --- a/repo/tests/phpunit/includes/Rdf/RdfBuilderTest.php +++ b/repo/tests/phpunit/includes/Rdf/RdfBuilderTest.php @@ -136,6 +136,7 @@ $siteLookup = $this->getTestData()->getSiteLookup(); // Note: using the actual factory here makes this an integration test! + // FIXME: we want to inject an ExternalIdentifierRdfBuilder here somehow! $valueBuilderFactory = WikibaseRepo::getDefaultInstance()->getValueSnakRdfBuilderFactory(); $entityRdfBuilderFactory = new EntityRdfBuilderFactory( $this->getRdfBuilderFactoryCallbacks( $siteLookup ) ); $emitter = new NTriplesRdfWriter(); diff --git a/repo/tests/phpunit/includes/Rdf/Values/ExternalIdentifierRdfBuilderTest.php b/repo/tests/phpunit/includes/Rdf/Values/ExternalIdentifierRdfBuilderTest.php new file mode 100644 index 0000000..eda3e4f --- /dev/null +++ b/repo/tests/phpunit/includes/Rdf/Values/ExternalIdentifierRdfBuilderTest.php @@ -0,0 +1,76 @@ +<?php + +namespace Wikibase\Test\Rdf; + +use DataValues\StringValue; +use Wikibase\DataModel\Entity\PropertyId; +use Wikibase\Lib\Store\PropertyInfoProvider; +use Wikibase\Rdf\Values\ExternalIdentifierRdfBuilder; +use Wikibase\Repo\Tests\Rdf\NTriplesRdfTestHelper; +use Wikibase\Repo\WikibaseRepo; +use Wikimedia\Purtle\NTriplesRdfWriter; +use Wikibase\DataModel\Snak\PropertyValueSnak; + +/** + * @covers Wikibase\Rdf\Values\ExternalIdentifierRdfBuilder + * + * @group Wikibase + * @group WikibaseRepo + * @group WikibaseRdf + * + * @licence GNU GPL v2+ + * @author Daniel Kinzler + */ +class ExternalIdentifierRdfBuilderTest extends \PHPUnit_Framework_TestCase { + + /** + * @var NTriplesRdfTestHelper + */ + private $helper; + + protected function setUp() { + parent::setUp(); + + $this->helper = new NTriplesRdfTestHelper(); + } + + public function testAddValue() { + $uriPatternProvider = $this->getMock( PropertyInfoProvider::class ); + $uriPatternProvider->expects( $this->any() ) + ->method( 'getPropertyInfo' ) + ->will( $this->returnCallback( function( PropertyId $id ) { + return $id->getSerialization() === 'P1' ? 'http://xyzzy.test/vocab/$1' : null; + } ) ); + + $builder = new ExternalIdentifierRdfBuilder( $uriPatternProvider ); + + $writer = new NTriplesRdfWriter(); + $writer->prefix( 'www', "http://www.test/" ); + $writer->prefix( 'wdt', "http://acme.test/prop/" ); + $writer->prefix( 'wdtn', "http://acme.test/prop-normalized/" ); + + $writer->start(); + $writer->about( 'www', 'Q1' ); + + $snakP1 = new PropertyValueSnak( + new PropertyId( 'P1' ), + new StringValue( 'AB&123' ) + ); + + $snakP345 = new PropertyValueSnak( + new PropertyId( 'P345' ), + new StringValue( 'XY-23' ) + ); + + $builder->addValue( $writer, 'wdt', 'P1', 'DUMMY', $snakP1 ); + $builder->addValue( $writer, 'wdt', 'P345', 'DUMMY', $snakP345 ); + + $expected = [ + '<http://www.test/Q1> <http://acme.test/prop-normalized/P1> <http://xyzzy.test/vocab/AB%26123> .', + '<http://www.test/Q1> <http://acme.test/prop/P1> "AB&123" .', + '<http://www.test/Q1> <http://acme.test/prop/P345> "XY-23" .', + ]; + $this->helper->assertNTriplesEquals( $expected, $writer->drain() ); + } + +} -- To view, visit https://gerrit.wikimedia.org/r/258519 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: I44a203bddfece0d275c31d089a1172ab71891dae Gerrit-PatchSet: 25 Gerrit-Project: mediawiki/extensions/Wikibase Gerrit-Branch: master Gerrit-Owner: Daniel Kinzler <daniel.kinz...@wikimedia.de> Gerrit-Reviewer: Addshore <addshorew...@gmail.com> Gerrit-Reviewer: Daniel Kinzler <daniel.kinz...@wikimedia.de> Gerrit-Reviewer: Ladsgroup <ladsgr...@gmail.com> Gerrit-Reviewer: Lucas Werkmeister (WMDE) <lucas.werkmeis...@wikimedia.de> Gerrit-Reviewer: Smalyshev <smalys...@wikimedia.org> Gerrit-Reviewer: Thiemo Mättig (WMDE) <thiemo.maet...@wikimedia.de> Gerrit-Reviewer: jenkins-bot <> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits