Last modified: 2014-07-16 11:58:42 UTC
I am processing a wikidata dump with the new internal (de)serializers. It failed to deserialize https://www.wikidata.org/wiki/Q4964796 due to an invalid time value. This should be converted to a bad value or something so that it's still possible to handle / deserialize the entity. I don't know yet how often this occurs with the dump. if just one item, it can be fixed. Fatal error: Uncaught exception 'DataValues\IllegalValueException' with message '$time needs to be a valid ISO 8601 date, given +00000002001-09-001T00:00:00Z' in /Users/katie/src/wikibot/vendor/data-values/serialization/src/Deserializers/DataValueDeserializer.php on line 109 DataValues\IllegalValueException: $time needs to be a valid ISO 8601 date, given +00000002001-09-001T00:00:00Z in /Users/katie/src/wikibot/vendor/data-values/time/src/DataValues/TimeValue.php on line 108 Wikibase\InternalSerialization\Deserializers\EntityDeserializer->deserialize() /Users/katie/src/wikibot/src/Wikibot/Wikibase/Dump/EntityFetcher.php:33 6.0667 6573232 6. Wikibase\InternalSerialization\Deserializers\EntityDeserializer->fromLegacySerialization() /Users/katie/src/wikibot/vendor/wikibase/internal-serialization/src/Deserializers/EntityDeserializer.php:35 6.0667 6573232 7. Wikibase\InternalSerialization\Deserializers\LegacyEntityDeserializer->deserialize() /Users/katie/src/wikibot/vendor/wikibase/internal-serialization/src/Deserializers/EntityDeserializer.php:54 6.0667 6573232 8. Wikibase\InternalSerialization\Deserializers\LegacyItemDeserializer->deserialize() /Users/katie/src/wikibot/vendor/wikibase/internal-serialization/src/Deserializers/LegacyEntityDeserializer.php:34 6.0670 6577472 9. Wikibase\InternalSerialization\Deserializers\LegacyItemDeserializer->addClaims() /Users/katie/src/wikibot/vendor/wikibase/internal-serialization/src/Deserializers/LegacyItemDeserializer.php:53 6.0676 6586784 10. Wikibase\InternalSerialization\Deserializers\LegacyClaimDeserializer->deserialize() /Users/katie/src/wikibot/vendor/wikibase/internal-serialization/src/Deserializers/LegacyItemDeserializer.php:83 6.0676 6586784 11. Wikibase\InternalSerialization\Deserializers\LegacyClaimDeserializer->newClaimFormSerialization() /Users/katie/src/wikibot/vendor/wikibase/internal-serialization/src/Deserializers/LegacyClaimDeserializer.php:44 6.0676 6586784 12. Wikibase\InternalSerialization\Deserializers\LegacyClaimDeserializer->newClaimOrStatement() /Users/katie/src/wikibot/vendor/wikibase/internal-serialization/src/Deserializers/LegacyClaimDeserializer.php:60 6.0676 6586784 13. Wikibase\InternalSerialization\Deserializers\LegacyClaimDeserializer->getStatement() /Users/katie/src/wikibot/vendor/wikibase/internal-serialization/src/Deserializers/LegacyClaimDeserializer.php:69 6.0676 6587544 14. Wikibase\InternalSerialization\Deserializers\LegacyClaimDeserializer->getMainSnak() /Users/katie/src/wikibot/vendor/wikibase/internal-serialization/src/Deserializers/LegacyClaimDeserializer.php:89 6.0676 6587544 15. Wikibase\InternalSerialization\Deserializers\LegacySnakDeserializer->deserialize() /Users/katie/src/wikibot/vendor/wikibase/internal-serialization/src/Deserializers/LegacyClaimDeserializer.php:109 6.0676 6587544 16. Wikibase\InternalSerialization\Deserializers\LegacySnakDeserializer->deserializeValueSnak() /Users/katie/src/wikibot/vendor/wikibase/internal-serialization/src/Deserializers/LegacySnakDeserializer.php:42 6.0676 6587952 17. DataValues\Deserializers\DataValueDeserializer->deserialize() /Users/katie/src/wikibot/vendor/wikibase/internal-serialization/src/Deserializers/LegacySnakDeserializer.php:56 6.0676 6587544 18. DataValues\Deserializers\DataValueDeserializer->getDeserialization() /Users/katie/src/wikibot/vendor/data-values/serialization/src/Deserializers/DataValueDeserializer.php:70 6.0677 6587544 19. DataValues\TimeValue::newFromArray() /Users/katie/src/wikibot/vendor/data-values/serialization/src/Deserializers/DataValueDeserializer.php:106 6.0677 6588408 20. DataValues\TimeValue->__construct() /Users/katie/src/wikibot/vendor/data-values/time/src/DataValues/TimeValue.php:314 Deserializers\Exceptions\DeserializationException: $time needs to be a valid ISO 8601 date, given +00000002001-09-001T00:00:00Z in /Users/katie/src/wikibot/vendor/data-values/serialization/src/Deserializers/DataValueDeserializer.php on line 109
https://www.wikidata.org/wiki/Q5110134 when using new internal deserializers, I get: Fatal error: Uncaught exception 'DataValues\IllegalValueException' with message '$time needs to be a valid ISO 8601 date, given +00000001874-03-012T00:00:00Z' in /Users/katie/src/wikibot/vendor/data-values/serialization/src/Deserializers/DataValueDeserializer.php on line 109 DataValues\IllegalValueException: $time needs to be a valid ISO 8601 date, given +00000001874-03-012T00:00:00Z in /Users/katie/src/wikibot/vendor/data-values/time/src/DataValues/TimeValue.php on line 108 should be a "bad" value or such.
works for me now