Namespace IRI: https://jeff-zucker.github.io/component-interop/ns#
(prefix ci:).
These terms describe component-interop
loader manifests, which are valid JSON-LD 1.1 via the shared context
context.jsonld.
The machine-readable ontology is embedded in this page as
application/ld+json.
Borrowed terms (not minted here; schema: is always
http://schema.org/):
schema:name names libraries, attributes, stages, capability keys,
and attribute-pair names — exact-identifier semantics, narrower than
schema.org's general label;
schema:description a component's one-sentence user-facing description;
schema:softwareHelp a component's USER online help page;
ui:name, ui:label, ui:icon,
ui:hoverTitle, ui:attribute
(http://www.w3.org/ns/ui#, documented in sol-components'
data/ui-vocab.ttl) — a manifest component is a
ui:Component, the same shape menus and palettes use, with
ui:attribute values being schema:PropertyValue pairs;
dct:conformsTo the SHACL shape a component's data conforms to;
dct:references the data document(s) it reads/writes;
rdfs:seeAlso (as the manifest key customElements)
links a manifest to the library's
custom-elements.json.
The manifest format's own SHACL shape:
shapes/manifest.shaclc
(compact syntax, canonical) /
shapes/manifest.shacl.ttl
(Turtle, for tooling).
| Term | Type | Definition |
|---|---|---|
ci:Manifest | Class | A component-interop loader manifest: declares the components, capability attributes, staged module URLs, and shared-value wiring of one library. |
ci:component | Property | Links a manifest (or a stage) to a component it offers — a ui:Component (declared range) carrying ui:name (the tag) plus optional display metadata (ui:label, ui:icon, ui:hoverTitle, schema:description, ui:attribute defaults, dct:conformsTo, dct:references, schema:softwareHelp, ci:module). |
ci:sharedModule | Property | Links a manifest (or a stage) to a dependency module mapped in the import map; the module node carries schema:name (its bare specifier). |
ci:attribute | Property | Links a manifest to a data-* capability attribute declaration (schema:name + ci:module). Distinct from the custom-elements-manifest sense of a component's own attributes. |
ci:stage | Property | Links a manifest to a per-environment URL set (e.g. local, cdn). |
ci:provides | Property | Declares a shared value the library can supply (schema:name, ci:service, ci:respondTo, ci:sendValue, ci:priority). |
ci:consumes | Property | Declares a shared value the library can adopt (schema:name, ci:call, ci:from, ci:module). |
ci:accepts | Property | Declares a value applied to an element's attribute (schema:name, ci:onElement, ci:applyValueTo, ci:transform). |
ci:module | Property | A module reference: the module resource itself (IRI) or an import-map specifier (string literal) the loader resolves. Deliberately dual — see the ontology comment; the SHACL shapes constrain it per context. |
ci:service | Property | Registry service key a provider exposes the value from. |
ci:respondTo | Property | DOM event name(s) a provider answers with the value. |
ci:sendValue | Property | Dot-path into the event detail or service object the provided value is read from. |
ci:priority | Property | Numeric tiebreaker among multiple providers of one capability. |
ci:call | Property | Registered handler invoked with the consumed value. |
ci:from | Property | Preferred provider library name for a consumed value. |
ci:onElement | Property | CSS selector of the element an accepted value applies to. |
ci:applyValueTo | Property | Attribute name the accepted value is written to. |
ci:transform | Property | Named transformation applied before the value is set (e.g. stripHash). |