The Anome abides.

Babel user information
en-N This user has a native understanding of English.
fr-1 Cet utilisateur dispose de connaissances de base en français.
de-1 Dieser Benutzer beherrscht Deutsch auf grundlegendem Niveau.
ru-0 Этот участник не владеет русским языком (или понимает его с трудом).
it-0 Quest'utente non è in grado di comunicare in italiano (o lo capisce solo con notevole difficoltà).
es-0 Esta persona no tiene ningún conocimiento del español (o lo entiende con mucha dificultad).
hu-0 Ez a szerkesztő nem beszéli a magyar nyelvet (vagy csak nagyon nehezen érti meg).
zh-0 这位用户不懂或很难理解中文
uk-0 Цей користувач не володіє українською мовою (або розуміє її дуже погано).
ro-0 Acest utilizator nu are cunoștințe de română (sau înțelege cu mare dificultate).
pl-0 Ten użytkownik nie rozumie języka polskiego (albo ma z nim olbrzymie trudności).
ka-0 ამ მომხმარებელს არ ესმის ქართული ენა.
el-0 Αυτός ο χρήστης δεν έχει καμία γνώση Ελληνικών (ή τα κατανοεί με μεγάλη δυσκολία).
nl-0 Deze gebruiker heeft geen kennis van het Nederlands (of begrijpt het met grote moeite).
Users by language

Classes of geolocatable object

edit
# All instances of the class "Geolocatable item" (Q123349660), recursively

SELECT ?item ?itemDescription ?itemLabel 
WHERE {
  ?item wdt:P31 ?sub0 .  
  ?sub0 (wdt:P279)* wd:Q123349660  .

  SERVICE wikibase:label { bd:serviceParam wikibase:language "en,en"  }  
} LIMIT 10
Try it!
# All _classes_ of the class "Geolocatable item" (Q123349660), recursively

SELECT ?item ?itemDescription ?itemLabel 
WHERE {
  ?item (wdt:P279)* wd:Q123349660  .

  SERVICE wikibase:label { bd:serviceParam wikibase:language "en,en"  }  
} LIMIT 10
Try it!

Hmm. Unfortunately, narrow groove cylinder (Q123117963) is a subclass of geolocatable entity (Q123349660), via storage (Q9158768), making this whole scheme moot. And the query times out, too. This has now been fixed, by making it a class of recording medium.


Wikidata to-do

edit
  • Complete filling in the knot stuff from knotinfo. (11 July 2022)
  • Start filling in data for prime links (skeleton with Knot Atlas IDs now in place) -- started with A-B notations
  • Consider generating diagrams for all knots in Wikidata. (11 July 2022)

Implementations:

  • Download CSV data from linkinfo, as spreadsheet link seems to be dead
  • Fill in crossing number and Gauss notation fields (27 September 2022)
    • Crossing numbers are easy: they can be parsed from names, see the queries below for how to get the names. Do this first.
    • Gauss notation for knots from Knotinfo, Gauss notation for links from Knot Atlas. Change the format to always have braces, even for knots.
  • Add knots to alternating knot, and fibered knot, classes as appropriate; data is on knotinfo
  • For links only, add "has parts" "knot" with qualifier "quantity"; can get these values from Gauss codes where present

Knots

edit
# All instances of the class "Knot" (Q1188853), recursively, removing duplicates

SELECT DISTINCT ?item ?itemDescription ?itemLabel ?crossing_number ?knotinfo_id ?knotatlas_id ?alexanderbriggs ?dt_name  ?dt_notation ?alexander_polynomial ?conway_polynomial ?jones_polynomial ?gauss_notation
WHERE {
  ?item wdt:P31 ?sub0 .  
  ?sub0 (wdt:P279)* wd:Q1188853  .

        OPTIONAL{?item wdt:P11035 ?crossing_number .}          # Crossing number
        OPTIONAL{?item wdt:P11034 ?gauss_notation .}          # Gauss notation
        OPTIONAL{?item wdt:P8427 ?knotinfo_id .}              # Knotinfo ID
        OPTIONAL{?item wdt:P8426 ?knotatlas_id .}              # Knot Atlas ID
        OPTIONAL{?item wdt:P6432 ?alexanderbriggs .}       # Alexander-Briggs notation
        OPTIONAL{?item wdt:P8416 ?dt_name .}                # Dowker-Thistlethwaite name
        OPTIONAL{?item wdt:P8378 ?dt_notation .}            # Dowker-Thistlethwaite notation
        OPTIONAL{?item wdt:P5350 ?alexander_polynomial .}         # Alexander polynomial
        OPTIONAL{?item wdt:P5351 ?conway_polynomial .}            # Conway polynomial
        OPTIONAL{?item wdt:P5352 ?jones_polynomial .}             # Jones polynomial

  SERVICE wikibase:label { bd:serviceParam wikibase:language "en,en"  }  
}

ORDER BY ASC(?item)
LIMIT 10000
Try it!
# All instances of the class "Knot" (Q1188853), recursively, removing duplicates

