aboutsummaryrefslogtreecommitdiff
path: root/branch-master/datalog-api.html
diff options
context:
space:
mode:
authorTom Faulhaber <git_net@infolace.com>2010-08-20 07:15:04 -0700
committerTom Faulhaber <git_net@infolace.com>2010-08-20 07:15:04 -0700
commit4a44d6c75533e0a13b1a6e9c206f0d0a87f63fef (patch)
treed01bae80ab2f4820388d3cf7b7a01e0e77cbb9cb /branch-master/datalog-api.html
parentf9f9c9242b61ed3ac1edf3d8db51e3f7d54b9778 (diff)
Autodoc commit for 1.2.x/e4ea06c9, master/202e81e9, 1.1.x/d132c5f1
Diffstat (limited to 'branch-master/datalog-api.html')
-rw-r--r--branch-master/datalog-api.html1052
1 files changed, 0 insertions, 1052 deletions
diff --git a/branch-master/datalog-api.html b/branch-master/datalog-api.html
deleted file mode 100644
index b75a08ca..00000000
--- a/branch-master/datalog-api.html
+++ /dev/null
@@ -1,1052 +0,0 @@
-<html>
- <head>
- <title>datalog - clojure-contrib next API documentation</title>
- <link href="../static/favicon.png" rel="icon" />
- <link href="../static/favicon.png" rel="shortcut icon" />
- <link media="all" type="text/css" href="../static/clojure.css" rel="stylesheet" />
- <link media="all" type="text/css" href="../static/wiki.css" rel="stylesheet" />
- <link media="all" type="text/css" href="../static/internal.css" rel="stylesheet" />
- <!-- TODO: are we using these (from clojure.org)? If so, add the files -->
- <script src="file/view/code_highlighter.js" type="text/javascript"></script>
- <script src="file/view/clojure.js" type="text/javascript"></script>
- <style>.menuWrapper{height: 36px;}</style>
- <!--[if lte IE 6]>
- <link rel="stylesheet" href="http://www.wikispaces.com/_/2009051601/s/internal_ie.css" type="text/css" />
- <![endif]-->
- </head>
-<!--
-This document was auto-generated from the source by the clojure autodoc system.
-To report errors or ask questions about the overall documentation structure, formatting,
-etc., contact Tom Faulhaber (google mail name: tomfaulhaber).
-For errors in the documentation of a particular namespace, contact the author of that
-namespace.
--->
- <body>
- <div id="AllContentContainer">
- <div id="Header">
- <a id="Logo" href="index.html"><img alt="Clojure" height="100" width="100" src="../static/clojure-icon.gif" /></a>
- <h1><a title="page header title" id="page-header" href="index.html">Clojure-contrib API Reference</a></h1>
- </div>
- <div id="leftcolumn"><div style="text-align: center;"></div>
-<div class="menu">
- <div class="WikiCustomNav WikiElement wiki">
- <span class="toc-header"><span id="project-name">clojure-contrib</span> <span id="version">next</span> API</span><br />
- <ul>
- <li><a class="wiki_link" href="index.html">Overview</a></li>
- <li><a class="wiki_link" href="api-index.html">API Index</a></li>
- </ul>
- <span class="toc-header">Namespaces</span>
- <ul id="left-sidebar-list">
- <li><a href="accumulators-api.html" class="wiki_link">accumulators</a></li><li><a href="agent-utils-api.html" class="wiki_link">agent-utils</a></li><li><a href="apply-macro-api.html" class="wiki_link">apply-macro</a></li><li><a href="base64-api.html" class="wiki_link">base64</a></li><li><a href="classpath-api.html" class="wiki_link">classpath</a></li><li><a href="combinatorics-api.html" class="wiki_link">combinatorics</a></li><li><a href="command-line-api.html" class="wiki_link">command-line</a></li><li><a href="complex-numbers-api.html" class="wiki_link">complex-numbers</a></li><li><a href="cond-api.html" class="wiki_link">cond</a></li><li><a href="condition-api.html" class="wiki_link">condition</a></li><li><a href="core-api.html" class="wiki_link">core</a></li><li><a href="dataflow-api.html" class="wiki_link">dataflow</a></li><li><a href="datalog-api.html" class="wiki_link">datalog</a></li><li><a href="def-api.html" class="wiki_link">def</a></li><li><a href="duck-streams-api.html" class="wiki_link">duck-streams</a></li><li><a href="error-kit-api.html" class="wiki_link">error-kit</a></li><li><a href="except-api.html" class="wiki_link">except</a></li><li><a href="fcase-api.html" class="wiki_link">fcase</a></li><li><a href="find-namespaces-api.html" class="wiki_link">find-namespaces</a></li><li><a href="fnmap-api.html" class="wiki_link">fnmap</a></li><li><a href="gen-html-docs-api.html" class="wiki_link">gen-html-docs</a></li><li><a href="generic.arithmetic-api.html" class="wiki_link">generic.arithmetic</a></li><li><a href="generic.collection-api.html" class="wiki_link">generic.collection</a></li><li><a href="generic.comparison-api.html" class="wiki_link">generic.comparison</a></li><li><a href="generic.functor-api.html" class="wiki_link">generic.functor</a></li><li><a href="generic.math-functions-api.html" class="wiki_link">generic.math-functions</a></li><li><a href="graph-api.html" class="wiki_link">graph</a></li><li><a href="greatest-least-api.html" class="wiki_link">greatest-least</a></li><li><a href="http.agent-api.html" class="wiki_link">http.agent</a></li><li><a href="http.connection-api.html" class="wiki_link">http.connection</a></li><li><a href="import-static-api.html" class="wiki_link">import-static</a></li><li><a href="io-api.html" class="wiki_link">io</a></li><li><a href="jar-api.html" class="wiki_link">jar</a></li><li><a href="java-utils-api.html" class="wiki_link">java-utils</a></li><li><a href="javadoc.browse-api.html" class="wiki_link">javadoc.browse</a></li><li><a href="jmx-api.html" class="wiki_link">jmx</a></li><li><a href="json-api.html" class="wiki_link">json</a></li><li><a href="lazy-seqs-api.html" class="wiki_link">lazy-seqs</a></li><li><a href="lazy-xml-api.html" class="wiki_link">lazy-xml</a></li><li><a href="logging-api.html" class="wiki_link">logging</a></li><li><a href="macro-utils-api.html" class="wiki_link">macro-utils</a></li><li><a href="macros-api.html" class="wiki_link">macros</a></li><li><a href="map-utils-api.html" class="wiki_link">map-utils</a></li><li><a href="math-api.html" class="wiki_link">math</a></li><li><a href="miglayout-api.html" class="wiki_link">miglayout</a></li><li><a href="mmap-api.html" class="wiki_link">mmap</a></li><li><a href="mock-api.html" class="wiki_link">mock</a></li><li><a href="monadic-io-streams-api.html" class="wiki_link">monadic-io-streams</a></li><li><a href="monads-api.html" class="wiki_link">monads</a></li><li><a href="ns-utils-api.html" class="wiki_link">ns-utils</a></li><li><a href="pprint-api.html" class="wiki_link">pprint</a></li><li><a href="priority-map-api.html" class="wiki_link">priority-map</a></li><li><a href="probabilities.finite-distributions-api.html" class="wiki_link">probabilities.finite-distributions</a></li><li><a href="probabilities.monte-carlo-api.html" class="wiki_link">probabilities.monte-carlo</a></li><li><a href="probabilities.random-numbers-api.html" class="wiki_link">probabilities.random-numbers</a></li><li><a href="profile-api.html" class="wiki_link">profile</a></li><li><a href="properties-api.html" class="wiki_link">properties</a></li><li><a href="prxml-api.html" class="wiki_link">prxml</a></li><li><a href="reflect-api.html" class="wiki_link">reflect</a></li><li><a href="repl-ln-api.html" class="wiki_link">repl-ln</a></li><li><a href="repl-utils-api.html" class="wiki_link">repl-utils</a></li><li><a href="seq-api.html" class="wiki_link">seq</a></li><li><a href="seq-utils-api.html" class="wiki_link">seq-utils</a></li><li><a href="server-socket-api.html" class="wiki_link">server-socket</a></li><li><a href="set-api.html" class="wiki_link">set</a></li><li><a href="shell-api.html" class="wiki_link">shell</a></li><li><a href="shell-out-api.html" class="wiki_link">shell-out</a></li><li><a href="singleton-api.html" class="wiki_link">singleton</a></li><li><a href="sql-api.html" class="wiki_link">sql</a></li><li><a href="str-utils-api.html" class="wiki_link">str-utils</a></li><li><a href="str-utils2-api.html" class="wiki_link">str-utils2</a></li><li><a href="stream-utils-api.html" class="wiki_link">stream-utils</a></li><li><a href="string-api.html" class="wiki_link">string</a></li><li><a href="strint-api.html" class="wiki_link">strint</a></li><li><a href="swing-utils-api.html" class="wiki_link">swing-utils</a></li><li><a href="test-is-api.html" class="wiki_link">test-is</a></li><li><a href="trace-api.html" class="wiki_link">trace</a></li><li><a href="types-api.html" class="wiki_link">types</a></li><li><a href="with-ns-api.html" class="wiki_link">with-ns</a></li><li><a href="zip-filter-api.html" class="wiki_link">zip-filter</a></li>
- </ul>
- <div class="BranchTOC">
- <span class="toc-header">Other Versions</span>
- <ul id="left-sidebar-branch-list">
- <li><a href="../index.html" class="wiki_link">v1.2 (beta 1)</a></li><li><a href="../branch-1.1.x/index.html" class="wiki_link">v1.1 (stable)</a></li>
- </ul>
- </div>
- <a href="http://clojure.org" class="wiki_link">Clojure Home</a>
- </div>
-</div>
-</div>
- <div id="rightcolumn">
- <div id="Content">
- <div class="contentBox"><div class="innerContentBox">
- <div id="content_view" class="wiki wikiPage">
- <div id="right-sidebar"><div id="toc">
- <h1 class="nopad">Table of Contents</h1>
- <div style="margin-left: 1em;" class="toc-section">
- <a href="#toc0">Overview</a>
- <div style="margin-left: 1em;" class="toc-entry">
- <a href="#clojure.contrib.datalog/build-work-plan">build-work-plan</a>
- </div><div style="margin-left: 1em;" class="toc-entry">
- <a href="#clojure.contrib.datalog/run-work-plan">run-work-plan</a>
- </div>
- <br />
- </div><div style="margin-left: 1em;" class="toc-section">
- <a href="#datalog.database">datalog.database</a>
- <div style="margin-left: 1em;" class="toc-entry">
- <a href="#clojure.contrib.datalog.database/add-index">add-index</a>
- </div><div style="margin-left: 1em;" class="toc-entry">
- <a href="#clojure.contrib.datalog.database/add-relation">add-relation</a>
- </div><div style="margin-left: 1em;" class="toc-entry">
- <a href="#clojure.contrib.datalog.database/add-tuple">add-tuple</a>
- </div><div style="margin-left: 1em;" class="toc-entry">
- <a href="#clojure.contrib.datalog.database/add-tuples">add-tuples</a>
- </div><div style="margin-left: 1em;" class="toc-entry">
- <a href="#clojure.contrib.datalog.database/any-match?">any-match?</a>
- </div><div style="margin-left: 1em;" class="toc-entry">
- <a href="#clojure.contrib.datalog.database/database-counts">database-counts</a>
- </div><div style="margin-left: 1em;" class="toc-entry">
- <a href="#clojure.contrib.datalog.database/database-merge">database-merge</a>
- </div><div style="margin-left: 1em;" class="toc-entry">
- <a href="#clojure.contrib.datalog.database/database-merge-parallel">database-merge-parallel</a>
- </div><div style="margin-left: 1em;" class="toc-entry">
- <a href="#clojure.contrib.datalog.database/datalog-relation">datalog-relation</a>
- </div><div style="margin-left: 1em;" class="toc-entry">
- <a href="#clojure.contrib.datalog.database/ensure-relation">ensure-relation</a>
- </div><div style="margin-left: 1em;" class="toc-entry">
- <a href="#clojure.contrib.datalog.database/get-relation">get-relation</a>
- </div><div style="margin-left: 1em;" class="toc-entry">
- <a href="#clojure.contrib.datalog.database/make-database">make-database</a>
- </div><div style="margin-left: 1em;" class="toc-entry">
- <a href="#clojure.contrib.datalog.database/merge-relations">merge-relations</a>
- </div><div style="margin-left: 1em;" class="toc-entry">
- <a href="#clojure.contrib.datalog.database/remove-tuple">remove-tuple</a>
- </div><div style="margin-left: 1em;" class="toc-entry">
- <a href="#clojure.contrib.datalog.database/replace-relation">replace-relation</a>
- </div><div style="margin-left: 1em;" class="toc-entry">
- <a href="#clojure.contrib.datalog.database/select">select</a>
- </div>
- <br />
- </div><div style="margin-left: 1em;" class="toc-section">
- <a href="#datalog.literals">datalog.literals</a>
- <div style="margin-left: 1em;" class="toc-entry">
- <a href="#clojure.contrib.datalog.literals/adorned-literal">adorned-literal</a>
- </div><div style="margin-left: 1em;" class="toc-entry">
- <a href="#clojure.contrib.datalog.literals/build-atom">build-atom</a>
- </div><div style="margin-left: 1em;" class="toc-entry">
- <a href="#clojure.contrib.datalog.literals/build-literal">build-literal</a>
- </div><div style="margin-left: 1em;" class="toc-entry">
- <a href="#clojure.contrib.datalog.literals/build-seed-bindings">build-seed-bindings</a>
- </div><div style="margin-left: 1em;" class="toc-entry">
- <a href="#clojure.contrib.datalog.literals/delta-literal">delta-literal</a>
- </div><div style="margin-left: 1em;" class="toc-entry">
- <a href="#clojure.contrib.datalog.literals/display-literal">display-literal</a>
- </div><div style="margin-left: 1em;" class="toc-entry">
- <a href="#clojure.contrib.datalog.literals/get-adorned-bindings">get-adorned-bindings</a>
- </div><div style="margin-left: 1em;" class="toc-entry">
- <a href="#clojure.contrib.datalog.literals/get-base-predicate">get-base-predicate</a>
- </div><div style="margin-left: 1em;" class="toc-entry">
- <a href="#clojure.contrib.datalog.literals/get-cs-from-vs">get-cs-from-vs</a>
- </div><div style="margin-left: 1em;" class="toc-entry">
- <a href="#clojure.contrib.datalog.literals/get-self-bound-cs">get-self-bound-cs</a>
- </div><div style="margin-left: 1em;" class="toc-entry">
- <a href="#clojure.contrib.datalog.literals/get-vs-from-cs">get-vs-from-cs</a>
- </div><div style="margin-left: 1em;" class="toc-entry">
- <a href="#clojure.contrib.datalog.literals/join-literal">join-literal</a>
- </div><div style="margin-left: 1em;" class="toc-entry">
- <a href="#clojure.contrib.datalog.literals/literal-appropriate?">literal-appropriate?</a>
- </div><div style="margin-left: 1em;" class="toc-entry">
- <a href="#clojure.contrib.datalog.literals/literal-columns">literal-columns</a>
- </div><div style="margin-left: 1em;" class="toc-entry">
- <a href="#clojure.contrib.datalog.literals/literal-magic?">literal-magic?</a>
- </div><div style="margin-left: 1em;" class="toc-entry">
- <a href="#clojure.contrib.datalog.literals/literal-predicate">literal-predicate</a>
- </div><div style="margin-left: 1em;" class="toc-entry">
- <a href="#clojure.contrib.datalog.literals/literal-vars">literal-vars</a>
- </div><div style="margin-left: 1em;" class="toc-entry">
- <a href="#clojure.contrib.datalog.literals/magic-literal">magic-literal</a>
- </div><div style="margin-left: 1em;" class="toc-entry">
- <a href="#clojure.contrib.datalog.literals/negated-literal">negated-literal</a>
- </div><div style="margin-left: 1em;" class="toc-entry">
- <a href="#clojure.contrib.datalog.literals/negated?">negated?</a>
- </div><div style="margin-left: 1em;" class="toc-entry">
- <a href="#clojure.contrib.datalog.literals/negative-vars">negative-vars</a>
- </div><div style="margin-left: 1em;" class="toc-entry">
- <a href="#clojure.contrib.datalog.literals/positive-vars">positive-vars</a>
- </div><div style="margin-left: 1em;" class="toc-entry">
- <a href="#clojure.contrib.datalog.literals/positive?">positive?</a>
- </div><div style="margin-left: 1em;" class="toc-entry">
- <a href="#clojure.contrib.datalog.literals/project-literal">project-literal</a>
- </div>
- <br />
- </div><div style="margin-left: 1em;" class="toc-section">
- <a href="#datalog.magic">datalog.magic</a>
- <div style="margin-left: 1em;" class="toc-entry">
- <a href="#clojure.contrib.datalog.magic/adorn-query">adorn-query</a>
- </div><div style="margin-left: 1em;" class="toc-entry">
- <a href="#clojure.contrib.datalog.magic/adorn-rules-set">adorn-rules-set</a>
- </div><div style="margin-left: 1em;" class="toc-entry">
- <a href="#clojure.contrib.datalog.magic/build-partial-tuple">build-partial-tuple</a>
- </div><div style="margin-left: 1em;" class="toc-entry">
- <a href="#clojure.contrib.datalog.magic/magic-transform">magic-transform</a>
- </div><div style="margin-left: 1em;" class="toc-entry">
- <a href="#clojure.contrib.datalog.magic/seed-predicate-for-insertion">seed-predicate-for-insertion</a>
- </div><div style="margin-left: 1em;" class="toc-entry">
- <a href="#clojure.contrib.datalog.magic/seed-relation">seed-relation</a>
- </div><div style="margin-left: 1em;" class="toc-entry">
- <a href="#clojure.contrib.datalog.magic/seed-rule">seed-rule</a>
- </div>
- <br />
- </div><div style="margin-left: 1em;" class="toc-section">
- <a href="#datalog.rules">datalog.rules</a>
- <div style="margin-left: 1em;" class="toc-entry">
- <a href="#clojure.contrib.datalog.rules/&lt;-">&lt;-</a>
- </div><div style="margin-left: 1em;" class="toc-entry">
- <a href="#clojure.contrib.datalog.rules/?-">?-</a>
- </div><div style="margin-left: 1em;" class="toc-entry">
- <a href="#clojure.contrib.datalog.rules/all-predicates">all-predicates</a>
- </div><div style="margin-left: 1em;" class="toc-entry">
- <a href="#clojure.contrib.datalog.rules/apply-rule">apply-rule</a>
- </div><div style="margin-left: 1em;" class="toc-entry">
- <a href="#clojure.contrib.datalog.rules/compute-sip">compute-sip</a>
- </div><div style="margin-left: 1em;" class="toc-entry">
- <a href="#clojure.contrib.datalog.rules/display-query">display-query</a>
- </div><div style="margin-left: 1em;" class="toc-entry">
- <a href="#clojure.contrib.datalog.rules/display-rule">display-rule</a>
- </div><div style="margin-left: 1em;" class="toc-entry">
- <a href="#clojure.contrib.datalog.rules/is-safe?">is-safe?</a>
- </div><div style="margin-left: 1em;" class="toc-entry">
- <a href="#clojure.contrib.datalog.rules/make-rules-set">make-rules-set</a>
- </div><div style="margin-left: 1em;" class="toc-entry">
- <a href="#clojure.contrib.datalog.rules/non-base-rules">non-base-rules</a>
- </div><div style="margin-left: 1em;" class="toc-entry">
- <a href="#clojure.contrib.datalog.rules/predicate-map">predicate-map</a>
- </div><div style="margin-left: 1em;" class="toc-entry">
- <a href="#clojure.contrib.datalog.rules/return-rule-data">return-rule-data</a>
- </div><div style="margin-left: 1em;" class="toc-entry">
- <a href="#clojure.contrib.datalog.rules/rules-set">rules-set</a>
- </div>
- <br />
- </div><div style="margin-left: 1em;" class="toc-section">
- <a href="#datalog.softstrat">datalog.softstrat</a>
- <div style="margin-left: 1em;" class="toc-entry">
- <a href="#clojure.contrib.datalog.softstrat/build-soft-strat-work-plan">build-soft-strat-work-plan</a>
- </div><div style="margin-left: 1em;" class="toc-entry">
- <a href="#clojure.contrib.datalog.softstrat/get-all-relations">get-all-relations</a>
- </div>
- <br />
- </div><div style="margin-left: 1em;" class="toc-section">
- <a href="#datalog.util">datalog.util</a>
- <div style="margin-left: 1em;" class="toc-entry">
- <a href="#clojure.contrib.datalog.util/is-query-var?">is-query-var?</a>
- </div><div style="margin-left: 1em;" class="toc-entry">
- <a href="#clojure.contrib.datalog.util/is-var?">is-var?</a>
- </div><div style="margin-left: 1em;" class="toc-entry">
- <a href="#clojure.contrib.datalog.util/keys-to-vals">keys-to-vals</a>
- </div><div style="margin-left: 1em;" class="toc-entry">
- <a href="#clojure.contrib.datalog.util/map-values">map-values</a>
- </div><div style="margin-left: 1em;" class="toc-entry">
- <a href="#clojure.contrib.datalog.util/preduce">preduce</a>
- </div><div style="margin-left: 1em;" class="toc-entry">
- <a href="#clojure.contrib.datalog.util/reverse-map">reverse-map</a>
- </div><div style="margin-left: 1em;" class="toc-entry">
- <a href="#clojure.contrib.datalog.util/trace-datalog">trace-datalog</a>
- </div>
- <br />
- </div>
-</div>
-</div>
- <div id="content-tag"><h1 id="overview">API for <span id="namespace-name">datalog</span>
- - <span id="header-project">clojure-contrib</span> <span id="header-version">next</span> (<span id="header-status">in development</span>)
- </h1>
-<span id="author-line">by <span id="author-name">Jeffrey Straszheim</span><br /></span>
-<br />Usage:
-<pre>
-(ns your-namespace
- (:require <span id="long-name">clojure.contrib.datalog</span>))
-</pre><pre>
-</pre><h2>Overview</h2>
-<pre id="namespace-docstr">A Clojure implementation of Datalog</pre>
-
-
-<br />
-<span id="external-doc">Related documentation:
- <span id="external-doc-link">
- <br /><a href="doc/datalog.html">An Overview of Datalog</a>
- <br /></span><br />
-</span><h2>Public Variables and Functions</h2>
-<div id="var-entry">
- <br />
- <hr />
- <h2 id="clojure.contrib.datalog/build-work-plan">build-work-plan</h2>
- <span id="var-type">function</span><br />
- <pre id="var-usage">Usage: (build-work-plan rules query)
-</pre>
- <pre id="var-docstr">Given a list of rules and a query, build a work plan that can be
-used to execute the query.</pre>
-
-
- <a href="http://github.com/richhickey/clojure-contrib/blob/7188a51605136f36524e4091fe806859114d6056/src/main/clojure/clojure/contrib/datalog.clj#L46" id="var-source">Source</a>
-</div><div id="var-entry">
- <br />
- <hr />
- <h2 id="clojure.contrib.datalog/run-work-plan">run-work-plan</h2>
- <span id="var-type">function</span><br />
- <pre id="var-usage">Usage: (run-work-plan work-plan database query-bindings)
-</pre>
- <pre id="var-docstr">Given a work plan, a database, and some query bindings, run the
-work plan and return the results.</pre>
-
-
- <a href="http://github.com/richhickey/clojure-contrib/blob/7188a51605136f36524e4091fe806859114d6056/src/main/clojure/clojure/contrib/datalog.clj#L56" id="var-source">Source</a>
-</div>
-<h2 id="namespace-name">datalog.database</h2>
-<pre id="namespace-docstr"></pre>
-
-
-<br />
-<div id="var-entry">
- <hr />
- <h2 id="clojure.contrib.datalog.database/add-index">add-index</h2>
- <span id="var-type">function</span><br />
- <pre id="var-usage">Usage: (add-index db name key)
-</pre>
- <pre id="var-docstr">Adds an index to an empty relation named name</pre>
-
-
- <a href="http://github.com/richhickey/clojure-contrib/blob/7188a51605136f36524e4091fe806859114d6056/src/main/clojure/clojure/contrib/datalog/database.clj#L86" id="var-source">Source</a>
-</div><div id="var-entry">
- <hr />
- <h2 id="clojure.contrib.datalog.database/add-relation">add-relation</h2>
- <span id="var-type">function</span><br />
- <pre id="var-usage">Usage: (add-relation db name keys)
-</pre>
- <pre id="var-docstr">Adds a relation to the database</pre>
-
-
- <a href="http://github.com/richhickey/clojure-contrib/blob/7188a51605136f36524e4091fe806859114d6056/src/main/clojure/clojure/contrib/datalog/database.clj#L81" id="var-source">Source</a>
-</div><div id="var-entry">
- <hr />
- <h2 id="clojure.contrib.datalog.database/add-tuple">add-tuple</h2>
- <span id="var-type">function</span><br />
- <pre id="var-usage">Usage: (add-tuple db rel-name tuple)
- (add-tuple rel tuple)
-</pre>
- <pre id="var-docstr">Two forms:
-
-[db relation-name tuple] adds tuple to the named relation. Returns
-the new database.
-
-[rel tuple] adds to the relation object. Returns the new relation.</pre>
-
-
- <a href="http://github.com/richhickey/clojure-contrib/blob/7188a51605136f36524e4091fe806859114d6056/src/main/clojure/clojure/contrib/datalog/database.clj#L172" id="var-source">Source</a>
-</div><div id="var-entry">
- <hr />
- <h2 id="clojure.contrib.datalog.database/add-tuples">add-tuples</h2>
- <span id="var-type">function</span><br />
- <pre id="var-usage">Usage: (add-tuples db &amp; tupls)
-</pre>
- <pre id="var-docstr">Adds a collection of tuples to the db, as
-(add-tuples db
- [:rel-name :key-1 1 :key-2 2]
- [:rel-name :key-1 2 :key-2 3])</pre>
-
-
- <a href="http://github.com/richhickey/clojure-contrib/blob/7188a51605136f36524e4091fe806859114d6056/src/main/clojure/clojure/contrib/datalog/database.clj#L207" id="var-source">Source</a>
-</div><div id="var-entry">
- <hr />
- <h2 id="clojure.contrib.datalog.database/any-match?">any-match?</h2>
- <span id="var-type">function</span><br />
- <pre id="var-usage">Usage: (any-match? db rn pt)
-</pre>
- <pre id="var-docstr">Finds if there are any matching records for the partial tuple</pre>
-
-
- <a href="http://github.com/richhickey/clojure-contrib/blob/7188a51605136f36524e4091fe806859114d6056/src/main/clojure/clojure/contrib/datalog/database.clj#L253" id="var-source">Source</a>
-</div><div id="var-entry">
- <hr />
- <h2 id="clojure.contrib.datalog.database/database-counts">database-counts</h2>
- <span id="var-type">function</span><br />
- <pre id="var-usage">Usage: (database-counts db)
-</pre>
- <pre id="var-docstr">Returns a map with the count of elements in each relation.</pre>
-
-
- <a href="http://github.com/richhickey/clojure-contrib/blob/7188a51605136f36524e4091fe806859114d6056/src/main/clojure/clojure/contrib/datalog/database.clj#L144" id="var-source">Source</a>
-</div><div id="var-entry">
- <hr />
- <h2 id="clojure.contrib.datalog.database/database-merge">database-merge</h2>
- <span id="var-type">function</span><br />
- <pre id="var-usage">Usage: (database-merge dbs)
-</pre>
- <pre id="var-docstr">Merges databases together</pre>
-
-
- <a href="http://github.com/richhickey/clojure-contrib/blob/7188a51605136f36524e4091fe806859114d6056/src/main/clojure/clojure/contrib/datalog/database.clj#L277" id="var-source">Source</a>
-</div><div id="var-entry">
- <hr />
- <h2 id="clojure.contrib.datalog.database/database-merge-parallel">database-merge-parallel</h2>
- <span id="var-type">function</span><br />
- <pre id="var-usage">Usage: (database-merge-parallel dbs)
-</pre>
- <pre id="var-docstr">Merges databases together in parallel</pre>
-
-
- <a href="http://github.com/richhickey/clojure-contrib/blob/7188a51605136f36524e4091fe806859114d6056/src/main/clojure/clojure/contrib/datalog/database.clj#L282" id="var-source">Source</a>
-</div><div id="var-entry">
- <hr />
- <h2 id="clojure.contrib.datalog.database/datalog-relation">datalog-relation</h2>
- <span id="var-type">function</span><br />
- <pre id="var-usage">Usage: (datalog-relation schema data indexes)
-</pre>
- <pre id="var-docstr">Creates a relation</pre>
-
-
- <a href="http://github.com/richhickey/clojure-contrib/blob/7188a51605136f36524e4091fe806859114d6056/src/main/clojure/clojure/contrib/datalog/database.clj#L76" id="var-source">Source</a>
-</div><div id="var-entry">
- <hr />
- <h2 id="clojure.contrib.datalog.database/ensure-relation">ensure-relation</h2>
- <span id="var-type">function</span><br />
- <pre id="var-usage">Usage: (ensure-relation db name keys indexes)
-</pre>
- <pre id="var-docstr">If the database lacks the named relation, add it</pre>
-
-
- <a href="http://github.com/richhickey/clojure-contrib/blob/7188a51605136f36524e4091fe806859114d6056/src/main/clojure/clojure/contrib/datalog/database.clj#L96" id="var-source">Source</a>
-</div><div id="var-entry">
- <hr />
- <h2 id="clojure.contrib.datalog.database/get-relation">get-relation</h2>
- <span id="var-type">function</span><br />
- <pre id="var-usage">Usage: (get-relation db rel-name)
-</pre>
- <pre id="var-docstr">Get a relation object by name</pre>
-
-
- <a href="http://github.com/richhickey/clojure-contrib/blob/7188a51605136f36524e4091fe806859114d6056/src/main/clojure/clojure/contrib/datalog/database.clj#L130" id="var-source">Source</a>
-</div><div id="var-entry">
- <hr />
- <h2 id="clojure.contrib.datalog.database/make-database">make-database</h2>
- <span id="var-type">macro</span><br />
- <pre id="var-usage">Usage: (make-database &amp; commands)
-</pre>
- <pre id="var-docstr">Makes a database, like this
-(make-database
- (relation :fred [:mary :sue])
- (index :fred :mary)
- (relation :sally [:jen :becky])
- (index :sally :jen)
- (index :sally :becky))</pre>
-
-
- <a href="http://github.com/richhickey/clojure-contrib/blob/7188a51605136f36524e4091fe806859114d6056/src/main/clojure/clojure/contrib/datalog/database.clj#L109" id="var-source">Source</a>
-</div><div id="var-entry">
- <hr />
- <h2 id="clojure.contrib.datalog.database/merge-relations">merge-relations</h2>
- <span id="var-type">function</span><br />
- <pre id="var-usage">Usage: (merge-relations r1 r2)
-</pre>
- <pre id="var-docstr">Merges two relations</pre>
-
-
- <a href="http://github.com/richhickey/clojure-contrib/blob/7188a51605136f36524e4091fe806859114d6056/src/main/clojure/clojure/contrib/datalog/database.clj#L267" id="var-source">Source</a>
-</div><div id="var-entry">
- <hr />
- <h2 id="clojure.contrib.datalog.database/remove-tuple">remove-tuple</h2>
- <span id="var-type">function</span><br />
- <pre id="var-usage">Usage: (remove-tuple db rel-name tuple)
- (remove-tuple rel tuple)
-</pre>
- <pre id="var-docstr">Two forms:
-
-[db relation-name tuple] removes the tuple from the named relation,
-returns a new database.
-
-[rel tuple] removes the tuple from the relation. Returns the new
-relation.</pre>
-
-
- <a href="http://github.com/richhickey/clojure-contrib/blob/7188a51605136f36524e4091fe806859114d6056/src/main/clojure/clojure/contrib/datalog/database.clj#L190" id="var-source">Source</a>
-</div><div id="var-entry">
- <hr />
- <h2 id="clojure.contrib.datalog.database/replace-relation">replace-relation</h2>
- <span id="var-type">function</span><br />
- <pre id="var-usage">Usage: (replace-relation db rel-name rel)
-</pre>
- <pre id="var-docstr">Add or replace a fully constructed relation object to the database.</pre>
-
-
- <a href="http://github.com/richhickey/clojure-contrib/blob/7188a51605136f36524e4091fe806859114d6056/src/main/clojure/clojure/contrib/datalog/database.clj#L135" id="var-source">Source</a>
-</div><div id="var-entry">
- <hr />
- <h2 id="clojure.contrib.datalog.database/select">select</h2>
- <span id="var-type">function</span><br />
- <pre id="var-usage">Usage: (select db rn pt)
-</pre>
- <pre id="var-docstr">finds all matching tuples to the partial tuple (pt) in the relation named (rn)</pre>
-
-
- <a href="http://github.com/richhickey/clojure-contrib/blob/7188a51605136f36524e4091fe806859114d6056/src/main/clojure/clojure/contrib/datalog/database.clj#L248" id="var-source">Source</a>
-</div>
-<h2 id="namespace-name">datalog.literals</h2>
-<pre id="namespace-docstr"></pre>
-
-
-<br />
-<div id="var-entry">
- <hr />
- <h2 id="clojure.contrib.datalog.literals/adorned-literal">adorned-literal</h2>
- <span id="var-type">multimethod</span><br />
- <pre id="var-usage">No usage documentation available</pre>
- <pre id="var-docstr">When passed a set of bound columns, returns the adorned literal</pre>
-
-
- <a href="http://github.com/richhickey/clojure-contrib/blob/78ee9b3e64c5ac6082fb223fc79292175e8e4f0c/src/main/clojure/clojure/contrib/datalog/literals.clj#L253" id="var-source">Source</a>
-</div><div id="var-entry">
- <hr />
- <h2 id="clojure.contrib.datalog.literals/build-atom">build-atom</h2>
- <span id="var-type">function</span><br />
- <pre id="var-usage">Usage: (build-atom f type)
-</pre>
- <pre id="var-docstr">Returns an unevaluated expression (to be used in a macro) of an
-atom.</pre>
-
-
- <a href="http://github.com/richhickey/clojure-contrib/blob/78ee9b3e64c5ac6082fb223fc79292175e8e4f0c/src/main/clojure/clojure/contrib/datalog/literals.clj#L132" id="var-source">Source</a>
-</div><div id="var-entry">
- <hr />
- <h2 id="clojure.contrib.datalog.literals/build-literal">build-literal</h2>
- <span id="var-type">multimethod</span><br />
- <pre id="var-usage">No usage documentation available</pre>
- <pre id="var-docstr">(Returns an unevaluated expression (to be used in macros) of a
-literal.</pre>
-
-
- <a href="http://github.com/richhickey/clojure-contrib/blob/78ee9b3e64c5ac6082fb223fc79292175e8e4f0c/src/main/clojure/clojure/contrib/datalog/literals.clj#L127" id="var-source">Source</a>
-</div><div id="var-entry">
- <hr />
- <h2 id="clojure.contrib.datalog.literals/build-seed-bindings">build-seed-bindings</h2>
- <span id="var-type">function</span><br />
- <pre id="var-usage">Usage: (build-seed-bindings s)
-</pre>
- <pre id="var-docstr">Given a seed literal, already adorned and in magic form, convert
-its bound constants to new variables.</pre>
-
-
- <a href="http://github.com/richhickey/clojure-contrib/blob/78ee9b3e64c5ac6082fb223fc79292175e8e4f0c/src/main/clojure/clojure/contrib/datalog/literals.clj#L302" id="var-source">Source</a>
-</div><div id="var-entry">
- <hr />
- <h2 id="clojure.contrib.datalog.literals/delta-literal">delta-literal</h2>
- <span id="var-type">function</span><br />
- <pre id="var-usage">Usage: (delta-literal l)
-</pre>
- <pre id="var-docstr">Given a literal l, return a delta version</pre>
-
-
- <a href="http://github.com/richhickey/clojure-contrib/blob/78ee9b3e64c5ac6082fb223fc79292175e8e4f0c/src/main/clojure/clojure/contrib/datalog/literals.clj#L319" id="var-source">Source</a>
-</div><div id="var-entry">
- <hr />
- <h2 id="clojure.contrib.datalog.literals/display-literal">display-literal</h2>
- <span id="var-type">multimethod</span><br />
- <pre id="var-usage">No usage documentation available</pre>
- <pre id="var-docstr">Converts a struct representing a literal to a normal list</pre>
-
-
- <a href="http://github.com/richhickey/clojure-contrib/blob/78ee9b3e64c5ac6082fb223fc79292175e8e4f0c/src/main/clojure/clojure/contrib/datalog/literals.clj#L163" id="var-source">Source</a>
-</div><div id="var-entry">
- <hr />
- <h2 id="clojure.contrib.datalog.literals/get-adorned-bindings">get-adorned-bindings</h2>
- <span id="var-type">function</span><br />
- <pre id="var-usage">Usage: (get-adorned-bindings pred)
-</pre>
- <pre id="var-docstr">Get the bindings from this adorned literal.</pre>
-
-
- <a href="http://github.com/richhickey/clojure-contrib/blob/78ee9b3e64c5ac6082fb223fc79292175e8e4f0c/src/main/clojure/clojure/contrib/datalog/literals.clj#L270" id="var-source">Source</a>
-</div><div id="var-entry">
- <hr />
- <h2 id="clojure.contrib.datalog.literals/get-base-predicate">get-base-predicate</h2>
- <span id="var-type">function</span><br />
- <pre id="var-usage">Usage: (get-base-predicate pred)
-</pre>
- <pre id="var-docstr">Get the base predicate from this predicate.</pre>
-
-
- <a href="http://github.com/richhickey/clojure-contrib/blob/78ee9b3e64c5ac6082fb223fc79292175e8e4f0c/src/main/clojure/clojure/contrib/datalog/literals.clj#L275" id="var-source">Source</a>
-</div><div id="var-entry">
- <hr />
- <h2 id="clojure.contrib.datalog.literals/get-cs-from-vs">get-cs-from-vs</h2>
- <span id="var-type">multimethod</span><br />
- <pre id="var-usage">No usage documentation available</pre>
- <pre id="var-docstr">From a set of vars, get the columns</pre>
-
-
- <a href="http://github.com/richhickey/clojure-contrib/blob/78ee9b3e64c5ac6082fb223fc79292175e8e4f0c/src/main/clojure/clojure/contrib/datalog/literals.clj#L201" id="var-source">Source</a>
-</div><div id="var-entry">
- <hr />
- <h2 id="clojure.contrib.datalog.literals/get-self-bound-cs">get-self-bound-cs</h2>
- <span id="var-type">multimethod</span><br />
- <pre id="var-usage">No usage documentation available</pre>
- <pre id="var-docstr">Get the columns that are bound withing the literal.</pre>
-
-
- <a href="http://github.com/richhickey/clojure-contrib/blob/78ee9b3e64c5ac6082fb223fc79292175e8e4f0c/src/main/clojure/clojure/contrib/datalog/literals.clj#L218" id="var-source">Source</a>
-</div><div id="var-entry">
- <hr />
- <h2 id="clojure.contrib.datalog.literals/get-vs-from-cs">get-vs-from-cs</h2>
- <span id="var-type">multimethod</span><br />
- <pre id="var-usage">No usage documentation available</pre>
- <pre id="var-docstr">From a set of columns, return the vars</pre>
-
-
- <a href="http://github.com/richhickey/clojure-contrib/blob/78ee9b3e64c5ac6082fb223fc79292175e8e4f0c/src/main/clojure/clojure/contrib/datalog/literals.clj#L186" id="var-source">Source</a>
-</div><div id="var-entry">
- <hr />
- <h2 id="clojure.contrib.datalog.literals/join-literal">join-literal</h2>
- <span id="var-type">multimethod</span><br />
- <pre id="var-usage">No usage documentation available</pre>
- <pre id="var-docstr">Given a database (db), a literal (lit) and a seq of bindings (bs),
-return a new seq of bindings by joining this literal.</pre>
-
-
- <a href="http://github.com/richhickey/clojure-contrib/blob/78ee9b3e64c5ac6082fb223fc79292175e8e4f0c/src/main/clojure/clojure/contrib/datalog/literals.clj#L360" id="var-source">Source</a>
-</div><div id="var-entry">
- <hr />
- <h2 id="clojure.contrib.datalog.literals/literal-appropriate?">literal-appropriate?</h2>
- <span id="var-type">multimethod</span><br />
- <pre id="var-usage">No usage documentation available</pre>
- <pre id="var-docstr">When passed a set of bound vars, determines if this literal can be
-used during this point of a SIP computation.</pre>
-
-
- <a href="http://github.com/richhickey/clojure-contrib/blob/78ee9b3e64c5ac6082fb223fc79292175e8e4f0c/src/main/clojure/clojure/contrib/datalog/literals.clj#L235" id="var-source">Source</a>
-</div><div id="var-entry">
- <hr />
- <h2 id="clojure.contrib.datalog.literals/literal-columns">literal-columns</h2>
- <span id="var-type">multimethod</span><br />
- <pre id="var-usage">No usage documentation available</pre>
- <pre id="var-docstr">Return the column names this applies to</pre>
-
-
- <a href="http://github.com/richhickey/clojure-contrib/blob/78ee9b3e64c5ac6082fb223fc79292175e8e4f0c/src/main/clojure/clojure/contrib/datalog/literals.clj#L47" id="var-source">Source</a>
-</div><div id="var-entry">
- <hr />
- <h2 id="clojure.contrib.datalog.literals/literal-magic?">literal-magic?</h2>
- <span id="var-type">function</span><br />
- <pre id="var-usage">Usage: (literal-magic? lit)
-</pre>
- <pre id="var-docstr">Is this literal magic?</pre>
-
-
- <a href="http://github.com/richhickey/clojure-contrib/blob/78ee9b3e64c5ac6082fb223fc79292175e8e4f0c/src/main/clojure/clojure/contrib/datalog/literals.clj#L295" id="var-source">Source</a>
-</div><div id="var-entry">
- <hr />
- <h2 id="clojure.contrib.datalog.literals/literal-predicate">literal-predicate</h2>
- <span id="var-type">multimethod</span><br />
- <pre id="var-usage">No usage documentation available</pre>
- <pre id="var-docstr">Return the predicate/relation this conditional operates over</pre>
-
-
- <a href="http://github.com/richhickey/clojure-contrib/blob/78ee9b3e64c5ac6082fb223fc79292175e8e4f0c/src/main/clojure/clojure/contrib/datalog/literals.clj#L43" id="var-source">Source</a>
-</div><div id="var-entry">
- <hr />
- <h2 id="clojure.contrib.datalog.literals/literal-vars">literal-vars</h2>
- <span id="var-type">multimethod</span><br />
- <pre id="var-usage">No usage documentation available</pre>
- <pre id="var-docstr">Returns the logic vars used by this literal</pre>
-
-
- <a href="http://github.com/richhickey/clojure-contrib/blob/78ee9b3e64c5ac6082fb223fc79292175e8e4f0c/src/main/clojure/clojure/contrib/datalog/literals.clj#L51" id="var-source">Source</a>
-</div><div id="var-entry">
- <hr />
- <h2 id="clojure.contrib.datalog.literals/magic-literal">magic-literal</h2>
- <span id="var-type">function</span><br />
- <pre id="var-usage">Usage: (magic-literal l)
-</pre>
- <pre id="var-docstr">Create a magic version of this adorned predicate.</pre>
-
-
- <a href="http://github.com/richhickey/clojure-contrib/blob/78ee9b3e64c5ac6082fb223fc79292175e8e4f0c/src/main/clojure/clojure/contrib/datalog/literals.clj#L285" id="var-source">Source</a>
-</div><div id="var-entry">
- <hr />
- <h2 id="clojure.contrib.datalog.literals/negated-literal">negated-literal</h2>
- <span id="var-type">function</span><br />
- <pre id="var-usage">Usage: (negated-literal l)
-</pre>
- <pre id="var-docstr">Given a literal l, return a negated version</pre>
-
-
- <a href="http://github.com/richhickey/clojure-contrib/blob/78ee9b3e64c5ac6082fb223fc79292175e8e4f0c/src/main/clojure/clojure/contrib/datalog/literals.clj#L313" id="var-source">Source</a>
-</div><div id="var-entry">
- <hr />
- <h2 id="clojure.contrib.datalog.literals/negated?">negated?</h2>
- <span id="var-type">function</span><br />
- <pre id="var-usage">Usage: (negated? l)
-</pre>
- <pre id="var-docstr">Is this literal a negated literal?</pre>
-
-
- <a href="http://github.com/richhickey/clojure-contrib/blob/78ee9b3e64c5ac6082fb223fc79292175e8e4f0c/src/main/clojure/clojure/contrib/datalog/literals.clj#L111" id="var-source">Source</a>
-</div><div id="var-entry">
- <hr />
- <h2 id="clojure.contrib.datalog.literals/negative-vars">negative-vars</h2>
- <span id="var-type">multimethod</span><br />
- <pre id="var-usage">No usage documentation available</pre>
- <pre id="var-docstr">Returns the logic vars used in a negative position</pre>
-
-
- <a href="http://github.com/richhickey/clojure-contrib/blob/78ee9b3e64c5ac6082fb223fc79292175e8e4f0c/src/main/clojure/clojure/contrib/datalog/literals.clj#L59" id="var-source">Source</a>
-</div><div id="var-entry">
- <hr />
- <h2 id="clojure.contrib.datalog.literals/positive-vars">positive-vars</h2>
- <span id="var-type">multimethod</span><br />
- <pre id="var-usage">No usage documentation available</pre>
- <pre id="var-docstr">Returns the logic vars used in a positive position</pre>
-
-
- <a href="http://github.com/richhickey/clojure-contrib/blob/78ee9b3e64c5ac6082fb223fc79292175e8e4f0c/src/main/clojure/clojure/contrib/datalog/literals.clj#L55" id="var-source">Source</a>
-</div><div id="var-entry">
- <hr />
- <h2 id="clojure.contrib.datalog.literals/positive?">positive?</h2>
- <span id="var-type">function</span><br />
- <pre id="var-usage">Usage: (positive? l)
-</pre>
- <pre id="var-docstr">Is this a positive literal?</pre>
-
-
- <a href="http://github.com/richhickey/clojure-contrib/blob/78ee9b3e64c5ac6082fb223fc79292175e8e4f0c/src/main/clojure/clojure/contrib/datalog/literals.clj#L116" id="var-source">Source</a>
-</div><div id="var-entry">
- <hr />
- <h2 id="clojure.contrib.datalog.literals/project-literal">project-literal</h2>
- <span id="var-type">function</span><br />
- <pre id="var-usage">Usage: (project-literal db lit bs)
- (project-literal db lit bs var?)
-</pre>
- <pre id="var-docstr">Project a stream of bindings onto a literal/relation. Returns a new
-db.</pre>
-
-
- <a href="http://github.com/richhickey/clojure-contrib/blob/78ee9b3e64c5ac6082fb223fc79292175e8e4f0c/src/main/clojure/clojure/contrib/datalog/literals.clj#L392" id="var-source">Source</a>
-</div>
-<h2 id="namespace-name">datalog.magic</h2>
-<pre id="namespace-docstr"></pre>
-
-
-<br />
-<div id="var-entry">
- <hr />
- <h2 id="clojure.contrib.datalog.magic/adorn-query">adorn-query</h2>
- <span id="var-type">function</span><br />
- <pre id="var-usage">Usage: (adorn-query q)
-</pre>
- <pre id="var-docstr">Adorn a query</pre>
-
-
- <a href="http://github.com/richhickey/clojure-contrib/blob/2ede388a9267d175bfaa7781ee9d57532eb4f20f/src/main/clojure/clojure/contrib/datalog/magic.clj#L26" id="var-source">Source</a>
-</div><div id="var-entry">
- <hr />
- <h2 id="clojure.contrib.datalog.magic/adorn-rules-set">adorn-rules-set</h2>
- <span id="var-type">function</span><br />
- <pre id="var-usage">Usage: (adorn-rules-set rs q)
-</pre>
- <pre id="var-docstr">Adorns the given rules-set for the given query. (rs) is a
-rules-set, (q) is an adorned query.</pre>
-
-
- <a href="http://github.com/richhickey/clojure-contrib/blob/2ede388a9267d175bfaa7781ee9d57532eb4f20f/src/main/clojure/clojure/contrib/datalog/magic.clj#L31" id="var-source">Source</a>
-</div><div id="var-entry">
- <hr />
- <h2 id="clojure.contrib.datalog.magic/build-partial-tuple">build-partial-tuple</h2>
- <span id="var-type">function</span><br />
- <pre id="var-usage">Usage: (build-partial-tuple q bindings)
-</pre>
- <pre id="var-docstr">Given a query and a set of bindings, build a partial tuple needed
-to extract the relation from the database.</pre>
-
-
- <a href="http://github.com/richhickey/clojure-contrib/blob/2ede388a9267d175bfaa7781ee9d57532eb4f20f/src/main/clojure/clojure/contrib/datalog/magic.clj#L78" id="var-source">Source</a>
-</div><div id="var-entry">
- <hr />
- <h2 id="clojure.contrib.datalog.magic/magic-transform">magic-transform</h2>
- <span id="var-type">function</span><br />
- <pre id="var-usage">Usage: (magic-transform rs)
- (magic-transform rs i-preds)
-</pre>
- <pre id="var-docstr">Return a magic transformation of an adorned rules-set (rs). The
-(i-preds) are the predicates of the intension database. These
-default to the predicates within the rules-set.</pre>
-
-
- <a href="http://github.com/richhickey/clojure-contrib/blob/2ede388a9267d175bfaa7781ee9d57532eb4f20f/src/main/clojure/clojure/contrib/datalog/magic.clj#L98" id="var-source">Source</a>
-</div><div id="var-entry">
- <hr />
- <h2 id="clojure.contrib.datalog.magic/seed-predicate-for-insertion">seed-predicate-for-insertion</h2>
- <span id="var-type">function</span><br />
- <pre id="var-usage">Usage: (seed-predicate-for-insertion q)
-</pre>
- <pre id="var-docstr">Given a query, return the predicate to use for database insertion.</pre>
-
-
- <a href="http://github.com/richhickey/clojure-contrib/blob/2ede388a9267d175bfaa7781ee9d57532eb4f20f/src/main/clojure/clojure/contrib/datalog/magic.clj#L90" id="var-source">Source</a>
-</div><div id="var-entry">
- <hr />
- <h2 id="clojure.contrib.datalog.magic/seed-relation">seed-relation</h2>
- <span id="var-type">function</span><br />
- <pre id="var-usage">Usage: (seed-relation q)
-</pre>
- <pre id="var-docstr">Given a magic form of a query, give back the literal form of its seed
-relation</pre>
-
-
- <a href="http://github.com/richhickey/clojure-contrib/blob/2ede388a9267d175bfaa7781ee9d57532eb4f20f/src/main/clojure/clojure/contrib/datalog/magic.clj#L63" id="var-source">Source</a>
-</div><div id="var-entry">
- <hr />
- <h2 id="clojure.contrib.datalog.magic/seed-rule">seed-rule</h2>
- <span id="var-type">function</span><br />
- <pre id="var-usage">Usage: (seed-rule q)
-</pre>
- <pre id="var-docstr">Given an adorned query, give back its seed rule</pre>
-
-
- <a href="http://github.com/richhickey/clojure-contrib/blob/2ede388a9267d175bfaa7781ee9d57532eb4f20f/src/main/clojure/clojure/contrib/datalog/magic.clj#L71" id="var-source">Source</a>
-</div>
-<h2 id="namespace-name">datalog.rules</h2>
-<pre id="namespace-docstr"></pre>
-
-
-<br />
-<div id="var-entry">
- <hr />
- <h2 id="clojure.contrib.datalog.rules/&lt;-">&lt;-</h2>
- <span id="var-type">macro</span><br />
- <pre id="var-usage">Usage: (&lt;- hd &amp; body)
-</pre>
- <pre id="var-docstr">Build a datalog rule. Like this:
-
-(&lt;- (:head :x ?x :y ?y) (:body-1 :x ?x :y ?y) (:body-2 :z ?z) (not! :body-3 :x ?x) (if &gt; ?y ?z))</pre>
-
-
- <a href="http://github.com/richhickey/clojure-contrib/blob/7188a51605136f36524e4091fe806859114d6056/src/main/clojure/clojure/contrib/datalog/rules.clj#L67" id="var-source">Source</a>
-</div><div id="var-entry">
- <hr />
- <h2 id="clojure.contrib.datalog.rules/?-">?-</h2>
- <span id="var-type">macro</span><br />
- <pre id="var-usage">Usage: (?- &amp; q)
-</pre>
- <pre id="var-docstr">Define a datalog query</pre>
-
-
- <a href="http://github.com/richhickey/clojure-contrib/blob/7188a51605136f36524e4091fe806859114d6056/src/main/clojure/clojure/contrib/datalog/rules.clj#L85" id="var-source">Source</a>
-</div><div id="var-entry">
- <hr />
- <h2 id="clojure.contrib.datalog.rules/all-predicates">all-predicates</h2>
- <span id="var-type">function</span><br />
- <pre id="var-usage">Usage: (all-predicates rs)
-</pre>
- <pre id="var-docstr">Given a rules-set, return all defined predicates</pre>
-
-
- <a href="http://github.com/richhickey/clojure-contrib/blob/7188a51605136f36524e4091fe806859114d6056/src/main/clojure/clojure/contrib/datalog/rules.clj#L162" id="var-source">Source</a>
-</div><div id="var-entry">
- <hr />
- <h2 id="clojure.contrib.datalog.rules/apply-rule">apply-rule</h2>
- <span id="var-type">function</span><br />
- <pre id="var-usage">Usage: (apply-rule db rule)
- (apply-rule db-1 db-2 rule)
-</pre>
- <pre id="var-docstr">Apply the rule against db-1, adding the results to the appropriate
-relation in db-2. The relation will be created if needed.</pre>
-
-
- <a href="http://github.com/richhickey/clojure-contrib/blob/7188a51605136f36524e4091fe806859114d6056/src/main/clojure/clojure/contrib/datalog/rules.clj#L183" id="var-source">Source</a>
-</div><div id="var-entry">
- <hr />
- <h2 id="clojure.contrib.datalog.rules/compute-sip">compute-sip</h2>
- <span id="var-type">function</span><br />
- <pre id="var-usage">Usage: (compute-sip bindings i-preds rule)
-</pre>
- <pre id="var-docstr">Given a set of bound column names, return an adorned sip for this
-rule. A set of intensional predicates should be provided to
-determine what should be adorned.</pre>
-
-
- <a href="http://github.com/richhickey/clojure-contrib/blob/7188a51605136f36524e4091fe806859114d6056/src/main/clojure/clojure/contrib/datalog/rules.clj#L99" id="var-source">Source</a>
-</div><div id="var-entry">
- <hr />
- <h2 id="clojure.contrib.datalog.rules/display-query">display-query</h2>
- <span id="var-type">function</span><br />
- <pre id="var-usage">Usage: (display-query query)
-</pre>
- <pre id="var-docstr">Return a query in a readable format.</pre>
-
-
- <a href="http://github.com/richhickey/clojure-contrib/blob/7188a51605136f36524e4091fe806859114d6056/src/main/clojure/clojure/contrib/datalog/rules.clj#L38" id="var-source">Source</a>
-</div><div id="var-entry">
- <hr />
- <h2 id="clojure.contrib.datalog.rules/display-rule">display-rule</h2>
- <span id="var-type">function</span><br />
- <pre id="var-usage">Usage: (display-rule rule)
-</pre>
- <pre id="var-docstr">Return the rule in a readable format.</pre>
-
-
- <a href="http://github.com/richhickey/clojure-contrib/blob/7188a51605136f36524e4091fe806859114d6056/src/main/clojure/clojure/contrib/datalog/rules.clj#L31" id="var-source">Source</a>
-</div><div id="var-entry">
- <hr />
- <h2 id="clojure.contrib.datalog.rules/is-safe?">is-safe?</h2>
- <span id="var-type">function</span><br />
- <pre id="var-usage">Usage: (is-safe? rule)
-</pre>
- <pre id="var-docstr">Is the rule safe according to the datalog protocol?</pre>
-
-
- <a href="http://github.com/richhickey/clojure-contrib/blob/7188a51605136f36524e4091fe806859114d6056/src/main/clojure/clojure/contrib/datalog/rules.clj#L46" id="var-source">Source</a>
-</div><div id="var-entry">
- <hr />
- <h2 id="clojure.contrib.datalog.rules/make-rules-set">make-rules-set</h2>
- <span id="var-type">function</span><br />
- <pre id="var-usage">Usage: (make-rules-set rs)
-</pre>
- <pre id="var-docstr">Given an existing set of rules, make it a 'rules-set' for
-printing.</pre>
-
-
- <a href="http://github.com/richhickey/clojure-contrib/blob/7188a51605136f36524e4091fe806859114d6056/src/main/clojure/clojure/contrib/datalog/rules.clj#L128" id="var-source">Source</a>
-</div><div id="var-entry">
- <hr />
- <h2 id="clojure.contrib.datalog.rules/non-base-rules">non-base-rules</h2>
- <span id="var-type">function</span><br />
- <pre id="var-usage">Usage: (non-base-rules rs)
-</pre>
- <pre id="var-docstr">Return a collection of rules that depend, somehow, on other rules</pre>
-
-
- <a href="http://github.com/richhickey/clojure-contrib/blob/7188a51605136f36524e4091fe806859114d6056/src/main/clojure/clojure/contrib/datalog/rules.clj#L167" id="var-source">Source</a>
-</div><div id="var-entry">
- <hr />
- <h2 id="clojure.contrib.datalog.rules/predicate-map">predicate-map</h2>
- <span id="var-type">function</span><br />
- <pre id="var-usage">Usage: (predicate-map rs)
-</pre>
- <pre id="var-docstr">Given a rules-set, return a map of rules keyed by their predicates.
-Each value will be a set of rules.</pre>
-
-
- <a href="http://github.com/richhickey/clojure-contrib/blob/7188a51605136f36524e4091fe806859114d6056/src/main/clojure/clojure/contrib/datalog/rules.clj#L152" id="var-source">Source</a>
-</div><div id="var-entry">
- <hr />
- <h2 id="clojure.contrib.datalog.rules/return-rule-data">return-rule-data</h2>
- <span id="var-type">function</span><br />
- <pre id="var-usage">Usage: (return-rule-data rule)
-</pre>
- <pre id="var-docstr">Returns an untypted rule that will be fully printed</pre>
-
-
- <a href="http://github.com/richhickey/clojure-contrib/blob/7188a51605136f36524e4091fe806859114d6056/src/main/clojure/clojure/contrib/datalog/rules.clj#L80" id="var-source">Source</a>
-</div><div id="var-entry">
- <hr />
- <h2 id="clojure.contrib.datalog.rules/rules-set">rules-set</h2>
- <span id="var-type">function</span><br />
- <pre id="var-usage">Usage: (rules-set &amp; rules)
-</pre>
- <pre id="var-docstr">Given a collection of rules return a rules set</pre>
-
-
- <a href="http://github.com/richhickey/clojure-contrib/blob/7188a51605136f36524e4091fe806859114d6056/src/main/clojure/clojure/contrib/datalog/rules.clj#L136" id="var-source">Source</a>
-</div>
-<h2 id="namespace-name">datalog.softstrat</h2>
-<pre id="namespace-docstr"></pre>
-
-
-<br />
-<div id="var-entry">
- <hr />
- <h2 id="clojure.contrib.datalog.softstrat/build-soft-strat-work-plan">build-soft-strat-work-plan</h2>
- <span id="var-type">function</span><br />
- <pre id="var-usage">Usage: (build-soft-strat-work-plan rs q)
-</pre>
- <pre id="var-docstr">Return a work plan for the given rules-set and query</pre>
-
-
- <a href="http://github.com/richhickey/clojure-contrib/blob/ec6a7579d6b1c0bfa42e3666cfad196cffc966fe/src/main/clojure/clojure/contrib/datalog/softstrat.clj#L115" id="var-source">Source</a>
-</div><div id="var-entry">
- <hr />
- <h2 id="clojure.contrib.datalog.softstrat/get-all-relations">get-all-relations</h2>
- <span id="var-type">function</span><br />
- <pre id="var-usage">Usage: (get-all-relations ws)
-</pre>
- <pre id="var-docstr">Return a set of all relation names defined in this workplan</pre>
-
-
- <a href="http://github.com/richhickey/clojure-contrib/blob/ec6a7579d6b1c0bfa42e3666cfad196cffc966fe/src/main/clojure/clojure/contrib/datalog/softstrat.clj#L121" id="var-source">Source</a>
-</div>
-<h2 id="namespace-name">datalog.util</h2>
-<pre id="namespace-docstr"></pre>
-
-
-<br />
-<div id="var-entry">
- <hr />
- <h2 id="clojure.contrib.datalog.util/is-query-var?">is-query-var?</h2>
- <span id="var-type">function</span><br />
- <pre id="var-usage">Usage: (is-query-var? sym)
-</pre>
- <pre id="var-docstr">Is this a query variable: e.g. a symbol prefixed with ??</pre>
-
-
- <a href="http://github.com/richhickey/clojure-contrib/blob/ec6a7579d6b1c0bfa42e3666cfad196cffc966fe/src/main/clojure/clojure/contrib/datalog/util.clj#L33" id="var-source">Source</a>
-</div><div id="var-entry">
- <hr />
- <h2 id="clojure.contrib.datalog.util/is-var?">is-var?</h2>
- <span id="var-type">function</span><br />
- <pre id="var-usage">Usage: (is-var? sym)
-</pre>
- <pre id="var-docstr">Is this a logic variable: e.g. a symbol prefixed with a ?</pre>
-
-
- <a href="http://github.com/richhickey/clojure-contrib/blob/ec6a7579d6b1c0bfa42e3666cfad196cffc966fe/src/main/clojure/clojure/contrib/datalog/util.clj#L25" id="var-source">Source</a>
-</div><div id="var-entry">
- <hr />
- <h2 id="clojure.contrib.datalog.util/keys-to-vals">keys-to-vals</h2>
- <span id="var-type">function</span><br />
- <pre id="var-usage">Usage: (keys-to-vals m ks)
-</pre>
- <pre id="var-docstr">Given a map and a collection of keys, return the collection of vals</pre>
-
-
- <a href="http://github.com/richhickey/clojure-contrib/blob/ec6a7579d6b1c0bfa42e3666cfad196cffc966fe/src/main/clojure/clojure/contrib/datalog/util.clj#L49" id="var-source">Source</a>
-</div><div id="var-entry">
- <hr />
- <h2 id="clojure.contrib.datalog.util/map-values">map-values</h2>
- <span id="var-type">function</span><br />
- <pre id="var-usage">Usage: (map-values f hash)
-</pre>
- <pre id="var-docstr">Like map, but works over the values of a hash map</pre>
-
-
- <a href="http://github.com/richhickey/clojure-contrib/blob/ec6a7579d6b1c0bfa42e3666cfad196cffc966fe/src/main/clojure/clojure/contrib/datalog/util.clj#L41" id="var-source">Source</a>
-</div><div id="var-entry">
- <hr />
- <h2 id="clojure.contrib.datalog.util/preduce">preduce</h2>
- <span id="var-type">function</span><br />
- <pre id="var-usage">Usage: (preduce f data)
-</pre>
- <pre id="var-docstr">Similar to merge-with, but the contents of each key are merged in
-parallel using f.
-
-f - a function of 2 arguments.
-data - a collection of hashes.</pre>
-
-
- <a href="http://github.com/richhickey/clojure-contrib/blob/ec6a7579d6b1c0bfa42e3666cfad196cffc966fe/src/main/clojure/clojure/contrib/datalog/util.clj#L62" id="var-source">Source</a>
-</div><div id="var-entry">
- <hr />
- <h2 id="clojure.contrib.datalog.util/reverse-map">reverse-map</h2>
- <span id="var-type">function</span><br />
- <pre id="var-usage">Usage: (reverse-map m)
-</pre>
- <pre id="var-docstr">Reverse the keys/values of a map</pre>
-
-
- <a href="http://github.com/richhickey/clojure-contrib/blob/ec6a7579d6b1c0bfa42e3666cfad196cffc966fe/src/main/clojure/clojure/contrib/datalog/util.clj#L54" id="var-source">Source</a>
-</div><div id="var-entry">
- <hr />
- <h2 id="clojure.contrib.datalog.util/trace-datalog">trace-datalog</h2>
- <span id="var-type">macro</span><br />
- <pre id="var-usage">Usage: (trace-datalog &amp; body)
-</pre>
- <pre id="var-docstr">If *test-datalog* is set to true, run the enclosed commands</pre>
-
-
- <a href="http://github.com/richhickey/clojure-contrib/blob/ec6a7579d6b1c0bfa42e3666cfad196cffc966fe/src/main/clojure/clojure/contrib/datalog/util.clj#L82" id="var-source">Source</a>
-</div>
-
-
-</div>
- </div>
- </div>
- </div>
- </div>
- <div id="foot">
- <div style="text-align: center;" id="copyright">Copyright 2007-2009 by Rich Hickey and the various contributors</div>
- </div>
- </div>
- <div id="DesignedBy">Logo &amp; site design by <a title="Visit Tom Hickey's website." href="http://www.tomhickey.com">Tom Hickey</a>.<br />
- Clojure auto-documentation system by Tom Faulhaber.</div>
- </div>
- <!-- /AllContentContainer -->
- </body>
-
-</html> \ No newline at end of file