AxioMagic is an open source toolkit for interactive knowledge exploration webapps.
Core components use Scala, Akka Http, RDF, and HTML/CSS/Javascript.
Axiomagic is a toolkit for interactions with domain-specific data, deployed in browsers, calculators, simulators, and games.
The project features are ripe for customization in science, finance, and edutainment.
Please also see our main website at AxioMagic.fun
Here are 12 launchable scala programs, each of which may be considered a test and/or demo of some feature's existence. They are intended to be runnable in CI. File input data is pulled from classpath resources. Almost no arguments or enviroment used by these launchers. Some exceptions are noted below.
- axmgc.web.pond.AxmgcPonderApp
- Runs web service including interactive UI
- Serves HTML, JSON, N3, small amounts of web media
- axmgc.xpr.vis_js.RunNavItemMakerTests
- Outputs records as JSON (to console)
- axmgc.dmo.ksrc.lean_mthlb.TestLeanTreeScan
- Outputs contents of some Lean (v3) MathLib proof export JSON files (to console)
- axmgc.xpr.sym_mth.TstSymCalculus
- Launches evaluator of math expressions using Symja pure-java math stack, avail for Java and Android
- Note that some parts of Symja use LGPL or GPL licenses.
- axmgc.xpr.nlg.TestNlg
- Launches a demo of NetLogo agent simulation (may include GPL-licensed components)
- axmgc.web.ontui.ontfld.TstOdocGen
- Runs ontology document generators from WIDOCO project
- axmgc.dmo.fin.ontdmp.TstOntDmps
- Prints info from several ontologies, including KBPedia and FIBO
- axmgc.dmo.fin.ontdmp.borkl.RunTstBorkl
- Write and read to a Orcl. NoSQL / BerkeleyDB database service
- Will attempt local disk writes in sub-folder ____
- axmgc.dmo.xpr.io.prqt.TestPrqtIoEasily
- Write and read a parquet-format file at location _____
- Uses parquet4s
- On MsWin requires Hadoop FS runtime to check file paths
- Issue: axiomagic.dmo.bgdt is not yet merged to master branch
- axmgc.xpr.exd.TstExdLnch
- Launches a local Spark data analysis pipeline
- Loads a few large text resources (stories from proj Gutenberg) into RDDs and prints some text analysis stats
- Runs modified copy of spark test: SimpleSkewedGroupByTest
- axmgc.xpr.dkp_shacl.DkpDtstLnch
- Launches a few tests of SHACL library from TopQuadrant
More overview is available at main project website:
This work builds on models and designs from previous projects, including the Glue-AI 1.x constellation from Stu B22 and pals.
Axiomagic is intended to be a thin layer of functions and tools, relying on the burgeoning capacity of today's open source components for server, cloud, browser, and edge devices. Use it to build rich, sophsiticated applications, or quick, narrow investigations.
- Presentation data mapping over curated models
- Deployed as library or service
- Scala, RDF, Akka, HTML/JS
- Seed knowledge graphs built from varied inputs
- Dependent types, constraint logic, proofs
- Idris, F star, Lean, Agda
- See our Math Review page
AxioMagic components generate tweakable and routable data-interactions for users, employing color, sound, motion, and even music. Interactions generally take the form of web components accessing structured data.
Interactions are assembled from equations, functions, mappings, templates, rules, and schemas. These definitions commonly use parameters, which may be tweaked by users at runtime.
Axiomagic enables both client (AxCli) and cerver (AxSrv) components, which may be selectively combined into an embedded (AxEmb) setup.
- GUI + network + NUI demonstration components, adaptable to interactive applications for advanced users
- Experimental components, not production optimized
- Primarily used in HTML5 + JS environments.
- Uses rdfjs N3 parser to read inbound turtle-RDF msgs.
- Optional MIDI connections for tweaking and switching of running components.
- Authentication and data privacy+portability integrations with WebId and Solid pods.
- RDF-mediated logic core for state, query, goal-seeking and planning.
- Apps authored using lab server components, tested by running AxCli GUI with local info streams.
- Publish apps as bundled deployments, attached to cloud sources for domain data.
- Laboratory webServer + dataRoute components use Akka + Scala, running on JVM, on Linux or MS-Win (untried on Mac).
- Deploy RDF-configured cloud functional components to Lambda and other cloud compute services.
- Embedded components combine features of AxSrv and AxCli for a particular narrow use case.
- Preferred approach is compiling via Rust to LLVM executable, runnable on micro-OS.
Some open science experiments helping drive our requirements for Axiomagic
- http://gravax.fun - Interactive model analysis tool tackling e.g.
- https://gitlab.com/stub22/open-sci-cosmo - Gravitation at galactic scale
- https://gitlab.com/stub22/open-sci-proof - Models of variable axioms (= the ultimate version of what we call "tuning")
- Math vocabulary navigation - Automated math UI linking, using public math vocab metadata (project proposal)
- https://gitlab.com/stub22/open-fin-onto - Open financial computing, grounded in FIBO and related ontologies
- https://gitlab.com/stub22/defogo - Wildfire analysis leveraging IoT and cloud