Interface Statement

All Known Implementing Classes:
StatementImpl

public interface Statement
Interface for Wikibase Statments. A Statement is the main information object entered by users in Wikidata. It refers to a Claim, on which it provides additional information about references and ranking.
Author:
Markus Kroetzsch
  • Method Details

    • getClaim

      Claim getClaim()
      Get the Claim object that this statement refers to.
      Returns:
      the claim that this statement refers to
    • getSubject

      EntityIdValue getSubject()
      The subject that the claim refers to, e.g., the id of "Berlin".
      Returns:
      EntityId of the subject
    • getMainSnak

      Snak getMainSnak()
      Main Snak of the statement. This Snak refers directly to the subject, e.g., the ValueSnak "Population: 3000000".
      Returns:
      the main snak
    • getQualifiers

      List<SnakGroup> getQualifiers()
      Groups of auxiliary Snaks, also known as qualifiers, that provide additional context information for this claim. For example, "as of: 2014" might be a temporal context given for a claim that provides a population number. The snaks are grouped by the property that they use.
      Returns:
      list of snak groups
    • getAllQualifiers

      Iterator<Snak> getAllQualifiers()
      Returns an iterator over all qualifiers, without considering qualifier groups. The relative order of qualifiers is preserved.
      Returns:
      iterator over all qualifier snaks
    • getRank

      StatementRank getRank()
      Returns:
      the rank of the Statement
      See Also:
    • getReferences

      List<Reference> getReferences()
      Get a list of references for this Statement. Each reference is represented by a list of Snaks, which provide information about the reference.
      Returns:
      the list of references
    • getStatementId

      String getStatementId()
      Return the id used to identify this statement.

      Statement ids are used by Wikibase to allow certain interactions though the API, especially the atomic modification of Statements (modifications of statements can be viewed as deletions followed by insertions, but doing this in several steps though the API is not practical). In the current Wikibase implementation, the id is a string that begins with the (sometimes lowercased) local ID of the subject of the statement, followed by a dollar sign and a randomly generated UUID. Thus statements of different subjects can never have the same id, and it is extremely unlikely that two statements of the one subject ever have the same id. However, it is possible that two statements with the same content differ in their id, since the id is not based on the content.

      Wikidata Toolkit generally requires ids to be specified but you can use the empty string to indicate that a statement has no id. This will also be respected when serializing data as JSON, i.e., rather than setting the statement id to an empty string in JSON, the key will simply be omitted. This is useful for creating new statements through the API.

      Callers should not make any assumptions about the stability of statement ids over time, or about the internal format of the ids.

      Returns:
      the statement string id
    • getValue

      Value getValue()
      Convenience method to get the value of the statement's claim's main snak, or null if there is none.
      Returns:
      main value of the statement, or null
    • withStatementId

      Statement withStatementId(String id)
      Returns the same statement, but with a different identifier. This is useful when the existing identifier was empty and we need to attribute one before creating the statement in a remote Wikibase instance.