Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/doriantaylor/owl-intertwingler-vocab

Intertwingler Configuration Vocabulary
https://github.com/doriantaylor/owl-intertwingler-vocab

Last synced: about 1 month ago
JSON representation

Intertwingler Configuration Vocabulary

Awesome Lists containing this project

README

        

Author
Dorian
Taylor

Created
September 6, 2023

Updated
October 9, 2023

October 29, 2023

November 18, 2023

Namespace URI
[`https://vocab.methodandstructure.com/intertwingler#`](https://vocab.methodandstructure.com/intertwingler#)

Preferred Namespace Prefix
`itcv`

This document specifies the on-line configuration vocabulary for
Intertwingler,
a dense hypermedia engine.

This ontology works in conjunction with the
Transformation Functions
Ontology
to organize handlers and transforms for
Intertwingler.

## Classes

![](https://vocab.methodandstructure.com/intertwingler-classes)

### `Handler`

An `itcv:Handler` is the basic unit of functionality in Intertwingler.
Handlers are microservices that serve one or
more URIs via one or more HTTP request methods.

Subclass of:
tfo:Bundle

Properties:
itcv:queue

itcv:response-queue

Back to Top

### `Engine`

An `itcv:Engine` is *the* (as in the only one per instance) specialized
`itcv:Handler` that is responsible for marshalling all other handlers
and transforms.

Subclass of:
itcv:Handler

Properties:
itcv:resolver

itcv:handler

itcv:handler-list

itcv:request-queue

Back to Top

### `Transform`

An `itcv:Transform` is a special-purpose `itcv:Handler` that
encapsulates a set of *actual* transformation functions, identified by
their URIs, that interact via HTTP `POST`.

The `itcv:Transform` class is different from the `tfo:Transform` insofar
as the former is a *handler*, a potentially stand-alone microservice that bundles together a set of
individual service endpoints, while the latter
describes the individual service endpoints themselves.

Subclass of:
itcv:Handler

See also:
tfo:Transform

Back to Top

### `HandlerList`

An `itcv:HandlerList` is a list of handlers and only handlers.

Subclass of:
rdf:List

Property restrictions:
rdf:first
itcv:Handler

rdf:rest (itcv:HandlerList {rdf:nil})

Back to Top

### `Resolver`

An `itcv:Engine` has an `itcv:Resolver` for each website under its
management. Resolvers map the dereferenceable—yet *perishable*—Web
addresses to more durable identifiers like UUIDs and cryptographic
hashes, as well as determine how to treat certain classes of resource,
i.e., whether “sovereign” document or fragment thereof.

Properties:
itcv:manages

itcv:prefix

itcv:document

itcv:fragment

Back to Top

### `FragmentList`

An `itcv:FragmentList` is a list of fragments and only fragments.

Subclass of:
rdf:List

Property restrictions:
rdf:rest (itcv:FragmentList {rdf:nil})

Back to Top

### `FragmentSpecifier`

A fragment specifier tells a resolver to treat a particular class of
resource as a document *fragment*, rather than a full document, as well
how to relate said fragment to a host document.

Properties:
itcv:fragment-class

itcv:host-class

itcv:except-class

itcv:via

itcv:supersedes

Back to Top

## Properties

![](https://vocab.methodandstructure.com/intertwingler-properties)

### Describing Resolvers

At the core of the `Intertwingler` engine is at least one resolver that
maps HTTP(S) URIs to more durable underlying identifiers. The resolver
also manages prefix mappings for namespaces, as well as a mapping of RDF
classes to entire documents versus fragment identifiers.

#### `resolver`

This property maps the `itcv:Engine` to an `itcv:Resolver`.

Domain:
itcv:Engine

Domain:
itcv:Resolver

Back to Top

#### `manages`

Denotes the base URI under management from this resolver.

Domain:
itcv:Resolver

Back to Top

#### `alias`

Denotes, ultimately, an HTTP `Host:` header that is an acceptable
substitute for the authority under management.

Domain:
itcv:Resolver

Back to Top

#### `prefix`

This is a prefix declaration borrowed from SHACL.

Domain:
itcv:Resolver

Range:
sh:PrefixDeclaration

Back to Top

#### `vocab`

Defines the null prefix vocabulary, e.g. for use with RDFa.

Domain:
itcv:Resolver

Range:
xsd:anyURI

Back to Top

#### `document`

Denotes a class which is always to be treated as a stand-alone document.

Domain:
itcv:Resolver

Range:
rdfs:Class

Back to Top

#### `fragment-spec`

Denotes an `itcv:FragmentSpecifier` that describes how a given class is
to be treated as a fragment of another document.

Domain:
itcv:Resolver

Range:
itcv:FragmentSpecifier

Back to Top

#### `fragment-list`

Denotes an ordered list of `itcv:FragmentSpecifier`s that describes how
a given class is to be treated as a fragment of another document.

Domain:
itcv:Resolver

Range:
itcv:FragmentList

Back to Top

#### `fragment`

A target class of an `itcv:FragmentSpecifier`.

Domain:
itcv:FragmentSpecifier

Range:
rdfs:Class

Back to Top

#### `host`

Specifies a class of host document.

Domain:
itcv:FragmentSpecifier

Range:
rdfs:Class

Back to Top

#### `except`

Specifies an `rdfs:Class`, e.g. a subclasswhich is explicitly *not* a
host.

Domain:
itcv:FragmentSpecifier

Range:
rdfs:Class

Back to Top

#### `via`

Specifies the relationship between a fragment and its host document.

Rather than type out a formal definition of the range of this property,
note that it is intended to be the same range as a [SHACL property
path](https://www.w3.org/TR/shacl/#property-paths) (the SHACL people
didn't formally define this either).

Domain:
itcv:FragmentSpecifier

See also:
SHACL property paths

Back to Top

#### `supersedes`

Identifies a fragment specifier over which the subject is intended to
take precedence.

Domain:
itcv:FragmentSpecifier

Range:
itcv:FragmentSpecifier

Back to Top

### Specifying Handlers

#### `handler`

This property relates a handler to the engine.

Domain:
itcv:Engine

Range:
itcv:Handler

Back to Top

#### `handler-list`

This property relates an ordered list of handlers to the engine.

Domain:
itcv:Engine

Range:
itcv:HandlerList

Back to Top

### Selecting Transform Queues

#### `queue`

This property generically relates a transform queue to a handler without
specifying what else to do with it.

Domain:
itcv:Handler

Range:
tfo:Queue

Back to Top

#### `request-queue`

The engine, which inherits the relation `itcv:queue`, also has a queue
for *request* transforms.

Sub-property of:
itcv:queue

Domain:
itcv:Engine

Range:
tfo:Queue

Back to Top

#### `response-queue`

This property denotes the entry point for the response transform queue associated with the `itcv:Handler`.
It also specifies the default queue associated with the `itcv:Engine`.

Sub-property of:
itcv:queue

Domain:
itcv:Handler

Range:
tfo:Queue

Back to Top