Lexical Semantic Change — DE + EN Knowledge Graph
WORD-DRIFT is an open RDF knowledge graph for lexical semantic change. It models not just that a word shifted, but the typed drift event and the historical trigger behind it. A causal layer no existing dataset provides.
Querdenker (DE), from compliment to insult in a single pandemic year. Proposed triggers: the Querdenken-711 movement (Wikidata: Q115500066) and COVID-19.
The project
Computational linguistics has mature tools for detecting semantic change: DWUG usage graphs, SemEval benchmarks, diachronic embeddings. Detection tells you that a word shifted between two time periods. It does not tell you why.
WORD-DRIFT adds a causal trigger layer on top of existing detection data.
Each cause is a reified drift:CausalHypothesis connecting a drift
event to a proposed trigger, carrying a Wikidata link, a confidence score, and
typed evidence on a five-rung ladder: Speculative < FrequencyCorrelation <
ChangeSignalAlignment < LexicographicNote < ScholarlyAttestation. A claim,
not a fact; auditable and queryable.
Each word sense is a first-class node. Drift events are typed edges between senses with a direction, year, and confidence.
Causation is reified as a drift:CausalHypothesis: it links a
drift event (drift:aboutDrift) to the real-world event that
reframed it (drift:proposedTrigger), with typed evidence and a
confidence. One trigger can reframe many words simultaneously.
Every claim must cite a source. PROV-O + custom SHACL shapes validate this structurally, not just by convention.
Trigger events carry owl:sameAs links to Wikidata entities,
enabling free federation for dates, places, and related concepts.
Worked examples
The seed dataset covers one clear German pejoration and one English amelioration, chosen to anchor opposite ends of the valence axis and stress-test cross-lingual roll-up queries.
Positive "lateral thinker" (c. 1980) becomes pejorative "COVID protester" (2020). Proposed triggers: the Querdenken-711 movement and the COVID-19 pandemic. Confidence: 0.9. Source: DWDS + Wikipedia.
Negative "strong bad smell" (1620) becomes positive "stylish, soulful; the funk music genre" (1959–1975). Proposed trigger: the rise of funk as an African-American music genre. Confidence: 0.75. Source: OED.
More words in the pipeline: woke (EN, reversal), gay (EN, pejoration), systemrelevant (DE, broadening), Inzidenz (DE, narrowing), and 20+ more from the DWUG / SemEval target word lists.
Drift taxonomy
Drift types are organised as a SKOS taxonomy on four axes, so queries can group by axis or drill down to a specific mechanism.
A drift event may carry multiple types (e.g. Pejoration + Reversal). The SKOS hierarchy lets you query at the axis level ("all valence shifts") without enumerating subtypes.
SPARQL queries
The causal layer unlocks queries that are structurally impossible over pure detection data. Below are the four showcase queries from the repo.
# triggers.rq - the causal join PREFIX drift: <https://w3id.org/word-drift/ontology#> SELECT ?word ?type ?year ?trigger ?category ?confidence WHERE { ?e a drift:DriftEvent ; drift:affectsWord ?w ; drift:driftType ?t . # causation is reified: a CausalHypothesis links the drift to a trigger ?h a drift:CausalHypothesis ; drift:aboutDrift ?e ; drift:proposedTrigger ?tr ; drift:confidence ?confidence . ?w drift:writtenForm ?word . ?t skos:prefLabel ?type . FILTER(lang(?type) = "en") ?tr rdfs:label ?trigger ; drift:triggerCategory ?category ; drift:eventDate ?year . } ORDER BY ?year ?word
# cross-lingual.rq - DE vs EN drift directions SELECT ?language ?type (COUNT(?e) AS ?n) (GROUP_CONCAT(?word; SEPARATOR=", ") AS ?words) WHERE { ?e a drift:DriftEvent ; drift:affectsWord ?w ; drift:driftType ?t . ?w drift:language ?language ; drift:writtenForm ?word . ?t skos:prefLabel ?type . FILTER(lang(?type) = "en") } GROUP BY ?language ?type
# timeline.rq SELECT ?word ?year ?connotation ?gloss WHERE { ?w a drift:Word ; drift:writtenForm ?word ; ontolex:sense ?sense . ?sense drift:gloss ?gloss ; drift:connotation ?c ; drift:firstAttested ?year . ?c skos:prefLabel ?connotation . FILTER(lang(?gloss) = "en") } ORDER BY ?word ?year
Interactive tool
Select any word, browse its sense timeline, and see the force graph of senses connected to their causal trigger events.
Open interactive explorer