Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/doriantaylor/owl-data-cube-viz
Data Cube Visualization Ontology
https://github.com/doriantaylor/owl-data-cube-viz
Last synced: 24 days ago
JSON representation
Data Cube Visualization Ontology
- Host: GitHub
- URL: https://github.com/doriantaylor/owl-data-cube-viz
- Owner: doriantaylor
- License: apache-2.0
- Created: 2022-04-26T19:29:05.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-03-10T17:35:14.000Z (10 months ago)
- Last Synced: 2024-03-10T18:41:29.379Z (10 months ago)
- Language: Makefile
- Size: 19.5 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## Data Cube Visualization Ontology
Author
Dorian
TaylorVersion
0.1Created
October 12, 2016Namespace URI
Preferred Namespace Prefix
qbvThis is a small vocabulary that augments RDF Data Cube with a mechanism
for matching data visualizations.Context: we *have* a
Data Cube resource and we
*want* to apply the appropriate visualization to it. Rather, we may have
*several* of these resources and we want to dispatch them to one or more
visualization mechanisms.This document does not specify the visualization mechanism, it merely
points to it. Indeed, the mechanism need not strictly be
*visualization*, but rather any kind of representational transformation.We can imagine, much like we do with
CSS or
Fresnel, using the identity, structure and content of
the source data to inform the dispatching. Let us begin by taking a
census of the different features of Data Cube:- The classes, `qb:DataSet`, `qb:ObservationGroup` and `qb:Slice`,
- Subclasses of these classes,
- Individual instances of these classes.This is a good start, however we are much more likely to encounter
instances of `qb:DataSet` proper, which only vary in terms of their
`qb:DataStructureDefinition`. Therefore:- References to specific `qb:DataStructureDefinition` resources,
- `qb:Slice` resources that reference a particular `qb:SliceKey`.Still, up to this point, the selection criteria all depend on knowing
the identity of the resource, class, data structure, or slice key. In
the likely case that any of these are generated programmatically, it
will be necessary to match visualizations based on *content*. For
example:- If a structure has one `qb:dimension`, dispatch to visualization
`A`; if two, dispatch to `B`; otherwise leave it alone
- Or if a `qb:dimension` is known to be an interval or datetime, then
dispatch to a
time series
- Or if a `qb:dimension` is a zone on a map, forward to a
choropleth
- Or if `qb:measure` properties contain descriptive statistics, then
dispatch to a
box plot
- Or if the resource being rendered is a `qb:Slice` that fixes a
particular dimension, like the month of a year, forward to a
year-over-year time series…As such, we need to be able to dispatch based on the quantity and
content of `qb:dimension`, `qb:measure` and `qb:attribute` properties.#### TODO
- Describe a candidate selection algorithm
- Handle qb:attribute/qb:AttributeProperty meaningfully
- Some kind of proscription or negation mechanism, to specify rules we
*don't* want to matchAs usual, the master machine-readable spec is embedded in this document,
and there are
RDF/XML and
N3/Turtle variants.## Classes
#### Selector
The selector is the main entity that ties together the instructions for
matching data sets with the processing target.> Since a `qbv:Selector` is a `qb:ComponentSet`, we can reuse
> `qb:dimension`, `qb:measure` and `qb:attribute`.Subclass of:
qb:ComponentSetIn domain of:
qbv:class## Properties
### Object Properties
#### class
Designates a class that should be chosen by this selector.
> If unspecified, we should assume the selector matches the union of
> `qb:DataSet`, `qb:Slice`, and `qb:ObservationGroup`.Domain:
qbv:SelectorRange:
rdfs:Class#### instance
Designates an explicit resource which will be the data source for the
selector.Domain:
qbv:Selector#### structure
Designates an explicit resource which will be the data source for the
selector.Domain:
qbv:SelectorRange:
qb:DataStructureDefinition ∪
qb:SliceKey#### target
Designates the target of the selector, the resource that will perform
the operation. This resource can be anything (e.g. a program, or an XSLT
transform).Domain:
qbv:Selector#### fix
Designates a component property which is fixed in a qb:Slice.
Domain:
qbv:SelectorRange:
qb:ComponentProperty### Datatype Properties
#### dimensions
Specifies the exact number of data dimensions the target is capable of
rendering.Domain:
qbv:SelectorRange:
xsd:positiveIntegerCardinality:
1#### min-dimensions
Specifies the minimum number of data dimensions the target is capable of
rendering.Domain:
qbv:SelectorRange:
xsd:positiveIntegerCardinality:
1#### max-dimensions
Specifies the maximum number of data dimensions the target is capable of
rendering.Domain:
qbv:SelectorRange:
xsd:positiveIntegerCardinality:
1## References
- The RDF
Data Cube Vocabulary
- Cascading Style
Sheets
- Fresnel - Display Vocabulary for RDF