Collaborative knowledge graph platform for teams—manage RDF datasets, share scientific papers, and query with SPARQL.
  • Rust 80%
  • HTML 11%
  • CSS 5.2%
  • JavaScript 3.3%
  • Shell 0.4%
Find a file
Daniel Hernández 6c267d26e6 Ignore Claude artifacts; add docs/iri-stability.org
Keep CLAUDE.md and .claude/ out of this public-mirrored repo (they were
only saved by a per-machine global gitignore). Coordination lives in the
parent coordination repo; contributor IRI-stability rules move to a
public doc alongside url-design.org.

Agent: coordinator@research-env
2026-07-20 06:12:11 +00:00
bin Implement Phase 1: Axum web app with Docker deployment 2026-03-11 19:26:55 +01:00
docs Ignore Claude artifacts; add docs/iri-stability.org 2026-07-20 06:12:11 +00:00
planning-history Rename design/ to planning-history/ with dated filenames 2026-03-11 19:49:11 +01:00
src concon: doc-view — reposition TOC below the figure + generated External-terms section 2026-07-10 09:13:42 +00:00
static concon: doc-view — reposition TOC below the figure + generated External-terms section 2026-07-10 09:13:42 +00:00
templates concon: fix import privilege-escalation in teams slice (@coordinator review) 2026-07-09 14:55:59 +00:00
.dockerignore Implement Phase 1: Axum web app with Docker deployment 2026-03-11 19:26:55 +01:00
.gitignore Ignore Claude artifacts; add docs/iri-stability.org 2026-07-20 06:12:11 +00:00
Cargo.lock Add A1 ingest write endpoints + close anonymous-write holes 2026-06-18 15:36:57 +00:00
Cargo.toml Merge dual-license: relicense to MIT OR Apache-2.0 2026-06-18 16:24:23 +00:00
concon.example.toml Deploy fixes from kg1: valid example config + serve doc as text/html 2026-06-18 20:22:05 +00:00
Dockerfile Implement Phase 1: Axum web app with Docker deployment 2026-03-11 19:26:55 +01:00
LICENSE-APACHE Relicense to dual MIT OR Apache-2.0 2026-06-18 16:07:23 +00:00
LICENSE-MIT Relicense to dual MIT OR Apache-2.0 2026-06-18 16:07:23 +00:00
ontology.org Implement Phase 1: Axum web app with Docker deployment 2026-03-11 19:26:55 +01:00
README.org Rebrand README: MLIPE -> Concon (generic KG platform) 2026-06-18 21:17:55 +00:00
system.example.ttl Update system.example.ttl with full vocabulary reference 2026-03-31 03:40:24 +02:00

Concon

Concon is a collaborative knowledge graph platform for teams: create and manage RDF datasets, share scientific papers, and query everything with SPARQL — with team-based roles and per-dataset visibility.

The name "Concón" is the Chilean name for an owl — a nod to OWL, the ontology language.

Architecture

Concon is an axum web application. Teams own knowledge graph datasets (RDF repositories) and query them over the SPARQL protocol; access is governed by team roles and per-dataset visibility (public / logged-in / team-only). Users, teams, roles, and dataset metadata live in a single RDF store managed with the Oxigraph library, and each dataset is its own Oxigraph store. Teams also have file catalogs for sharing documents (e.g. papers), and datasets can be published as Linked Data — an ontology-document view, per-entity dereferencing, and content negotiation — so Concon can host public resources. (The MLIPs ontology and knowledge graph is one such resource hosted on Concon, not the purpose of the platform.) Users authenticate with credentials to use the web application and to write to datasets; public datasets are queryable without login.

SPARQL query editor

Users can edit and execute SPARQL queries through an embedded YASGUI (Yet Another SPARQL GUI) interface. YASGUI is a client-side JavaScript library that provides syntax highlighting, autocompletion, prefix management, and multiple result views. It works with any standard SPARQL endpoint, making it a natural fit for our Oxigraph-backed datasets. The axum backend serves the YASGUI static assets and exposes each dataset's SPARQL endpoint.

Running

Local development

cargo run

The server starts on http://localhost:3000.

Docker

docker build -t concon .
docker run -p 3000:3000 concon

Testing

Unit tests

cargo test

Docker smoke tests

A smoke test script builds the Docker image, starts a container, tests all API endpoints, and cleans up:

./bin/test-docker.sh

Development roadmap

  1. Set up an environment to start a new axum project.
  2. Define an ontology for managing users, datasets, roles, permissions, and teams.
  3. Integrate YASGUI as the SPARQL query editor, served as static assets from the axum application.

License

Licensed under either of

at your option.

Third-party assets vendored under static/vendor/ (jQuery, Foundation, YASGUI) remain under their own respective licenses.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.