Interactive D3 force-directed knowledge network maps across 10 academic disciplines.
π Live site: francoispapin.github.io/mlkn-lab π Author: FranΓ§ois Papin π GitHub: github.com/FrancoisPapin π License: MIT License | Β© April 2026
MLKN.lab visualises the conceptual architecture of 10 academic disciplines as interactive force-directed networks built on D3.js v7. Each concept is a node (sized by academic centrality), each connection a weighted edge. The interdisciplinary map adds three analytical layers β Disciplines, Epistemic Roles, and Levels of Analysis β mapping the bridges between fields that produce the most scientifically generative knowledge.
The twenty-first century's major challenges are structurally interdisciplinary. Network analysis of academic knowledge reveals that concepts with highest betweenness centrality β lying on paths between disciplinary clusters β generate disproportionate scientific value (Van Noorden, 2015; Leydesdorff & Rafols, 2011). MLKN.lab maps this landscape, identifying major interdisciplinary nexuses: Neuro-Cognitive-Education, AI-Language-Philosophy, Climate-Justice-Anthropology, and Systems-Emergence-Consciousness. See the full essay on the homepage.
| # | Discipline | Concepts | Links |
|---|---|---|---|
| 1 | Philosophy | 74 | 70 |
| 2 | Education Science | 60 | 55 |
| 3 | Human Rights | 61 | 45 |
| 4 | Environmental Science | 50 | 42 |
| 5 | Computer Science | 43 | 38 |
| 6 | Neuroscience | 55 | 41 |
| 7 | Cognitive Psychology | 50 | 39 |
| 8 | Language Science | 50 | 39 |
| 9 | Anthropology | 49 | 38 |
| 10 | Systems Science | 47 | 42 |
| 11 | Interdisciplinary | 75+ | 120+ |
- π± Drag nodes β reorganise the network layout
- π Scroll/pinch β zoom in/out with smooth transitions
- π Search β real-time concept filtering
- π¨ Legend β click domains to isolate clusters
- β Hub highlight β highlight top-5 highest-degree nodes
- β‘ Stats panel β network-level metrics (density, clustering, modularity, diameter, assortativity, hubs)
- π Node detail β click any node for per-node metrics (degree, weighted degree, local clustering coefficient, ego-network density, betweenness approximation)
- β¨ Keyboard β Tab to navigate, Enter/Space to select, Escape to close panels
Each map computes and displays:
| Metric | Description |
|---|---|
| N (nodes) | Total concepts in the network |
| E (edges) | Total weighted connections |
| Density | E / (NΓ(Nβ1)/2) β how densely connected |
| Avg Degree | Mean connections per concept |
| Max Degree | Highest-degree hub concept |
| Avg Clustering Coefficient | Mean local transitivity |
| Modularity Q | Cluster separation quality |
| Diameter | Longest shortest path (BFS estimate) |
| Assortativity r | Degree correlation (Pearson) |
| Top Hubs | 5 highest-degree concepts |
mlkn-lab/
βββ index.html # Homepage (essay + network grid)
βββ .nojekyll # Disables Jekyll processing
βββ _config.yml # baseurl: "" for relative paths
βββ LICENSE # MIT License
βββ README.md # This file
β
βββ assets/
β βββ style.css # Shared responsive CSS
β βββ mlkn.js # Shared JS: nav, D3 graph engine
β βββ graph-stats.js # Network statistics module
β
βββ networks/
β βββ philosophy.html
β βββ education-science.html
β βββ human-rights.html
β βββ environmental-science.html
β βββ computer-science.html
β βββ neuroscience.html
β βββ cognitive-psychology.html
β βββ language-science.html
β βββ anthropology.html
β βββ systems-science.html
β βββ interdisciplinary.html # 3-layer interdisciplinary hub
β β
β βββ philosophy-data.js # Node/link data (self-contained)
β βββ education-science-data.js
β βββ human-rights-data.js
β βββ environmental-science-data.js
β βββ computer-science-data.js
β βββ neuroscience-data.js
β βββ cognitive-psychology-data.js
β βββ language-science-data.js
β βββ anthropology-data.js
β βββ systems-science-data.js
β βββ interdisciplinary-data.js # Full multi-discipline dataset
β
βββ .github/
βββ workflows/
βββ deploy.yml # GitHub Actions: deploy on push
- A GitHub account
- Git installed on your computer (git-scm.com)
- Log in to github.com
- Click New repository (top-right "+" button β "New repository")
- Repository name:
mlkn-lab(exactly this, lowercase) - Set to Public (required for free GitHub Pages)
- Do NOT initialize with README, .gitignore, or license (you already have files)
- Click Create repository
Option A β GitHub web interface (simplest):
- On the repository page, click "uploading an existing file"
- Extract the ZIP file on your computer
- Drag ALL files and folders into the upload area
β οΈ You must also upload the hidden files:.nojekylland.github/workflows/deploy.yml- On Mac/Linux: in Finder/Files, press Cmd+Shift+. to show hidden files
- On Windows: in File Explorer, View β Hidden items (check the box)
- At the bottom, type a commit message:
Initial MLKN.lab deployment - Click Commit changes
Option B β Git command line (recommended):
# Extract the zip to a folder called mlkn-lab
cd mlkn-lab
# Initialize git
git init
# Add all files (including hidden .nojekyll)
git add -A
# First commit
git commit -m "Initial MLKN.lab deployment"
# Link to your GitHub repository (replace FrancoisPapin with your username)
git remote add origin https://github.com/FrancoisPapin/mlkn-lab.git
# Push to GitHub
git push -u origin main- Go to your repository on GitHub
- Click Settings (top menu, gear icon)
- In the left sidebar, click Pages
- Under "Build and deployment":
- Source: GitHub Actions β select this
- Click Save
The deployment runs automatically when you push. To check status:
- Click the Actions tab in your repository
- You should see a workflow called "Deploy MLKN.lab to GitHub Pages" running
- Wait 1β3 minutes for it to complete (green checkmark β)
- Click the workflow run to see the deployment URL
Your site will be available at:
https://[your-github-username].github.io/mlkn-lab/
Example: https://francoispapin.github.io/mlkn-lab/
- Check the browser console (F12 β Console) for errors
- Verify the D3 CDN loaded (you need internet access)
- Confirm all data files are present in
networks/
- Wait 5 minutes after enabling Pages (propagation delay)
- Verify Source is set to GitHub Actions in Settings β Pages
- Check Actions tab for failed workflow runs
- The layout adapts responsively; some panels (stats) hide on small screens
- Pinch to zoom, tap nodes to open detail panel
- On the GitHub web interface, create a new file named
.nojekyllwith no content - Or via command line:
touch .nojekyll && git add .nojekyll && git commit -m "Add .nojekyll" && git push
- All paths in this project are document-relative (no leading
/) - If you rename the repository, no changes needed β paths auto-adapt
| Layer | Technology |
|---|---|
| Graph engine | D3.js v7 (force-directed simulation) |
| Statistics | Custom vanilla JS (graph-stats.js) |
| Styling | CSS custom properties, CSS Grid, Flexbox |
| Fonts | Google Fonts (Outfit + Space Mono) |
| Hosting | GitHub Pages + GitHub Actions |
| Data | Self-contained JS files (no API calls, no CORS issues) |
- All external CDN scripts use SRI (Subresource Integrity) hashes
- All external links use
rel="noopener noreferrer" - No cookies, no tracking, no data collection
- Content Security Policy meta tags on all pages
- Zero
eval()calls β strict mode throughout
Tested and working on:
- Chrome 90+ / Edge 90+ / Opera 75+
- Firefox 90+
- Safari 14+ (macOS and iOS)
- Samsung Internet 14+
- All major operating systems: macOS, Windows, Linux, Android, iOS
MIT License β Β© FranΓ§ois Papin, April 2026
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software.
- Klein, J. T. (1990). Interdisciplinarity: History, theory, and practice. Wayne State University Press.
- Leydesdorff, L., & Rafols, I. (2011). Indicators of the interdisciplinarity of journals. Journal of Informetrics, 5(1), 87β100.
- Repko, A. F., & Szostak, R. (2021). Interdisciplinary research: Process and theory (4th ed.). SAGE.
- Van Noorden, R. (2015). Interdisciplinary research by the numbers. Nature, 525, 306β307.
- Watts, D. J., & Strogatz, S. H. (1998). Collective dynamics of 'small-world' networks. Nature, 393, 440β442.