Clojure utilities for working with DropThe entity data. This library provides slug generation, URL construction, tier formatting, and entity type definitions for the DropThe knowledge graph.
DropThe is a data utility media network that organizes entities across movies, series, people, cryptocurrencies, companies, and geographic data into a structured knowledge graph with tiered rankings and bidirectional links.
Add to your project.clj dependencies:
[dropthe "0.1.0"]
Or in deps.edn:
{:deps {dropthe/dropthe {:mvn/version "0.1.0"}}}
(require '[dropthe.core :as dt])
;; Generate URL-safe slugs from entity names
(dt/slugify "The Dark Knight (2008)")
;; => "the-dark-knight-2008"
;; Build entity URLs using threading macros for composition
(->> ["Inception" "Interstellar" "The Dark Knight"]
(map #(dt/entity-url :movies %)))
;; => ("/movies/inception" "/movies/interstellar" "/movies/the-dark-knight")
;; Format tier rankings for display
(dt/format-tier "S")
;; => "S-Tier (Legendary)"
;; Generate breadcrumb navigation trails
(dt/entity-breadcrumb :crypto "Bitcoin")
;; => [{:label "Home" :path "/"}
;; {:label "Cryptocurrencies" :path "/cryptocurrencies"}
;; {:label "bitcoin" :path "/cryptocurrencies/bitcoin"}]
;; Access the entity type registry
(-> dt/entity-types :movies :prefix)
;; => "/movies"
;; Process multiple entities with tier formatting
(let [tiers ["S" "A" "B" "C" "D"]]
(->> tiers
(map dt/format-tier)
(remove nil?)))
;; => ("S-Tier (Legendary)" "A-Tier (Excellent)" ...)
The library supports seven entity types out of the box: movies, series, people, cryptocurrencies, companies, countries, and cities. Each type maps to a URL prefix and display label used across the DropThe platform.
Entities are ranked using a five-tier system from S (Legendary) through D (Below Average). The format-tier function converts single-letter codes into human-readable labels suitable for UI display.
Copyright 2026 DropThe
Distributed under the MIT License.
Can you improve this documentation?Edit on GitHub
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |