/**
  * @since 2.4
  *
  * @param DIProperty $property
  * @param string $chunk
  *
  * @return Description|null
  */
 public function constructDescriptionForPropertyObjectValue(DIProperty $property, $chunk)
 {
     $dataValue = $this->dataValueFactory->newDataValueByProperty($property);
     $dataValue->setContextPage($this->contextPage);
     // Indicates whether a value is being used by a query condition or not which
     // can lead to a modified validation of a value.
     $dataValue->setOption(DataValue::OPT_QUERY_CONTEXT, true);
     $description = $dataValue->getQueryDescription($chunk);
     $this->addError($dataValue->getErrors());
     return $description;
 }
 /**
  * @since 2.1
  *
  * @see https://en.wikipedia.org/wiki/Demographics_of_Paris
  *
  * @return Subobject
  */
 public function getDemographics()
 {
     if ($this->targetSubject === null) {
         throw new RuntimeException('Expected a target subject');
     }
     $subobject = new Subobject($this->targetSubject->getTitle());
     $subobject->setEmptyContainerForId('Paris#Demographics');
     $yearProperty = new YearProperty();
     $yearDataValue = $this->dataValueFactory->newDataValueByProperty($yearProperty->getProperty(), '2009');
     $subobject->addDataValue($yearDataValue);
     $subobject->addDataValue($this->getAreaValue());
     $subobject->addDataValue($this->getPopulationValue());
     $subobject->addDataValue($this->getPopulationDensityValue());
     return $subobject;
 }