Notable changes to vaelii-foreign, newest first. The format follows
Keep a Changelog; versions follow
semantic versioning.
What counts as a breaking change here is worth stating, because this artifact has
two surfaces and only one of them is code. A reader map's keys and a load-dir!
signature are the ordinary kind. The other is the corpus format — a directory some
earlier version wrote and a later one has to keep opening. A change that makes an
existing corpus unreadable is breaking whatever it does to the API, and the
:format line in meta.edn is what a reader checks to find out.
Translation changes are called out separately from both. A conversion that now keeps something it used to drop does not break anything, but it does mean a corpus converted before and after are not the same corpus, and anybody comparing two runs across such a change wants to know which one moved.
No reader-facing change, and no corpus-format change. The version moves in lockstep
with the engine, whose 0.5.0 carries nine breaking changes; one of them reaches this
repo, and it lands on the scaffolding rather than on a reader. open-kb takes one
:space number where it took :record-space and :index-space, and refuses either
retired key by name, so test-util's scratch KB was named in a spelling that no
longer opens — it names the single number 11 now, still clear of the 14 and 15 the
engine's own suite owns, so the two suites still run at once.
The other seven do not reach a reader, and each for a reason rather than by luck. A
reader opens a corpus with {:backend :disk :dir … :recover? false} and never named a
space, so the migration above is the scaffolding's alone. Nothing here makes a request
of a daemon, so the bearer token it now demands on a public bind is not this artifact's
concern; nothing here starts the browser, so VAELII_WEB_PORT is not either. The engine
no longer puts org.slf4j/slf4j-nop on a consumer's classpath, which reaches this repo
as a dependency and would matter if the conversion ran a server — it does not, and the
progress log goes through Trove, which is named here directly. VAELII_HIER renames a
switch only the engine's own suite sets. The last two touch names no file here holds:
context-size is count-in-context, and nothing in this repo calls either spelling —
a conversion reports the count it kept as it went; and different descends into
compound arguments now, where no reader asserts a comparison of any kind.
The ninth is the one worth checking rather than asserting, since this repo's whole job
is minting names: the engine now reads two more roles off a spelling, a sense
(abrasive-grit) and a lexeme (lex/fool's_gold), and refuses a lexeme applied to
arguments. term/spell mints neither and cannot. words splits a foreign name on the
punctuation vaelii's symbols may not carry — a dash and a colon match no branch of its
pattern — so every minted name comes back out of the four shapes spell names, and no
converted corpus changes by a character. A reader that wanted to mint a sense would have
to say so.
One thing worth knowing for a converted corpus even though it changes nothing in this
repo: the engine's /kbs now lists at most 200 discovered KBs per search-path
directory. A directory holding more converted corpora than that hides the rest from the
page, and naming them in the catalog file lists them regardless.
No functional change. The version moves in lockstep with the engine for the same
reason 0.3.0 did, and the engine's 0.4.0 carries thirteen breaking changes and eight
refusals, none of which reaches this artifact. Three of its calls touch a contract
that moved, and each is on the accepting side of it: the {:backend :disk :dir … :recover? false} it opens a corpus with passes only keys the roster reads, false
being inside the domain :recover? is now checked against; the (forward-chain kb {}) that closes a load carries no key there is anything to refuse; and the sentences
the readers hand assert are lists, which is the shape its new check asks for. The
suite says as much against the engine being cut, rather than the pattern of the last
two releases saying it.
No functional change. The version moves in lockstep with the engine for the same
reason 0.2.0 did, and the engine's 0.3.0 carries eight breaking changes none of
which reaches this artifact: its only contact with a changed contract is the
{:recover? false} it opens a corpus with, and false is still what that option
takes.
No functional change. The version moves in lockstep with the engine because the
two coordinates cross-reference — project.clj here depends on
com.vaelii/vaelii and the engine's :with-foreign profile depends back — so a
half-bumped pair leaves one of them resolving a version that does not exist. The
engine's 0.2.0 is not a drop-in upgrade from its 0.1.0; this artifact is.
First public release, on Clojars. Everything below is the initial contents rather than a change from anything.
The readers.
cyc — an OpenCyc KB, from the distribution's own binary CFASL unit dump or from
a CycL text re-dump. Reads the format from Cycorp's Apache-2.0 reference
implementation rather than by reverse engineering
(licenses/THIRD-PARTY.md).rdf — RDF, RDFS and OWL as N-Triples, N-Quads, Turtle or RDF/XML, through two
lexers checked against the W3C RDF 1.1 syntax suites. Every valid document in all four
suites reads.wordnet — a WordNet dict/ directory, Princeton's WNDB files and Open English
WordNet's.obo — an OBO-format ontology, read as OBO rather than through the generated OWL,
which is what keeps the relations a Horn engine can hold.atomic — ATOMIC-2020, entirely at defeasible strength.The corpus.
load-dir!s (docs/ontologies.md, "The corpus").:restated, :filtered,
:weakened, :unread), because summing four unlike things into one :dropped figure
reports a conversion as broken when it is not.:filtered drop is reversible: --obsolete, --editorial, --code-rules,
--empty-tails, --languages, with a test walking the plugin manifest to refuse a
filtered drop that has neither a flag nor a written justification.NOTICE in every corpus directory, since a translation carries its source's terms
and not this repo's.forward-chain has to run in the same process as the load; what is owed a
derivation is held in memory, so chaining a KB reopened from disk derives nothing.rdf reader is a projection onto roughly OWL 2 RL. Existentials in the
conclusion, real disjunction, closed classes, negation and cardinality have no Horn
form and are counted, not carried.wnOffset is the identifier to join on.Can you improve this documentation?Edit on GitHub
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |