A baby version of the Ginfer (graph inference) library.
This baby is designed with the sole purpose of delivering a gist. Its core weighs less than 100 lines of code, and still supports the basic concepts:
It builds on the baby-sepl (algorithm execution) engine. Compared to its mature version, it is limited in scope; Only 1:1 relations are supported, the attributes' mechanics are very limited, etc.
See examples under test/baby_ginfer:
In the following example we:
(let [blueprints {"connects to" (links-with "connected from")
"data point" (generic)
"inferred data point" (inferred-with (fnil inc 0) [["connects to" "data point"]])}
events [(update-node "some node" "connects to" "another node")
(update-node "another node" "data point" 2)]
final-state (infer blueprints events)]
(get-in final-state [:nodes "some node" "inferred data point"]) => 3)
Copyright © 2023 FIXME
This program and the accompanying materials are made available under the terms of the Eclipse Public License 2.0 which is available at http://www.eclipse.org/legal/epl-2.0.
This Source Code may also be made available under the following Secondary Licenses when the conditions for such availability set forth in the Eclipse Public License, v. 2.0 are satisfied: GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version, with the GNU Classpath Exception which is available at https://www.gnu.org/software/classpath/license.html.
Can you improve this documentation? These fine people already did:
dotan & Dotan SchreiberEdit on GitHub
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close