Пример #1
0
 /**
  * @since 2.1
  *
  * @return SemanticData
  */
 public function asEntity()
 {
     $semanticData = new SemanticData($this->asSubject());
     $semanticData->addDataValue($this->getLocatedInValue());
     $countryCategory = new CountryCategory();
     $semanticData->addDataValue($countryCategory->getCategoryValue());
     return $semanticData;
 }
 public function testAddUserDefinedPropertyAsDataValueToSemanticDataForStorage()
 {
     $propertyAsString = 'SomePropertyAsString';
     $this->subjects[] = $subject = DIWikiPage::newFromTitle(Title::newFromText(__METHOD__));
     $semanticData = new SemanticData($subject);
     $dataValue = DataValueFactory::getInstance()->newPropertyValue($propertyAsString, 'Foo', false, $subject);
     $semanticData->addDataValue($dataValue);
     $this->getStore()->updateData($semanticData);
     $this->assertArrayHasKey($propertyAsString, $this->getStore()->getSemanticData($subject)->getProperties());
 }
 public function testRedirectTragetLookupForExistingEntry()
 {
     $property = new DIProperty('RedirectLookupForExistingEntry');
     $semanticData = new SemanticData(new DIWikiPage(__METHOD__, NS_MAIN, ''));
     $semanticData->addDataValue(DataValueFactory::getInstance()->newPropertyObjectValue($property, 'Bar'));
     $this->store->doSparqlDataUpdate($semanticData);
     $expNsResource = new ExpNsResource('RedirectLookupForExistingEntry', Exporter::getNamespaceUri('property'), 'property');
     $instance = new RedirectLookup($this->sparqlDatabase);
     $instance->clear();
     $exists = null;
     $this->assertSame($expNsResource, $instance->findRedirectTargetResource($expNsResource, $exists));
     $this->assertTrue($exists);
 }
 /**
  * @since 2.1
  *
  * @return SemanticData
  */
 public function asEntity()
 {
     $semanticData = new SemanticData($this->asSubject());
     $semanticData->addDataValue($this->getAreaValue());
     $semanticData->addDataValue($this->getAverageHighTemperatureValue());
     $semanticData->addDataValue($this->getPopulationValue());
     $semanticData->addDataValue($this->getPopulationDensityValue());
     $semanticData->addDataValue($this->getLocatedInValue());
     $semanticData->addDataValue($this->getFoundedValue());
     $semanticData->addSubobject($this->getDemographics());
     $cityCategory = new CityCategory();
     $semanticData->addDataValue($cityCategory->getCategoryValue());
     return $semanticData;
 }
Пример #5
0
 /**
  * @dataProvider dataValueDataProvider
  */
 public function testAddDataValues($dataValues, $expected)
 {
     $title = Title::newFromText(__METHOD__);
     $instance = new SemanticData(DIWikiPage::newFromTitle($title));
     foreach ($dataValues as $dataValue) {
         $instance->addDataValue($dataValue);
     }
     if ($expected['error'] > 0) {
         return $this->assertCount($expected['error'], $instance->getErrors());
     }
     $this->semanticDataValidator->assertThatPropertiesAreSet($expected, $instance);
 }
 /**
  * @return array
  */
 public function typeChangeSemanticDataProvider()
 {
     $provider = array();
     $title = \Title::newFromText(__METHOD__);
     // #0 Single entry
     $foo = new SemanticData(DIWikiPage::newFromTitle($title));
     $foo->addDataValue(DataValueFactory::getInstance()->newPropertyValue('Has fooQuex', 'Bar'));
     $provider[] = array($foo, 'Has_fooQuex');
     // #1 Single subobject entry
     $foo = new SemanticData(DIWikiPage::newFromTitle($title));
     $subobject = new Subobject($title);
     $subobject->setSemanticData('Foo');
     $subobject->addDataValue(DataValueFactory::getInstance()->newPropertyValue('Has fomQuex', 'Bam'));
     $foo->addPropertyObjectValue($subobject->getProperty(), $subobject->getContainer());
     $provider[] = array($foo, 'Has_fomQuex');
     // #2 Combined
     $foo = new SemanticData(DIWikiPage::newFromTitle($title));
     $foo->addDataValue(DataValueFactory::getInstance()->newPropertyValue('Has fooQuex', 'Bar'));
     $foo->addPropertyObjectValue($subobject->getProperty(), $subobject->getContainer());
     $provider[] = array($foo, 'Has_fomQuex');
     return $provider;
 }
Пример #7
0
 /**
  * @see SemanticData::addDataValue
  *
  * @since 1.9
  *
  * @param SMWDataValue $dataValue
  */
 public function addDataValue(DataValue $dataValue)
 {
     $this->semanticData->addDataValue($dataValue);
     $this->addError($this->semanticData->getErrors());
 }
Пример #8
0
 public function testSetGetSemanticData()
 {
     $title = Title::newFromText(__METHOD__);
     $parserOutput = new ParserOutput();
     $instance = new ParserData($title, $parserOutput);
     $this->assertTrue($instance->getSemanticData()->isEmpty());
     $semanticData = new SemanticData(DIWikiPage::newFromTitle(Title::newFromText(__METHOD__)));
     $semanticData->addDataValue($this->dataValueFactory->newDataValueByText('Foo', 'Bar'));
     $instance->setSemanticData($semanticData);
     $this->assertFalse($instance->getSemanticData()->isEmpty());
     $this->assertEquals($semanticData->getHash(), $instance->getSemanticData()->getHash());
 }
 /**
  * @since 2.1
  *
  * @return SemanticData
  */
 public function getDependencies()
 {
     $semanticData = new SemanticData($this->property->getDiWikiPage());
     $semanticData->addDataValue(DataValueFactory::getInstance()->newPropertyObjectValue(new DIProperty('_TYPE'), $this->property->findPropertyTypeID()));
     return $semanticData;
 }