import _ from 'lodash'
import React from 'react'
import TextEditor from '../editor/LazyTextEditor'
import Spinner from './Spinner'
import * as predicate from '../quark/predicates/predicate'
import * as quark from '../quark'
const fetching = {}
const resolved = {}
const LOADING = {}
// function fetchSuspense(url){
// if(url in resolved) return resolved[url];
// if(!(url in fetching)){
// fetching[url] = cors(url)
// .then(k => k.json())
// .then(data => {
// resolved[url] = data
// }).catch(err => {
// resolved[url] = null
// })
// }
// throw fetching[url]
// }
function suspend(key, fetcher) {
if (key in resolved) return resolved[key]
if (!(key in fetching)) {
fetching[key] = fetcher()
.then((data) => {
resolved[key] = data
})
.catch((err) => {
resolved[key] = null
})
}
throw fetching[key]
}
function useLoader() {
let [version, setVersion] = React.useState(0)
return function load(key, fetcher) {
if (key in resolved) return resolved[key]
if (!(key in fetching)) {
fetching[key] = fetcher()
.then((data) => {
resolved[key] = data
setVersion((k) => k + 1)
})
.catch((err) => {
resolved[key] = null
setVersion((k) => k + 1)
})
}
return LOADING
}
}
export default function AutoimportWrapper(props) {
return (
)
}
function Autoimport({ line, path }: { line: Entity; path: Entity[] }) {
// return null
if (line.noAutoimport) return null
const load = useLoader()
let [page, setPage] = React.useState(0)
let topic = line.text
let res = load(topic, () =>
cors(
`https://www.wikidata.org/w/api.php?action=wbsearchentities&search=${topic}&language=en&format=json`
)
)
if (res === LOADING) return null
if (!res) return null
if (res.search.length === 0) return null
// console.log(res)
let id = res.search[page].id
let data = load(id, () => getData(id))
if ((!data || data === LOADING) && page === 0) return null
let parent = line
let children = quark.enlist(line)
let existingPredicates = children.filter((k) => k.type === 'cluster').map((k) => k.predicate)
let matchingLines = Object.entries(data).filter(
([p, values]) =>
!existingPredicates.some((k) =>
predicate.predicate_is_equal(k, p.replace(/:|=/g, '').trim())
)
)
// console.log(data);
if (matchingLines.length === 0 && page === 0) return null
console.log(matchingLines)
function formatRelation(predicate, values) {
console.log(predicate, values)
if (values.some((k) => typeof k === 'object' && k.type == 'string')) {
return predicate + '= ' + values[0].value
}
if (values.some((k) => typeof k === 'object' && k.type == 'quantity')) {
if (values[0].value.unit === 'http://www.wikidata.org/entity/Q4917') {
return (
predicate +
'= ' +
parseInt(values[0].value.amount).toLocaleString(undefined, {
style: 'currency',
currency: 'USD',
})
)
}
return predicate + '= ' + parseInt(values[0].value.amount).toLocaleString()
}
return (
predicate +
': ' +
values
.filter((k) => typeof k !== 'object')
.map((k) => k.replace(/\,/g, ''))
.join(', ')
)
}
return (
{matchingLines.length === 0 &&
(data === LOADING ? (
) : (
(no data...)
))}
{matchingLines.map(([predicate, values]) => (
))}
via
Wikidata
)
}
async function cors(url: string, options = null) {
let res = await quark.store.dataFetcher({ url: url })
return res.data
// return fetch('https://bypasscors.herokuapp.com/api/?url=' + encodeURIComponent(url)).then(k => k.json())
}
async function getData(id) {
// let res = await cors(`https://www.wikidata.org/w/api.php?action=wbsearchentities&search=${topic}&language=en&format=json`)
// let {search} = await res.json()
// if(!search.length) return
// const {id} = search[0]
const data = await getRecord(id)
const { claims } = data.entities[id]
const importantPropertyIds = Object.keys(claims).filter((k) => properties[k])
const foreignIds = importantPropertyIds
.filter((k) => claims[k].some((subclaim) => subclaim.mainsnak.datatype === 'wikibase-item'))
.map((k) => claims[k].map((subclaim) => subclaim.mainsnak.datavalue.value.id))
.flat()
const chunks = _.chunk(foreignIds, 50).map(async (chunk) => {
const ids = chunk.join('|')
const res = await cors(
`https://www.wikidata.org/w/api.php?action=wbgetentities&languages=en&props=labels&format=json&ids=${ids}`
)
return res.entities
})
const labels = await Promise.all(chunks)
const entities = Object.assign({}, ...labels)
return _.fromPairs(
importantPropertyIds.map((id) => [
properties[id],
claims[id].map((x) => {
let main = x.mainsnak
if (main.datatype !== 'wikibase-item') return main.datavalue
const { labels } = entities[main.datavalue.value.id]
if (!labels.en) return []
return labels.en.value
}),
])
)
}
async function getRecord(id) {
return await cors('https://www.wikidata.org/wiki/Special:EntityData/' + id, {
headers: {
Accept: 'application/json',
},
})
}
let properties = {
P106: 'Occupation',
P26: 'Spouse',
P22: 'Father',
P19: 'Birthplace',
P184: 'Doctoral advisor',
P2142: 'box office',
P112: 'Founders',
P50: 'Author',
P108: 'Employer',
P69: 'Alma mater',
P856: 'Website',
P169: 'CEO',
P2226: 'Market Cap',
// P569: "Birthday=",
// P1019: "web feed URL",
// P101: "field of work",
// P101: "field of work",
// P1025: "SUDOC editions",
// P1025: "SUDOC editions",
// P1033: "GHS signal word",
// P1036: "Dewey Decimal Classification",
// P1057: "chromosome",
// P105: "taxon rank",
// P1060: "pathogen transmission process",
// P1084: "EUL editions",
// P1088: "Mohs' hardness",
// P1104: "number of pages",
// P1109: "refractive index",
// P110: "illustrator",
// P1117: "pKa",
// P1135: "nomenclatural status",
// P1143: "BN",
// P1144: "Library of Congress Control Number",
// P1149: "Library of Congress Classification",
// P1160: "ISO 4 abbreviation",
// P117: "chemical structure",
// P1182: "LIBRIS editions",
// P1189: "Chinese Library Classification",
// P1190: "Universal Decimal Classification",
// P1193: "prevalence",
// P1207: "NUKAT",
// P1213: "NLC authorities",
// P1225: "US National Archives Identifier",
// P1230: "JSTOR journal code",
// P123: "publisher",
// P123: "publisher",
// P123: "publisher",
// P123: "publisher",
// P123: "publisher",
// P127: "owned by",
// P1284: "Munzinger IBA",
// P1292: "DNB editions",
// P1300: "bibcode",
// P1325: "external data available at",
// P1343: "described by source",
// P1348: "AlgaeBase URL",
// P1353: "original spelling",
// P1366: "replaced by",
// P136: "genre",
// P136: "genre",
// P1403: "original combination",
// P1416: "affiliation",
// P141: "IUCN conservation status",
// P1420: "taxon synonym",
// P1421: "GRIN URL",
// P1433: "published in",
// P1433: "published in",
// P1476: "title",
// P1476: "title",
// P1476: "title",
// P1476: "title",
// P1476: "title",
// P1476: "title",
// P1476: "title",
// P1476: "title",
// P1531: "parent of this hybrid, breed, or cultivar",
// P1552: "has quality",
// P1552: "has quality",
// P1552: "has quality",
// P1559: "name in native language",
// P155: "follows",
// P1575: "RISS catalog",
// P1578: "Gmelin number",
// P1579: "Reaxys registry number",
// P1582: "natural product of taxon",
// P159: "Headquarters",
// P1603: "number of cases",
// P1604: "biosafety level",
// P1605: "has natural reservoir",
// P1606: "natural reservoir of",
// P1630: "formatter URL",
// P1662: "DOI prefix",
// P1672: "this taxon is source of",
// P1680: "subtitle",
// P1680: "subtitle",
// P1680: "subtitle",
// P1680: "subtitle",
// P1683: "quote",
// P1690: "ICD-10-PCS",
// P1691: "operations and procedures key",
// P1692: "ICD-9-CM",
// P1693: "Terminologia Embryologica",
// P1694: "Terminologia Histologica",
// P171: "parent taxon",
// P179: "part of the series",
// P1815: "RSL scanned books identifier",
// P181: "taxon range map image",
// P183: "endemic to",
// P1843: "taxon common name",
// P1853: "blood type",
// P18: "image",
// P1909: "side effect",
// P1930: "DSM-5 classification",
// P1966: "Biblioteca Nacional de Chile catalogue number",
// P1973: "RSL editions",
// P1995: "health specialty",
// P2002: "Twitter username",
// P2017: "isomeric SMILES",
// P2017: "isomeric SMILES",
// P2054: "density",
// P2055: "electrical conductivity",
// P2056: "heat capacity",
// P2066: "fusion enthalpy",
// P2075: "speed of sound",
// P2093: "author name string",
// P2101: "melting point",
// P2102: "boiling point",
// P2107: "decomposition point",
// P2113: "sublimation temperature",
// P2116: "enthalpy of vaporization",
// P2117: "combustion enthalpy",
// P2118: "kinematic viscosity",
// P2119: "vapor pressure",
// P2128: "flash point",
// P2129: "IDLH",
// P212: "ISBN-13",
// P212: "ISBN-13",
// P212: "ISBN-13",
// P213: "ISNI",
// P213: "ISNI",
// P2156: "pseudo crystal habit",
// P2175: "medical condition treated",
// P2176: "drug used for treatment",
// P2176: "drug used for treatment",
// P2176: "drug used for treatment",
// P2177: "solubility",
// P217: "inventory number",
// P2199: "autoignition temperature",
// P2201: "electric dipole moment",
// P2202: "lower flammable limit",
// P2203: "upper flammable limit",
// P2240: "median lethal dose",
// P225: "taxon name",
// P2275: "World Health Organisation International Nonproprietary Name",
// P2293: "genetic association",
// P2293: "genetic association",
// P2300: "minimal lethal dose",
// P231: "CAS Registry Number",
// P231: "CAS Registry Number",
// P232: "EC number",
// P233: "canonical SMILES",
// P233: "canonical SMILES",
// P234: "InChI",
// P234: "InChI",
// P235: "InChIKey",
// P235: "InChIKey",
// P236: "ISSN",
// P236: "ISSN",
// P236: "ISSN",
// P2404: "time-weighted average exposure limit",
// P2405: "ceiling exposure limit",
// P2406: "maximum peak exposure limit",
// P2407: "short-term exposure limit",
// P2433: "gender of a scientific name of a genus",
// P243: "OCLC control number",
// P248: "stated in",
// P2507: "corrigendum / erratum",
// P2542: "acceptable daily intake",
// P2565: "global-warming potential",
// P267: "ATC code",
// P2687: "NDL JPNO",
// P2710: "minimal lethal concentration",
// P2712: "median lethal concentration",
// P2717: "no-observed-adverse-effect level",
// P2718: "lowest-observed-adverse-effect level",
// P2743: "this zoological name is coordinate with",
// P274: "chemical formula",
// P274: "chemical formula",
// P275: "license",
// P275: "license",
// P275: "license",
// P2761: "Research Papers in Economics Series handle",
// P279: "subclass of",
// P2841: "age of onset",
// P2844: "incidence",
// P2854: "disease burden",
// P2859: "X-SAMPA Code",
// P2860: "cites",
// P2888: "exact match",
// P2888: "exact match",
// P2892: "UMLS CUI",
// P291: "place of publication",
// P291: "place of publication",
// P2951: "Cultural heritage database in Austria ObjektID",
// P2989: "has grammatical case",
// P2993: "partition coefficient water/octanol",
// P3013: "surface tension",
// P304: "page",
// P3070: "dynamic viscosity",
// P3071: "standard molar entropy",
// P3073: "CosIng number",
// P3078: "standard enthalpy of formation",
// P3098: "ClinicalTrials.gov Identifier",
// P3103: "has tense",
// P3161: "has grammatical mood",
// P31: "instance of",
// P31: "instance of",
// P31: "instance of",
// P31: "instance of",
// P31: "instance of",
// P3487: "maximal incubation period in humans",
// P3488: "minimal incubation period in humans",
// P356: "DOI",
// P356: "DOI",
// P361: "part of",
// P361: "part of",
// P361: "part of",
// P373: "Commons category",
// P373: "Commons category",
// P373: "Commons category",
// P373: "Commons category",
// P373: "Commons category",
// P3878: "Soundex",
// P3879: "Cologne phonetics",
// P3931: "copyright holder",
// P3931: "copyright holder",
// P3939: "ESTC citation number",
// P393: "edition number",
// P3982: "TA98 Latin term",
// P4016: "SlideShare username",
// P4016: "SlideShare username",
// P4032: "reviewed by",
// P405: "taxon author",
// P407: "language of work or name",
// P407: "language of work or name",
// P407: "language of work or name",
// P407: "language of work or name",
// P407: "language of work or name",
// P407: "language of work or name",
// P407: "language of work or name",
// P407: "language of work or name",
// P4101: "dissertation submitted to",
// P4109: "URN-NBN",
// P4229: "ICD-10-CM",
// P4250: "defined daily dose",
// P427: "taxonomic type",
// P428: "botanist author abbreviation",
// P433: "issue",
// P4354: "search formatter URL",
// P437: "distribution format",
// P443: "pronunciation audio",
// P4510: "describes a project that uses",
// P4510: "describes a project that uses",
// P478: "volume",
// P478: "volume",
// P493: "ICD-9",
// P493: "ICD-9",
// P494: "ICD-10",
// P494: "ICD-10",
// P4952: "safety classification and labelling",
// P502: "HURDAT identifier",
// P503: "ISO standard",
// P5040: "GHS hazard pictogram",
// P5041: "GHS hazard statement",
// P5042: "GHS precautionary statement",
// P50: "author",
// P50: "author",
// P50: "author",
// P50: "author",
// P5109: "has grammatical gender",
// P5110: "has grammatical person",
// P5137: "item for this sense",
// P5185: "grammatical gender",
// P5186: "conjugation class",
// P5187: "word stem",
// P5188: "Sandbox-Lexeme",
// P5189: "Sandbox-Form",
// P5191: "derived from",
// P5192: "Wikidata property example for lexemes",
// P5193: "Wikidata property example for forms",
// P5194: "officialized by",
// P5205: "stroke count",
// P5206: "has conjugation class",
// P5237: "pronunciation variety",
// P5238: "combines",
// P523: "temporal range start",
// P524: "temporal range end",
// P5276: "Slavic phonetic alphabet",
// P5279: "hyphenation",
// P527: "has part",
// P528: "catalog code",
// P5304: "type locality",
// P5323: "attested in",
// P5326: "publication in which this taxon name was established",
// P5326: "publication in which this taxon name was established",
// P5401: "auxiliary verb",
// P5402: "homograph lexeme",
// P5425: "Han character in this lexeme",
// P5426: "Japanese pitch accent type",
// P5446: "reference value",
// P5526: "valency",
// P5548: "derived from form",
// P556: "crystal system",
// P557: "DiseasesDB",
// P563: "ICD-O",
// P565: "crystal habit",
// P566: "basionym",
// P5713: "requires grammatical feature",
// P571: "inception",
// P574: "year of taxon name publication",
// P576: "dissolved, abolished or demolished",
// P577: "Publication Date=",
// P577: "publication date",
// P577: "publication date",
// P5824: "is retracted by",
// P5830: "demonstrates form",
// P5831: "usage example",
// P5886: "mode of derivation",
// P589: "point group",
// P5911: "inflection class",
// P5913: "has inflection class",
// P5920: "root",
// P5923: "creates lexeme type",
// P5972: "translation",
// P5973: "synonym",
// P5974: "antonym",
// P5975: "troponym of",
// P5976: "false friend",
// P5977: "Wikidata property example for senses",
// P5978: "classifier",
// P5979: "Sandbox-Sense",
// P5980: "derived from sense",
// P6072: "demonstrates sense",
// P6084: "location of sense usage",
// P6191: "language style",
// P629: "edition or translation of",
// P636: "route of administration",
// P649: "NRHP reference number",
// P652: "UNII",
// P652: "UNII",
// P653: "PubMed Health",
// P655: "translator",
// P655: "translator",
// P6571: "collective noun for animals",
// P657: "RTECS number",
// P662: "PubChem CID",
// P662: "PubChem CID",
// P663: "DSM-IV classification",
// P6721: "K10plus editions",
// P672: "MeSH Code",
// P673: "eMedicine",
// P674: "characters",
// P678: "incertae sedis",
// P679: "ZVG number",
// P690: "space group",
// P694: "replaced synonym",
// P695: "UN number",
// P697: "ex taxon author",
// P700: "Kemler code",
// P703: "found in taxon",
// P703: "found in taxon",
// P703: "found in taxon",
// P747: "has edition",
// P769: "significant drug interaction",
// P780: "symptoms",
// P791: "International Standard Identifier for Libraries",
// P800: "notable work",
// P813: "retrieved",
// P815: "ITIS TSN",
// P819: "ADS bibcode",
// P828: "has cause",
// P835: "author citation",
// P835: "author citation",
// P850: "WoRMS-ID for taxa",
// P854: "reference URL",
// P859: "sponsor",
// P859: "sponsor",
// P872: "printed by",
// P873: "phase point",
// P874: "UN class",
// P875: "UN code classification",
// P876: "UN packaging group",
// P877: "NFPA Special",
// P898: "IPA transcription",
// P921: "main subject",
// P921: "main subject",
// P921: "main subject",
// P921: "main subject",
// P921: "main subject",
// P921: "main subject",
// P921: "main subject",
// P923: "medical examinations",
// P924: "possible treatment",
// P925: "presynaptic connection",
// P926: "postsynaptic connection",
// P927: "anatomical location",
// P928: "activating neurotransmitter",
// P932: "PMCID",
// P932: "PMCID",
// P944: "Code of nomenclature",
// P953: "full work available at",
// P953: "full work available at",
// P953: "full work available at",
// P953: "full work available at",
// P953: "full work available at",
// P953: "full work available at",
// P957: "ISBN-10",
// P957: "ISBN-10",
// P968: "e-mail address",
// P970: "neurological function",
// P973: "described at URL",
// P98: "editor",
// P98: "editor",
// P98: "editor",
// P98: "editor",
// P98: "editor",
// P993: "NFPA Health",
// P994: "NFPA Fire",
// P995: "NFPA Instability",
// P996: "scanned file on Wikimedia Commons",
// P1001: "applies to jurisdiction",
// P1001: "applies to jurisdiction",
// P1003: "NLR",
// P1016: "asteroid taxonomy",
// P1018: "language regulatory body",
// P101: "field of work",
// P1021: "KldB-2010",
// P1022: "CNO-11",
// P1023: "SBC-2010",
// P1024: "SBFI",
// P1026: "doctoral thesis",
// P102: "member of political party",
// P1030: "light characteristic of lighthouse",
// P1031: "legal citation of this text",
// P1037: "director/manager",
// P1037: "director/manager",
// P1038: "relative",
// P103: "native language",
// P1040: "film editor",
// P1043: "IDEO",
// P1046: "discovery method",
// P1050: "medical condition",
// P1052: "CPP-2010",
// P1056: "product or material produced",
// P1057: "chromosome",
// P1064: "track gauge",
// P1065: "archive URL",
// P1066: "student of",
// P1066: "student of",
// P1067: "Thailand central administrative unit code",
// P1069: "DISCO",
// P1075: "rector",
// P1077: "KOATUU identifier",
// P1079: "launch contractor",
// P1082: "population",
// P1090: "redshift",
// P1098: "number of speakers",
// P109: "signature",
// P1101: "floors above ground",
// P1103: "number of platform tracks",
// P1114: "quantity",
// P1116: "ELSTAT geographical code",
// P1125: "Gini coefficient",
// P1128: "employees",
// P1133: "DGO4 identifier",
// P1139: "floors below ground",
// P1158: "location of landing",
// P1164: "cardinality of the group",
// P1171: "approximation algorithm",
// P1181: "numeric value",
// P1191: "date of first performance",
// P1191: "date of first performance",
// P1196: "manner of death",
// P1198: "unemployment rate",
// P1199: "mode of inheritance",
// P119: "place of burial",
// P1201: "space tug",
// P1202: "carries scientific instrument",
// P1215: "apparent magnitude",
// P1216: "National Heritage List for England number",
// P1227: "astronomical filter",
// P122: "basic form of government",
// P1232: "Linguist list code",
// P1236: "Parsons code",
// P123: "publisher",
// P123: "publisher",
// P1243: "International Standard Recording Code",
// P1251: "ABS ASCL 2011 code",
// P1252: "AUSTLANG code",
// P1260: "Swedish Open Cultural Heritage URI",
// P1279: "inflation rate",
// P127: "owned by",
// P1280: "CONOR",
// P128: "regulates",
// P1290: "godparent",
// P1301: "number of elevators",
// P1302: "primary destinations",
// P1303: "instrument",
// P1303: "instrument",
// P1304: "central bank",
// P1308: "officeholder",
// P1312: "has facet polytope",
// P1313: "office held by head of government",
// P1313: "office held by head of government",
// P1314: "number of spans",
// P1315: "NLA Trove",
// P1317: "floruit",
// P1318: "proved by",
// P131: "located in the administrative territorial entity",
// P131: "located in the administrative territorial entity",
// P1322: "dual to",
// P1332: "coordinates of northernmost point",
// P1333: "coordinates of southernmost point",
// P1334: "coordinates of easternmost point",
// P1335: "coordinates of westernmost point",
// P1340: "eye color",
// P1343: "described by source",
// P1343: "described by source",
// P1344: "participant of",
// P1344: "participant of",
// P1349: "ploidy",
// P1352: "ranking",
// P1352: "ranking",
// P135: "movement",
// P1365: "replaces",
// P1366: "replaced by",
// P1369: "Iranian National Heritage registration number",
// P136: "genre",
// P136: "genre",
// P136: "genre",
// P136: "genre",
// P136: "genre",
// P1382: "partially coincident with",
// P1383: "contains settlement",
// P1388: "German regional key",
// P138: "named after",
// P138: "named after",
// P138: "named after",
// P138: "named after",
// P1393: "proxy",
// P1394: "Glottolog code",
// P1396: "Linguasphere code",
// P1398: "structure replaces",
// P140: "religion",
// P1411: "nominated for",
// P1411: "nominated for",
// P1411: "nominated for",
// P1416: "affiliation",
// P1416: "affiliation",
// P1420: "taxon synonym",
// P1427: "start point",
// P1431: "executive producer",
// P1433: "published in",
// P1435: "heritage designation",
// P1437: "plea",
// P143: "imported from Wikimedia project",
// P1442: "image of grave",
// P1448: "official name",
// P1448: "official name",
// P1449: "nickname",
// P144: "based on",
// P1451: "motto text",
// P1454: "legal form",
// P1455: "list of works",
// P1456: "list of monuments",
// P1457: "absolute magnitude",
// P1464: "category for people born here",
// P1465: "category for people who died here",
// P1466: "WALS lect code",
// P1467: "WALS genus code",
// P1468: "WALS family code",
// P1476: "title",
// P1476: "title",
// P1477: "birth name",
// P1477: "birth name",
// P14: "traffic sign",
// P150: "contains administrative territorial entity",
// P1529: "Gertrude identifier",
// P1533: "family name identical to this given name",
// P1538: "number of households",
// P1539: "female population",
// P1540: "male population",
// P1544: "Federal Register Document Number",
// P1545: "series ordinal",
// P1546: "motto",
// P1549: "demonym",
// P154: "logo image",
// P154: "logo image",
// P1559: "name in native language",
// P1559: "name in native language",
// P155: "follows",
// P155: "follows",
// P1560: "given name version for other gender",
// P1568: "domain",
// P156: "followed by",
// P156: "followed by",
// P1571: "codomain",
// P1576: "lifestyle",
// P157: "killed by",
// P1585: "Brazilian municipality code",
// P1588: "village code of Indonesia",
// P1589: "lowest point",
// P158: "seal image",
// P1591: "defendant",
// P1592: "prosecutor",
// P1593: "defender",
// P1594: "judge",
// P1595: "charge",
// P1596: "penalty",
// P159: "headquarters location",
// P159: "headquarters location",
// P1600: "Inventari del Patrimoni Arquitectònic de Catalunya code",
// P161: "cast member",
// P1620: "plaintiff",
// P1621: "detail map",
// P1625: "has melody",
// P1627: "Ethnologue.com language code",
// P162: "producer",
// P162: "producer",
// P1635: "religious name",
// P1635: "religious name",
// P1638: "codename",
// P1638: "codename",
// P163: "flag",
// P163: "flag",
// P1653: "TERYT municipality code",
// P1657: "MPAA film rating",
// P166: "award received",
// P166: "award received",
// P166: "award received",
// P166: "award received",
// P166: "award received",
// P1671: "route number",
// P1678: "has vertex figure",
// P167: "structure replaced by",
// P1683: "quote",
// P1686: "for work",
// P1686: "for work",
// P1690: "ICD-10-PCS",
// P1691: "operations and procedures key",
// P1692: "ICD-9-CM",
// P1693: "Terminologia Embryologica",
// P1694: "Terminologia Histologica",
// P169: "chief executive officer",
// P16: "highway system",
// P1705: "native label",
// P172: "ethnic group",
// P1734: "oath of office date",
// P175: "performer",
// P1769: "denkXweb identifier",
// P176: "manufacturer",
// P1770: "Romania LMI code",
// P1775: "follower of",
// P177: "crosses",
// P1780: "school of",
// P1782: "courtesy name",
// P1785: "temple name",
// P1786: "posthumous name",
// P1787: "art-name",
// P1789: "chief operating officer",
// P1798: "ISO 639-5 code",
// P179: "part of the series",
// P179: "part of the series",
// P17: "country",
// P17: "country",
// P17: "country",
// P17: "country",
// P1809: "choreographer",
// P1810: "named as",
// P1810: "named as",
// P1810: "named as",
// P1811: "list of episodes",
// P1813: "short name",
// P1813: "short name",
// P1814: "name in kana",
// P1824: "road number",
// P1827: "ISWC",
// P1828: "IPI name number",
// P1843: "taxon common name",
// P1848: "protected areas INPN Code",
// P1851: "input set",
// P1853: "blood type",
// P185: "doctoral student",
// P1872: "minimum number of players",
// P1873: "maximum number of players",
// P1881: "list of characters",
// P1884: "hair color",
// P1890: "BNC",
// P1891: "signatory",
// P18: "image",
// P1906: "office held by head of state",
// P1906: "office held by head of state",
// P190: "twinned administrative body",
// P190: "twinned administrative body",
// P1911: "increased expression in",
// P1912: "deletion association with",
// P1913: "gene duplication association with",
// P1914: "gene insertion association with",
// P1915: "gene inversion association with",
// P1916: "gene substitution association with",
// P1917: "posttranslational modification association with",
// P1918: "altered regulation leads to",
// P193: "main building contractor",
// P1943: "location map",
// P1944: "relief location map",
// P194: "legislative body",
// P194: "legislative body",
// P1950: "second family name in Spanish name",
// P1950: "second family name in Spanish name",
// P196: "minor planet group",
// P197: "adjacent station",
// P1981: "FSK film rating",
// P1999: "UNESCO language status",
// P199: "business division",
// P2002: "Twitter username",
// P200: "lake inflows",
// P201: "lake outflow",
// P2031: "work period",
// P2032: "work period",
// P2043: "length",
// P2044: "elevation above sea level",
// P2045: "orbital inclination",
// P2046: "area",
// P2047: "duration",
// P2048: "height",
// P2048: "height",
// P2053: "watershed area",
// P2058: "depositor",
// P205: "basin country",
// P2060: "luminosity",
// P2067: "mass",
// P206: "located in or next to body of water",
// P208: "executive body",
// P2093: "author name string",
// P2097: "term length of office",
// P2098: "substitute/deputy/replacement of office/officeholder",
// P209: "highest judicial authority",
// P209: "highest judicial authority",
// P20: "place of death",
// P210: "party chief representative",
// P2124: "member count",
// P2130: "cost",
// P2131: "nominal GDP",
// P2132: "nominal GDP per capita",
// P2133: "total debt",
// P2135: "total exports",
// P2136: "total imports",
// P2139: "total revenue",
// P213: "ISNI",
// P2140: "foreign direct investment net outflow",
// P2141: "foreign direct investment net inflow",
// P2143: "genome size",
// P2146: "orbital period",
// P2148: "distance from river mouth",
// P215: "spectral class",
// P2161: "Guthrie code",
// P2184: "history of topic",
// P2184: "history of topic",
// P218: "ISO 639-1 code",
// P2198: "average gradient",
// P219: "ISO 639-2 code",
// P21: "sex or gender",
// P2208: "average shot length",
// P220: "ISO 639-3 code",
// P2218: "net worth",
// P221: "ISO 639-6 code",
// P2225: "discharge",
// P2238: "official symbol",
// P223: "galaxy morphological type",
// P2243: "apoapsis",
// P2244: "periapsis",
// P225: "taxon name",
// P2285: "periapsis date",
// P2286: "arterial supply",
// P2288: "lymphatic drainage",
// P2289: "venous drainage",
// P2291: "charted in",
// P2291: "charted in",
// P2293: "genetic association",
// P2294: "balance of trade",
// P2295: "net profit",
// P2296: "money supply",
// P2299: "PPP GDP per capita",
// P2329: "antagonist muscle",
// P2341: "indigenous to",
// P2358: "Roman praenomen",
// P2358: "Roman praenomen",
// P2359: "Roman nomen gentilicium",
// P2359: "Roman nomen gentilicium",
// P2363: "NMHH film rating",
// P2365: "Roman cognomen",
// P2365: "Roman cognomen",
// P2366: "Roman agnomen",
// P2366: "Roman agnomen",
// P237: "coat of arms",
// P237: "coat of arms",
// P2384: "statement describes",
// P2388: "office held by head of the organization",
// P2388: "office held by head of the organization",
// P2389: "organization directed from the office or person",
// P2393: "NCBI Locus tag",
// P2403: "total assets",
// P2408: "set in period",
// P242: "locator map image",
// P2441: "literal translation",
// P248: "stated in",
// P2504: "Norwegian municipality number",
// P2505: "carries",
// P2506: "INSEE canton code",
// P2515: "costume designer",
// P2520: "UNESCO Biosphere Reserve url",
// P2534: "defining formula",
// P2541: "operating area",
// P2548: "strand orientation",
// P2554: "production designer",
// P2558: "autores.uy",
// P2561: "name",
// P2562: "married name",
// P2562: "married name",
// P2567: "amended by",
// P2568: "repealed by",
// P2583: "distance from Earth",
// P2584: "Australian Wetlands Code",
// P2585: "INSEE region code",
// P2586: "INSEE department code",
// P2587: "has phoneme",
// P2590: "BPS language code",
// P2595: "maximum gradient",
// P25: "mother",
// P2614: "World Heritage criteria",
// P2614: "World Heritage criteria",
// P2618: "inHerit Place Number",
// P2629: "BBFC rating",
// P2633: "geography of topic",
// P2637: "RARS rating",
// P263: "official residence",
// P263: "official residence",
// P264: "record label",
// P2650: "interested in",
// P2659: "topographic isolation",
// P2660: "topographic prominence",
// P2666: "Datahub page",
// P2673: "next crossing upstream",
// P2674: "next crossing downstream",
// P2684: "Kijkwijzer rating",
// P2704: "EIDR identifier",
// P2715: "elected in",
// P272: "production company",
// P2747: "Filmiroda rating",
// P2755: "exploitation visa number",
// P2756: "EIRIN film rating",
// P2758: "CNC film rating",
// P275: "license",
// P276: "location",
// P276: "location",
// P277: "programming language",
// P2787: "longest span",
// P2789: "connects with",
// P2789: "connects with",
// P278: "GOST 7.75–97 code",
// P2793: "clearance",
// P279: "subclass of",
// P27: "country of citizenship",
// P2812: "MathWorld identifier",
// P281: "postal code",
// P2820: "cardinality of this set",
// P2828: "corporate officer",
// P282: "writing system",
// P2834: "individual tax rate",
// P2835: "lowest income threshold",
// P2836: "highest income threshold",
// P2838: "professional name",
// P2838: "professional name",
// P2855: "VAT-rate",
// P286: "head coach",
// P2892: "UMLS CUI",
// P2923: "focal height",
// P2927: "water as percent of area",
// P2929: "lighthouse range",
// P2951: "Cultural heritage database in Austria ObjektID",
// P2960: "archive date",
// P296: "station code",
// P2976: "patronym or matronym for this name",
// P2989: "has grammatical case",
// P3014: "laws applied",
// P3018: "located in protected area",
// P3019: "railway signalling system",
// P3020: "residence time of water",
// P3032: "adjacent building",
// P3041: "luminous intensity",
// P304: "page",
// P305: "IETF language tag",
// P306: "operating system",
// P3075: "official religion",
// P3086: "speed limit",
// P3087: "fiscal/tax revenue",
// P3092: "film crew member",
// P3094: "develops from",
// P30: "continent",
// P3103: "has tense",
// P3137: "parent peak",
// P3148: "repeals",
// P3150: "birthday",
// P3156: "Australian Classification",
// P3156: "Australian Classification",
// P3161: "has grammatical mood",
// P3179: "territory overlaps",
// P3189: "innervated by",
// P3190: "innervates",
// P31: "instance of",
// P31: "instance of",
// P31: "instance of",
// P31: "instance of",
// P3212: "ISAN identifier",
// P3213: "Indian census area code",
// P3216: "ClassInd rating",
// P3233: "PhilPeople profile",
// P3235: "PhilPapers topic",
// P3261: "anatomical branch of",
// P3262: "has anatomical branch",
// P3306: "ICAA rating",
// P3310: "muscle action",
// P3311: "plan view image",
// P3320: "board member",
// P3320: "board member",
// P3331: "HGVS nomenclature",
// P3354: "positive therapeutic predictor",
// P3355: "negative therapeutic predictor",
// P3356: "positive diagnostic predictor",
// P3357: "negative diagnostic predictor",
// P3358: "positive prognostic predictor",
// P3359: "negative prognostic predictor",
// P3362: "operating income",
// P3373: "sibling",
// P3402: "CNC film rating",
// P3403: "coextensive with",
// P3424: "Polish cultural heritage register number",
// P3428: "INCAA film rating",
// P3433: "biological variant of",
// P3448: "stepparent",
// P344: "director of photography",
// P3452: "inferred from",
// P3460: "colonel-in-chief",
// P3490: "muscle origin",
// P3491: "muscle insertion",
// P3529: "median income",
// P353: "HGNC gene symbol",
// P353: "HGNC gene symbol",
// P355: "subsidiary",
// P3580: "SIPCA code",
// P358: "discography",
// P358: "discography",
// P35: "head of state",
// P3610: "fare zone",
// P361: "part of",
// P361: "part of",
// P364: "original language of film or TV show",
// P364: "original language of film or TV show",
// P3650: "JMK film rating",
// P367: "astronomic symbol image",
// P36: "capital",
// P3716: "social classification",
// P3728: "New Zealand Heritage List number",
// P3732: "PhilPapers record",
// P373: "Commons category",
// P374: "INSEE municipality code",
// P375: "space launch vehicle",
// P376: "located on astronomical location",
// P3777: "antisense inhibitor of",
// P377: "SCN",
// P3788: "BNA",
// P37: "official language",
// P3818: "KMRB film rating",
// P381: "PCP reference number",
// P3823: "Ethnologue language status",
// P3828: "wears",
// P382: "CBS municipality code",
// P3831: "object has role",
// P3834: "RTC film rating",
// P3837: "United States Public Law",
// P3842: "located in present-day administrative territorial entity",
// P3858: "route diagram",
// P3865: "type of reference",
// P3871: "tributary orientation",
// P3896: "geoshape",
// P38: "currency",
// P3902: "had as last meal",
// P3903: "column",
// P3909: "last words",
// P3922: "light sector",
// P3931: "copyright holder",
// P3938: "named by",
// P395: "licence plate code",
// P3968: "CETS number",
// P3975: "secretary general",
// P397: "parent astronomical body",
// P3982: "TA98 Latin term",
// P3982: "TA98 Latin term",
// P3982: "TA98 Latin term",
// P398: "child astronomical body",
// P3994: "racon signal",
// P399: "companion of",
// P39: "position held",
// P39: "position held",
// P4001: "Latvian Protected Nature Territory URL",
// P4006: "overrules",
// P400: "platform",
// P4010: "GDP",
// P403: "mouth of the watercourse",
// P404: "game mode",
// P405: "taxon author",
// P406: "soundtrack album",
// P4075: "Czech Monument Catalogue Number",
// P407: "language of work or name",
// P407: "language of work or name",
// P407: "language of work or name",
// P407: "language of work or name",
// P408: "software engine",
// P40: "child",
// P412: "voice type",
// P412: "voice type",
// P4132: "linguistic typology",
// P413: "position played on team / speciality",
// P417: "patron saint",
// P418: "seal description",
// P4196: "cytogenetic location",
// P41: "flag image",
// P41: "flag image",
// P421: "located in time zone",
// P421: "located in time zone",
// P4231: "United Nations Treaty Series Registration Number",
// P424: "Wikimedia language code",
// P425: "field of this profession",
// P4271: "rating",
// P4275: "Japanese Database of National important cultural properties",
// P4276: "Cinémathèque québécoise work identifier",
// P428: "botanist author abbreviation",
// P429: "dantai code",
// P4335: "IDESCAT territorial code in Catalonia",
// P433: "issue",
// P4350: "salinity",
// P4353: "nominated by",
// P437: "distribution format",
// P439: "German municipality key",
// P4425: "mtDNA haplogroup",
// P4426: "Y-DNA Haplogroup",
// P442: "China administrative division code",
// P4437: "FPB rating",
// P451: "partner",
// P452: "industry",
// P4530: "Bangladesh administrative division code",
// P453: "character role",
// P4545: "sexually homologous with",
// P4552: "mountain range",
// P457: "foundational text",
// P457: "foundational text",
// P4602: "date of burial or cremation",
// P4614: "drainage basin",
// P462: "color",
// P463: "member of",
// P463: "member of",
// P463: "member of",
// P464: "NOR",
// P4656: "Wikimedia import URL",
// P4661: "reservoir created",
// P467: "legislated by",
// P4688: "geomorphological unit",
// P469: "lakes on river",
// P473: "local dialing code",
// P476: "CELEX number",
// P4777: "has boundary",
// P478: "volume",
// P4792: "dam",
// P479: "input method",
// P47: "shares border with",
// P4806: "Gaming-History identifier",
// P4812: "Statistical Service of Cyprus Geocode",
// P4816: "Lemon 64 identifier",
// P4839: "Wolfram Language entity code",
// P483: "recorded at",
// P4846: "Lemon Amiga identifier",
// P4847: "CPC-Power identifier",
// P4857: "AtariAge identifier",
// P485: "archives at",
// P485: "archives at",
// P4863: "recognition sequence",
// P4864: "cutting site of restriction enzyme",
// P4866: "REBASE Enzyme Number",
// P4873: "isoschizomer",
// P4875: "neoschizomer",
// P4882: "segmental innervation",
// P4884: "court",
// P488: "chairperson",
// P4896: "3D model",
// P489: "currency symbol description",
// P490: "provisional designation",
// P4913: "dialect of",
// P4914: "produces cohesive end",
// P4915: "isocaudomer",
// P4916: "Ready64 identifier",
// P4917: "Gamebase64 identifier",
// P4919: "Plus/4 World identifier",
// P491: "orbit diagram",
// P495: "country of origin",
// P4960: "Generation MSX identifier",
// P4961: "Sega8bit.com identifier",
// P4962: "Abandonia identifier",
// P500: "exclave of",
// P5017: "last update",
// P501: "enclave within",
// P5056: "patronym or matronym for this person",
// P505: "general manager",
// P509: "cause of death",
// P50: "author",
// P512: "academic degree",
// P5150: "IGAC rating",
// P5152: "KAVI rating",
// P51: "audio",
// P5201: "IMDA rating",
// P522: "type of orbit",
// P5230: "chromosome count",
// P525: "Swedish municipality code",
// P527: "has part",
// P527: "has part",
// P527: "has part",
// P528: "catalog code",
// P530: "diplomatic relation",
// P531: "diplomatic mission sent",
// P5389: "permanent resident of",
// P5453: "Logicielsmoto identifier",
// P551: "residence",
// P552: "handedness",
// P553: "website account on",
// P554: "website username",
// P5572: "expressed in",
// P5578: "Indian census area code",
// P5585: "SMS Power identifier",
// P5590: "oric.org identifier",
// P559: "terminus",
// P562: "central bank/issuer",
// P566: "basionym",
// P570: "date of death",
// P571: "inception",
// P571: "inception",
// P571: "inception",
// P5743: "SR Number",
// P575: "time of discovery or invention",
// P576: "dissolved, abolished or demolished",
// P576: "dissolved, abolished or demolished",
// P576: "dissolved, abolished or demolished",
// P577: "publication date",
// P577: "publication date",
// P577: "publication date",
// P577: "publication date",
// P57: "director",
// P580: "start time",
// P580: "start time",
// P580: "start time",
// P582: "end time",
// P582: "end time",
// P582: "end time",
// P5838: "Nintendo GameID",
// P585: "point in time",
// P585: "point in time",
// P58: "screenwriter",
// P591: "EC enzyme number",
// P5965: "LUBW Protected Area No",
// P5970: "Medierådet rating",
// P598: "commander of",
// P59: "constellation",
// P6068: "DCMOTO identifier",
// P609: "terminus location",
// P610: "highest point",
// P6170: "System16 identifier",
// P6193: "ratified by",
// P619: "time of spacecraft launch",
// P61: "discoverer or inventor",
// P61: "discoverer or inventor",
// P620: "time of spacecraft landing",
// P621: "time of spacecraft orbit decay",
// P6229: "Discord Store game SKU",
// P622: "spacecraft docking/undocking date",
// P625: "coordinate location",
// P625: "coordinate location",
// P631: "structural engineer",
// P632: "cultural properties of Belarus reference number",
// P634: "captain",
// P644: "genomic start",
// P6452: "CBFC rating",
// P645: "genomic end",
// P649: "NRHP reference number",
// P6569: "taxa especially protected in area",
// P656: "RefSeq",
// P658: "tracklist",
// P659: "genomic assembly",
// P65: "site of astronomical discovery",
// P6657: "CHVRS Classification",
// P6658: "Classification RCQ",
// P669: "located on street",
// P66: "ancestral home",
// P670: "street number",
// P676: "lyrics by",
// P676: "lyrics by",
// P677: "ÚSOP code",
// P680: "molecular function",
// P682: "biological process",
// P684: "ortholog",
// P688: "encodes",
// P692: "Gene Atlas Image",
// P694: "replaced synonym",
// P6: "head of government",
// P6: "head of government",
// P702: "encoded by",
// P703: "found in taxon",
// P703: "found in taxon",
// P706: "located on terrain feature",
// P707: "satellite bus",
// P720: "asteroid spectral type",
// P725: "voice actor",
// P734: "family name",
// P734: "family name",
// P735: "given name",
// P735: "given name",
// P736: "cover art by",
// P737: "influenced by",
// P737: "influenced by",
// P737: "influenced by",
// P740: "location of formation",
// P740: "location of formation",
// P742: "pseudonym",
// P742: "pseudonym",
// P744: "asteroid family",
// P746: "date of disappearance",
// P747: "has edition",
// P748: "appointed by",
// P749: "parent organization",
// P750: "distributor",
// P750: "distributor",
// P768: "electoral district",
// P771: "Swiss municipality code",
// P772: "INE municipality code",
// P782: "LAU",
// P792: "chapter",
// P793: "significant event",
// P795: "located on linear feature",
// P800: "notable work",
// P802: "student",
// P802: "student",
// P803: "professorship",
// P806: "Italian cadastre code",
// P808: "Bien de Interés Cultural code",
// P811: "academic minor",
// P812: "academic major",
// P813: "retrieved",
// P814: "IUCN protected areas category",
// P81: "connecting line",
// P826: "tonality",
// P833: "interchange station",
// P834: "train depot",
// P840: "narrative location",
// P843: "SIRUTA code",
// P84: "architect",
// P852: "ESRB rating",
// P853: "CERO rating",
// P854: "reference URL",
// P85: "anthem",
// P85: "anthem",
// P867: "ROME v3",
// P86: "composer",
// P86: "composer",
// P86: "composer",
// P870: "instrumentation",
// P87: "librettist",
// P881: "type of variable star",
// P885: "origin of the watercourse",
// P887: "based on heuristic",
// P908: "PEGI rating",
// P913: "notation",
// P913: "notation",
// P914: "USK rating",
// P915: "filming location",
// P916: "GSRR rating",
// P918: "NOC/CNP",
// P919: "SOC-2010",
// P921: "main subject",
// P925: "presynaptic connection",
// P926: "postsynaptic connection",
// P927: "anatomical location",
// P928: "activating neurotransmitter",
// P92: "main regulatory text",
// P92: "main regulatory text",
// P937: "work location",
// P939: "KSH code",
// P941: "inspired by",
// P943: "programmer",
// P944: "Code of nomenclature",
// P946: "ISIN",
// P94: "coat of arms image",
// P94: "coat of arms image",
// P94: "coat of arms image",
// P952: "ISCO",
// P958: "section, verse, paragraph, or clause",
// P964: "Austrian municipality key",
// P970: "neurological function",
// P973: "described at URL",
// P974: "tributary",
// P988: "Philippine Standard Geographic Code",
// P990: "audio recording of the subject's spoken voice",
}