jcat-mini
Knowledge-graph infrastructure as code. The open, free-forever model in the JCAT
family. jcat-mini turns a flat list of terms into a standards-compliant SKOS taxonomy
or OWL ontology, deterministically, with no dependencies and nothing sent anywhere.
- π Site: jcatlabs.com
- π§ͺ Live demo (Space): huggingface.co/spaces/fabsssss/jcat
- π» Code: github.com/fabio-rovai/jcat
The model family
| Model | What it is | Where |
|---|---|---|
| jcat-mini | Open engine. Flat term lists into SKOS/OWL. | Free forever, here + GitHub |
| jcat-base | Managed curation and hosting at scale. | Curated Cloud |
| jcat-max | Private VPC / on-prem, dedicated curation, SLAs. | Enterprise |
jcat-mini is the free tier: start simple here, then bring the mess (documentation,
guidelines, spreadsheets, raw data) to jcat-base / jcat-max when you want it sorted
and hosted for you.
Intended use
Domain-agnostic knowledge structuring. Built for any sector that has to organise a vocabulary, with GLAM (galleries, libraries, archives, museums) and defence / intelligence as flagship ranges. It feeds search, analytics, RAG pipelines and agents from a single governed graph.
Usage
pip install git+https://github.com/fabio-rovai/jcat
from jcat import Graph
g = Graph.load("terms.txt") # term list, CSV column, or labels from a .ttl
print(g.taxonomy(depth=2)) # SKOS ConceptScheme (Turtle)
print(g.ontology(depth=2)) # OWL ontology (Turtle)
Command line:
jcat build terms.txt --as owl --depth 2 -o ontology.ttl
What it emits
Taxonomy β SKOS ConceptScheme with skos:broader / skos:narrower,
skos:topConceptOf, skos:prefLabel, skos:inScheme.
Ontology β OWL with owl:Class, rdfs:subClassOf, rdfs:label, an
owl:ObjectProperty, and an owl:AllDisjointClasses axiom over the top classes.
Every artifact parses cleanly with rdflib across all depths (1β3).
How it works
Deterministic, not neural. jcat-mini groups terms by head noun (e.g. credit risk,
market risk β Risk) and builds a hierarchy to the requested depth (1 = flat,
2 = head-noun groups, 3 = head-noun then shared-modifier subgroups), then serialises to
standards-native Turtle.
Limitations
The open model infers structure lexically. Semantic alignment across vocabularies, SHACL
validation against your shapes, versioning/lineage and managed hosting are the paid
jcat-base / jcat-max models. No training data, no weights: output is a pure function of
input, which makes it auditable and reproducible.
License
MIT. Built by JCAT Labs.