/** * @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; }
/** * @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; }
/** * @see SemanticData::addDataValue * * @since 1.9 * * @param SMWDataValue $dataValue */ public function addDataValue(DataValue $dataValue) { $this->semanticData->addDataValue($dataValue); $this->addError($this->semanticData->getErrors()); }
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; }