/** * @param Statement|null $oldStatement * @param Statement|null $newStatement * * @return DiffOpChange|null */ private function diffRanks(Statement $oldStatement = null, Statement $newStatement = null) { $oldRank = $oldStatement === null ? null : $oldStatement->getRank(); $newRank = $newStatement === null ? null : $newStatement->getRank(); if ($oldRank === $newRank) { return null; } return new DiffOpChange($oldRank, $newRank); }
/** * @param Statement $statement * * @return Statement */ public function copy(Statement $statement) { $mainSnak = $this->copySnak($statement->getMainSnak()); $qualifiers = $this->copyQualifiers($statement->getQualifiers()); $references = $this->copyReferences($statement->getReferences()); $newStatement = new Statement($mainSnak, $qualifiers, $references); $newStatement->setRank($statement->getRank()); return $newStatement; }
/** * Builds and returns the HTML representing a single WikibaseEntity's statement. * * @since 0.4 * * @param Statement $statement * @param null|string $editSectionHtml has the html for the edit section * * @return string HTML */ public function getHtmlForClaim(Statement $statement, $editSectionHtml = null) { $mainSnakHtml = $this->snakHtmlGenerator->getSnakHtml($statement->getMainSnak(), false); $statementRankSerializer = new StatementRankSerializer(); $serializedRank = $statementRankSerializer->serialize($statement->getRank()); // Messages: wikibase-statementview-rank-preferred, wikibase-statementview-rank-normal, // wikibase-statementview-rank-deprecated $rankHtml = $this->templateFactory->render('wikibase-rankselector', 'ui-state-disabled', 'wikibase-rankselector-' . $serializedRank, $this->getStatementRankText($serializedRank)); $referencesHeading = $this->getReferencesHeading($statement); $references = $statement->getReferences(); $referencesHtml = $this->getHtmlForReferences($references); return $this->templateFactory->render('wikibase-statementview', $statement->getGuid(), $rankHtml, $mainSnakHtml, $this->getHtmlForQualifiers($statement->getQualifiers()), $editSectionHtml, $referencesHeading, $referencesHtml, count($references) ? 'wikibase-initially-collapsed' : ''); }
/** * Extract globe-coordinate DataValues for storing in ParserOutput for GeoData. * * @param Statement $statement */ public function processStatement(Statement $statement) { $propertyId = $statement->getMainSnak()->getPropertyId(); if ($this->propertyDataTypeMatcher->isMatchingDataType($propertyId, 'globe-coordinate')) { $rank = $statement->getRank(); if ($rank !== Statement::RANK_DEPRECATED) { $coordinate = $this->extractMainSnakCoord($statement); if ($coordinate instanceof Coord) { $key = $this->makeCoordinateKey($propertyId->getSerialization(), $rank); $this->coordinates[$key][] = $coordinate; } } } }
/** * @param Statement $statement * * @return boolean */ public function statementMatches(Statement $statement) { return $this->rankMatchesFilter($statement->getRank()) && $this->propertyMatchesFilter($statement->getPropertyId()); }
private function addRankToSerialization(Statement $statement, array &$serialization) { $serialization['rank'] = $this->rankLabels[$statement->getRank()]; }
/** * @dataProvider instanceProvider */ public function testSetRank(Statement $statement) { $statement->setRank(Statement::RANK_DEPRECATED); $this->assertEquals(Statement::RANK_DEPRECATED, $statement->getRank()); }
/** * @see StatementDataUpdater::processStatement * * @param Statement $statement */ public function processStatement(Statement $statement) { $this->processSnak($statement->getMainSnak(), $statement->getPropertyId(), $statement->getRank()); }
/** * Adds the given Statement's main Snak to the RDF graph. * * @param EntityId $entityId * @param string $statementLName * @param Statement $statement * @param bool $isBest Is this best ranked statement? */ private function addMainSnak(EntityId $entityId, $statementLName, Statement $statement, $isBest) { $snak = $statement->getMainSnak(); $entityLName = $this->vocabulary->getEntityLName($entityId); $propertyLName = $this->vocabulary->getEntityLName($snak->getPropertyId()); $this->statementWriter->about(RdfVocabulary::NS_ENTITY, $entityLName)->say(RdfVocabulary::NSP_CLAIM, $propertyLName)->is(RdfVocabulary::NS_STATEMENT, $statementLName); $this->statementWriter->about(RdfVocabulary::NS_STATEMENT, $statementLName)->a(RdfVocabulary::NS_ONTOLOGY, 'Statement'); $rank = $statement->getRank(); if (isset(RdfVocabulary::$rankMap[$rank])) { if ($isBest) { $this->statementWriter->a(RdfVocabulary::NS_ONTOLOGY, RdfVocabulary::WIKIBASE_RANK_BEST); } $this->statementWriter->about(RdfVocabulary::NS_STATEMENT, $statementLName)->say(RdfVocabulary::NS_ONTOLOGY, 'rank')->is(RdfVocabulary::NS_ONTOLOGY, RdfVocabulary::$rankMap[$rank]); } else { wfLogWarning("Unknown rank {$rank} encountered for {$entityId}:{$statement->getGuid()}"); } $this->snakBuilder->addSnak($this->statementWriter, $snak, RdfVocabulary::NSP_CLAIM_STATEMENT); }