public function testChunkedTriples() { $expNsResource = new ExpNsResource('Redirect', Exporter::getInstance()->getNamespaceUri('wiki'), 'Redirect'); $semanticData = new SemanticData(new DIWikiPage('Foo', NS_MAIN)); $redirectLookup = $this->getMockBuilder('\\SMW\\SPARQLStore\\RedirectLookup')->disableOriginalConstructor()->getMock(); $redirectLookup->expects($this->atLeastOnce())->method('findRedirectTargetResource')->will($this->returnValue($expNsResource)); $instance = new TurtleTriplesBuilder($semanticData, $redirectLookup); $instance->setTriplesChunkSize(1); $this->assertInternalType('array', $instance->getChunkedTriples()); }
/** * Update the Sparql back-end, without taking any subobject data into account. * * @param SemanticData $semanticData */ private function doSparqlFlatDataUpdate(SemanticData $semanticData) { $turtleTriplesBuilder = new TurtleTriplesBuilder($semanticData, new RedirectLookup($this->getConnection())); $turtleTriplesBuilder->setTriplesChunkSize(80); if (!$turtleTriplesBuilder->hasTriplesForUpdate()) { return; } if ($semanticData->getSubject()->getSubobjectName() === '') { $this->doSparqlDataDelete($semanticData->getSubject()); } foreach ($turtleTriplesBuilder->getChunkedTriples() as $chunkedTriples) { $this->getConnection()->insertData($chunkedTriples, $turtleTriplesBuilder->getPrefixes()); } }