Wikidata/Development/Phase 2 API

The data model:

Item
 Statement *
  Claim
   ValueSnak
   QualifierSnak *
  Reference
   Snak +
  Rank

Functions:

Prio 0:

Claim createClaim( Entity, Property, Snaktype, Value? )

Prio 1:

Claims getClaims( Entity OR Claim GUID+, Property?, rank? )
void removeClaims( Entity, Claim GUID+ )

Prio 2:

void setClaimValue( Claim GUID, Value, Snaktype )

Prio 3:

refhash setReference( Statement GUID, refhash?, snaklist )
void removeReferences( Statement GUID, refhash+ )

Prio 4:

void setStatementRank( Statement GUID, Rank )

Prio 5:

void setQualifier( Claim GUID, Property?, Snaktype?, Value?, snakhash? )
Statement removeQualifiers( Claim GUID, snakhash+ )

Prio 6:

void editClaim( Entity, Claim GUID?, Data )
Statement ::=  item#key