SELECT DISTINCT ?item ?itemDescription ?itemLabel ?gauss_notation ?crossing_number ?knotinfo_id ?knotatlas_id ?alexanderbriggs ?dt_name 
WHERE {
  ?item wdt:P31 ?sub0 .  
  ?sub0 (wdt:P279)* wd:Q1188853  .

        OPTIONAL{?item wdt:P11035 ?crossing_number .}          # Crossing number
        OPTIONAL{?item wdt:P11034 ?gauss_notation .}          # Gauss notation
        OPTIONAL{?item wdt:P8427 ?knotinfo_id .}              # Knotinfo ID
        OPTIONAL{?item wdt:P8426 ?knotatlas_id .}              # Knot Atlas ID
        OPTIONAL{?item wdt:P6432 ?alexanderbriggs .}       # Alexander-Briggs notation
        OPTIONAL{?item wdt:P8416 ?dt_name .}                # Dowker-Thistlethwaite name

  SERVICE wikibase:label { bd:serviceParam wikibase:language "en,en"  }  
}

ORDER BY ASC(?item)
LIMIT 10000
Try it!
edit
# All instances of the class "prime link" (Q77347966), recursively

SELECT DISTINCT ?item ?itemLabel ?itemDescription ?knotatlas_id ?alexanderbriggs ?jones_polynomial
WHERE {
  ?item wdt:P31 ?sub0 .  
  ?sub0 (wdt:P279)* wd:Q77347966  .
        OPTIONAL{?item wdt:P8426 ?knotatlas_id .}             # Knot Atlas ID
        OPTIONAL{?item wdt:P6432 ?alexanderbriggs .}          # Alexander-Briggs notation
        OPTIONAL{?item wdt:P5352 ?jones_polynomial .}             # Jones polynomial
  SERVICE wikibase:label { bd:serviceParam wikibase:language "en,en"  }  
}

ORDER BY ASC(?item)
LIMIT 10000
Try it!
# All instances of the class "prime link" (Q77347966), recursively

SELECT DISTINCT ?item ?itemLabel ?itemDescription ?has_part ?crossing_number ?gauss_notation ?knotatlas_id ?alexanderbriggs
WHERE {
  ?item wdt:P31 ?sub0 .  
  ?sub0 (wdt:P279)* wd:Q77347966  .
        OPTIONAL{?item wdt:P527 ?has_part .}
        OPTIONAL{?item wdt:P11035 ?crossing_number .}         # Crossing number
        OPTIONAL{?item wdt:P11034 ?gauss_notation .}          # Gauss notation
        OPTIONAL{?item wdt:P8426 ?knotatlas_id .}             # Knot Atlas ID
        OPTIONAL{?item wdt:P6432 ?alexanderbriggs .}          # Alexander-Briggs notation
  SERVICE wikibase:label { bd:serviceParam wikibase:language "en,en"  }  
}

ORDER BY ASC(?item)
LIMIT 10000
Try it!
edit
# All instances of the class "link" (Q1760728), recursively that have images

SELECT DISTINCT ?item ?itemLabel ?image ?itemDescription ?knotatlas_id ?alexanderbriggs ?jones_polynomial
WHERE {
  ?item wdt:P31 ?sub0 .  
  ?sub0 (wdt:P279)* wd:Q1760728  .
        ?item wdt:P18 ?image
        OPTIONAL{?item wdt:P8426 ?knotatlas_id .}             # Knot Atlas ID
        OPTIONAL{?item wdt:P6432 ?alexanderbriggs .}          # Alexander-Briggs notation
        OPTIONAL{?item wdt:P5352 ?jones_polynomial .}             # Jones polynomial
  SERVICE wikibase:label { bd:serviceParam wikibase:language "en,en"  }  
}

ORDER BY ASC(?item)
LIMIT 10000
Try it!
edit
# All instances of the class "link" (Q1760728), recursively that have Dowker-Thistlethwaite names

SELECT DISTINCT ?item ?itemLabel ?dt_name ?knotinfo_id ?itemDescription ?knotatlas_id ?alexanderbriggs ?jones_polynomial
WHERE {
  ?item wdt:P31 ?sub0 .  
  ?sub0 (wdt:P279)* wd:Q1760728  .
        ?item wdt:P8416 ?dt_name
        OPTIONAL{?item wdt:P8426 ?knotatlas_id .}             # Knot Atlas ID
        OPTIONAL{?item wdt:P8427 ?knotinfo_id .}
        OPTIONAL{?item wdt:P6432 ?alexanderbriggs .}          # Alexander-Briggs notation
        OPTIONAL{?item wdt:P5352 ?jones_polynomial .}             # Jones polynomial
  SERVICE wikibase:label { bd:serviceParam wikibase:language "en,en"  }  
}

ORDER BY ASC(?item)
LIMIT 10000
Try it!

Useful

edit

Useful:

In progress:

To do:

  • Gauss codes
  • Extended Gauss codes

Permanently withdrawn:

To do:

  • Dump state of all knot items, and reconcile with knotinfo data to check for errors/duplicates -- done
  • Fill in gaps manually until all checks pass -- perhaps done?
  • Double-check this by doing a full two-way reconciliation of datasets

Next: