Example #1
0
 /**
  * @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()];
 }
Example #7
0
 /**
  * @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);
 }