Skip to content

Instantly share code, notes, and snippets.

@nichtich
Last active November 15, 2021 23:11
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nichtich/04ba595a3d48fb8180d438c01f4cd9c4 to your computer and use it in GitHub Desktop.
Save nichtich/04ba595a3d48fb8180d438c01f4cd9c4 to your computer and use it in GitHub Desktop.
Wikidata in KDL

Serialization of Wikidata data model in KDL

Two years ago a experimented with a data language for Wikibase. Maybe using KDL as syntax is a better approach.

# simple statement
Q4115189 P31=Q1   # KDL property
Q4115189 P31 Q1   # two KDL arguments

# multiple stataments on same item
Q4115189 {
  P31 Q1
  P373 "Antoni Ignacy Mietelski"       # String value
  P1476 (pl)"Krzyżacy"                 # Monolingual text
}

# more data types
Q3033 P856 (url)"https://www.goettingen.de/"
Q41576483 P569 (year)"1839-00"

# qualifiers and references in a children block
Q41577083 P570 +1586/7 {
  P1319 +1586/9             # qualifier
  references P248=Q52       # references
}

As ( and ) are valid in bare identifiers we can also extend identifiers with arbitrary labels for better readability:

"Wikidata Sandbox (Q4115189)" "instance of (P31)" "universe (Q1)"

wikidata-sandbox-(Q4115189) instance-of(P31) universe-(Q1)

Q4115189:wikidata-sandbox P31:instance-of Q1:universe
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment