Skip to content
craigtrimPublic

About

C17 port of Mutato. Takes plain text and returns the ontology entities it contains, using Turtle OWL ontologies or MDA snapshots. Runs in process with no runtime dependencies.

Resources

Stars

1 star

Watchers

1 watching

Forks

Repository files navigation

mutatoc

Build and tests Documentation C17 Runtime dependencies: none License: MIT

Turn your domain knowledge into fast, explainable entity extraction.

Mutatoc recognizes multiword concepts even when text uses synonyms, changes word order, or separates the words. You define the vocabulary and relationships in an ontology; its exact, span and hierarchy matching stages turn that knowledge into canonical entities.

Use it to normalize course catalogs, tag technical documents, or enrich search with consistent concepts. Change what it recognizes by editing your ontology, without retraining a model.

With the included course ontology:

Input text Matched concept How it matches
applied mathematics applied_mathematics Complete phrase
applied maths applied_mathematics Declared synonym
mathematics, applied applied_mathematics Proximity across punctuation and reversed word order
advanced applied mathematics advanced_applied_mathematics Longest phrase wins over the shorter concept inside it

Why use it?

  • Control what counts as a match. Use span rules to recognize nearby words in different orders, and hierarchy matching to compose larger concepts from related terms.
  • Trace every result to the source. Matches retain the original text, character offsets and nested match history, so your application can highlight the evidence behind each entity.
  • Keep extraction inside your application. The C17 engine runs locally with no model, interpreter or runtime dependencies. Embed the C library, call the CLI, or keep an engine loaded through its JSON protocol.
  • Reuse your domain vocabulary. Load Turtle, JSON or JSONL ontologies, combine multiple sources, and query their relationships through the same engine.

Recorded Windows benchmarks parse roughly 2,400-character documents in 3.4 to 6.5 ms after loading. See measurements and methodology.

Try it

Build on Windows with CMake 3.20+ and Visual Studio 2019:

cmake -S . -B build-msvc -G "Visual Studio 16 2019" -A x64
cmake --build build-msvc --config Release
.\build-msvc\Release\mutatoc.exe --ontology examples/courses.json --input-text "mathematics, applied"

Output: applied_mathematics. Add --jsonf to inspect the matched text, offsets and history. Windows and Linux are tested; see build and integration instructions.

Mutatoc is the MIT-licensed C port of Mutato. The documentation covers ontology authoring, the C API and JSON protocol, with compatibility evidence and the full test inventory available for evaluation.

About

C17 port of Mutato. Takes plain text and returns the ontology entities it contains, using Turtle OWL ontologies or MDA snapshots. Runs in process with no runtime dependencies.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages