The documents Arspec names.
Every term Arspec mints lives under this domain, and every document those terms are defined in is served here as Turtle. The app carries its own copies and reads them from the bundle rather than over the network, so nothing here is needed for it to run. These are for whoever wants to read the vocabularies, resolve an import, or point a tool at them.
Each address reads https://arspec.org/ars/<category>/<version>/<name>. The category says what kind of thing it is, the version is the shape of the terms rather than a release, and the document sits at the path its own IRI names.
The three languages
Each is an ontology described in its own terms: every property carries an rdfs:comment saying what it means and what it takes. They are the authority on how a definition is written down.
| Prefix | Document | What it defines |
|---|---|---|
| ars: | /ars/spec/1/schema.ttl https://arspec.org/ars/spec/1/schema# | How a perspective is written down: one ars:Perspective over a tree of ars:DataSource nodes, their conditions, their displayed parts, and the invocations that run one perspective inside another. |
| av: | /ars/spec/1/schema/view.ttl https://arspec.org/ars/spec/1/schema/view# | How a view is styled: av:Style nodes whose selectors match what a perspective derives, and the layout and look properties they set. |
| aset: | /ars/app/1/config.ttl https://arspec.org/ars/app/1/config# | What the app records about itself: a topic document's own state, which perspectives a file has switched on, and the user's own store. |
The perspectives the app ships with
Written in the ars: vocabulary, and read at startup exactly as a perspective of your own would be. A file may hold several: a perspective is named by its own prefix, not by the document it sits in.
| Document | The perspectives in it |
|---|---|
| /ars/perspec/1/attributes.ttl |
A perspective and the four services it owns — each of them one reading of a term.
|
| /ars/perspec/1/plain.ttl |
Every statement as it stands, one row each.
|
| /ars/perspec/1/prefixes.ttl |
A file's prefix table. The definition carries no data sources: the screen behind it is hand-written, and this gives it a name and a place in the lists.
|
| /ars/perspec/1/styles.ttl |
A perspective and the three services it owns — the styles a file carries, as records: label, order, selector and stated properties, with a style's content read as the ordered list it is.
|
What every view is drawn against
Written in the av: vocabulary. It stands under every other sheet: a style in your preferences, in a topic, or in the file itself outranks anything here.
| Document | What it says |
|---|---|
| /ars/view/1/default.ttl https://arspec.org/ars/view/1/default# | What stands on a perspective's records and how it looks — the structure and the look alike, both as ordinary statements. |
Fetching a document
Everything here is Turtle, served as text/turtle with a permissive Access-Control-Allow-Origin, so a browser tool can read it directly.
curl -H 'Accept: text/turtle' https://arspec.org/ars/spec/1/schema.ttl
An address with no extension answers with the same document, so the IRI an ontology names itself by resolves as it stands:
curl https://arspec.org/ars/spec/1/schema # the ars: vocabulary
curl https://arspec.org/ars/spec/1/schema/view # the av: vocabulary
curl https://arspec.org/ars/view/1/default # the built-in stylesheet
A perspective's prefix is not a document. .../ars/perspec/1/subjects# names the terms of one perspective, several of which are written in one file; the file is what is served. Fetch the document listed beside the prefix above.
The app never fetches any of this. It carries the same files in its own bundle and answers an import of one of these IRIs from there, so a file that imports the vocabulary opens the same offline as on.