PHT Metadata Schema Specification 1.0

Generated at 2022-11-16T06:42:24.779540.
This version:
https://schema.padme-analytics.de/
Latest version:
URL of previous version
Editors:
Laurenz Neumann, RWTH Aachen

Abstract

The PHT Metadata Schema allows to describe various entities in implementations following the Personal Health Train paradigm. The Personal Health Train is an approach to distributed analysis is healthcare, enabling stakeholder to provide their data for scientific computerised analysis while keeping the data soverignity. However, due to its highly decentralised architecture, it is obscure to the user and interoperability with different implementations is not granted. Therefore, this specification is aimed at creating a unified communication standard as "lingua franca" between different components in one architecture, but also different architectures.

Status of This Document

This section describes the status of this document at the time of its publication. Other documents may supersede this document.

Although W3C has provided the template for this document for community use, the document is not affiliated with W3C in any way, and is not endorsed or approved by W3C.

This document is a draft of this specification, produced by an independent party. It is inappropriate to cite this specification as as a publication of the World Wide Web Consortium (W3C), or anything other than a work in progress by an independent entity.

This document is an early developement specification. It is subject to change at any time and should be viewed as a fixed specification. Furthermore, it may lack important parts needed in a formal specification.

Intent of this Specification

This intent of this document is to provide a specification of the components in the PHT paradigm with a machine-readable vocabulary to enable semantic interoperability.

Level of Endorsement by the Community

The PADME analytics group endorses this schema.

How to provide feedback

Please send comments on this specification by opening an issue on the gitlab page of the project.


Contents

  1. 1. Introduction
  2. 2. Conformance
  3. 3. Use Cases and Requirements
  4. 4. Vocabulary Overview
  5. 5. Vocabulary Specification
  6. 6. Examples
  7. 7. Security Considerations
  8. 8. Glossary
  9. 10. Acknowledgments

1. Introduction

This section is informative.

An TURTLE version of this schema is available: https://schema.padme-analytics.de/1_0.ttl

TODO: Add intro

The PHT metadata schema is built as an ontology upon OWL.

The ontology is relativly lightweight, in the sense that it is tried to abstain from complex relationships between classes, such as attribute implicated classes. To nevertheless ensure a sound representation of the data, it is relied on SHACL based validation shapes, which can be employed by all entities utilising the schema.

2. Conformance

This section is normative.

Describe different conformance classes here.

This document contains explicit conformance criteria that overlap with some RNG definitions in requirements. If there is any conflict between the two, the explicit conformance criteria are the definitive reference.

Within this specification, the key words "MUST, "MUST NOT", "REQUIRED, "SHALL, "SHALL NOT, "SHOULD, "SHOULD NOT", "RECOMMENDED, "MAY", and "OPTIONAL" are to be interpreted as described in RFC 2119 [RFC2119]. However, for readability, these words do not necessarily appear in uppercase in this specification.

3. Use Cases and Requirements

This section is informative.

3.1. Use Cases

The following usage scenarios illustrate some of the ways in which PHT Metadata Schema might be used for various applications:

Transparancy for users.: While the pht enable users to easily tackle distributed analytics, it is a black box once the algorithm is sent away. With the metadata modelled following this schema...

Insert Use Case 2: Explain use case 2.

4. Vocabulary Overview

This section is informative.

The PHT Metadata Schema is an OWL2 ontology used to describe various entities in a PHT implementation. Each class and property is expressed with an global identifier (IRI). Hence, this holds for the entities described. The properties of the classes are further constrained with SHACL descriptions. The specification can be viewed from two perspectives: interoperability and observability.

Interoperability aims at making different implementations of the PHT interoperabale. The main classes for this are State, State Source and Representation.

Observability aims at making implementations less obscure for the user. This includes in this specification the TripEvent mechanism to allow different entities to share information about trains.

This schema represents the main entities as classes. Additional classes describe more detailed parts of those entities or their interaction. The extend to which the schema is used is leaved to the individual PHT implementations. It can be used as informative only, just increasing the transparancy or can be used an normative, effectivly enabling interoperability and replacing other formats of communication in the implementation. All classes introduced in this specification are subclasses of PHTConcept. Transparancy information is modelled via Event classes.

The two main entities which interact in a PHT implementation are:

Overview of the main classes in the schema
Visualisation of the main classes described in this schema. The classes are grouped based on whether they can be assigned to the station aspect or the train aspect of the infrastructure.

Train

The class Train is used to describe an encapsulated analysis task in the PHT paradigm. Train(s) visit stations with a well defined route and interact with the data there. It is possible to define Train Classes as blueprints for new trains. In this specification, a Train is perceived as an order of states, including an initial and final state.

State

State is an abstract description of an executable state of a Train throughout the lifecycle of the Train.. Such a State incoroporates all information about the Train and is able to self-transform itself into a new State by execution on a station. Hence, the State can be perceived as a state transformer itself, taking the current information inside the train and the information in the station as an input. Therefore, the execution of a train is defined as a series of state transformations. Also a TrainClass is associated with a state, the initial state of the train. State can be affiliated with a Representation, defining a format in which the state exists. Each state can be identified with its own identifier, enabling tracebility. The final state of a train normally forms the result of the overall train execution.
Visualisation of the execution as a state transformation.
Visualisation of an execution over two station as a transformation of states. Each state visit utilises an input State and the (selected) information stored at the station to transform the input state into an output state.
Note that during the lifecycle of a Train, multiple states can exist in parallel. If federated learning is used for example, each station in the federated learning round emits its own intermediate state, which are afterwards transformed into one global state. Also, the state of a train may not always be accessible: If a Station transforms a State, the old state may not be accessible anymore, depending on the implementation. The Train Class, is also represented by a state, which is used as the input state for the first station.

Representation

Representation describe a concrete serialization of a State which can be exchanged and executed. An instance of this class describes one Representation of one state. Several subclasses of this class exist to describes different Representations. The relationship between States and Representations is 1 to many, i.e. one State can have different Representations in parallel. This is useful, if a Station has no information about the compability of the next station in an execution and want to provide different Representations for the next station to choose from. Each Representation should be affiliated with a State Source. Some Representation subclasses recursivly consists out of other Representation instances to describe more complex serialization, e.g. where the data-holding and algorithmic part are separatly stored.

State Source

Instances of the State Source determine where a Representation of a State is stored and how it can be retrieved. It includes the protocol and also the location of any handlers or endpoints needed for a successful transfer. The different ways of storing or retrieving a Train are expressed as subclasses. It does not describe a source in the sense that it is one interface for retrieving different states from a collection, but rather a source which is bound to one specific Representation of a state and describes retrieval methods for this Representation only.
Abstract visualisation of the classes State, Representation and State Source.
Abstract Visualisation of an exemplary usage of the State-related classes. A State is available as a self-contained, monolithic docker image. This image is sourced in a Registry service, with a well-defined endpoint, where user can retrieve this Representation.

Events

To enable transparancy for the PHT paradigm, Events are used, statements which should be true at a specific point in time. Based on these events, users are able to retrace the execution of a train and the interaction between different entities. The Events describe a piece of information about the Train in a fixed point in Time. This includes Resource consumption at Stations, which is communicated to the Train Owner to be able to retrace the performance. Also, changes of the lifecycle state of the execution, such as whether a Train has started running or finished at a specific Station can be expresses with such events. Beside fulfilling tasks of conveying information, Events can also be used for inter-entity communication, for example to be able to express state changes to other stations. The mechanisms for exchanging the state information is not defined in this document.

Visualisation of the events w.r.t the lifecycle of States. If the event is anotated at an edge, it means that this event is created on the transition describes by that edge.

You can broadly divide the different events in two different categories: node based and edge based (see Figure).

Edge based events describe the change of one lifecycle state to another and thus define the lifecycle state of a train at a specific point in time implicitly.

Node based events contain information about a state of a train throughout the time of an implicit lifecycle state. They should be bound to specific lifecycle state.

Event association

Important is the association of the events with the other resources in this specification. Each event is associated with a state. The semantic of this association is defined by each Event subclass. Additionally, each event is associated with the Informational Authority which emitted this event.
For validation of an event, the association of the event with the Informational Authority should be used to check whether the event is proofed to be emmited by the specified entity. This should be communicated to the user if any visualisation based on the events is happening.

Configurations

The Configuration classes allow to express necessary configuration for Trains and Data Interfaces. The two main Classes are Configuration Type and Configuration Template. Configuration Type is used to describe the semantic of a specific configuration parameter. The schema is shipped with multiple instances describing different semantics such as username, password, etc.. Configuration Template describes the means how a parameter is conveyed to a Train in a Station. The schema ships multiple subclasses to describe different means of communicating those parameters, e.g. via environment variable. Data Interfaces may also point to instaces of Configuration Type to describe, that the described Configuration parameter is needed to utilise the Data Interface. Since, both the ConfigurationTemplate of Trains and Station utilise the same instances for describing the semantic of configuration, they can be matched. If a Data Interace has a static configuration which value can be made publice, such as a port used, the Fixed Value Configuration can be utilised.

Station

The class Station is used to describe a Station in the context of the PHT paradigm. A Station provides at least one Execution Environment for the execution of Trains. It can also provide a DataSet to which it may offers access. Each Station needs to be associated with an Owner. See Ownership for more details.

Execution Environment

The Execution Environment class describes some virtual or actual environment for execution of Trains. Each of these Environments can support specific Dependencies. The Dependecies express on the Station side some condition that is met by the Execution Environment. On the Train side these dependecies express conditions that has to be fulfilled so the train can be executed. Execution Environments also determine what kind of representations they support for execution. They do this by providing a list of subclasses of the Representation class.

Dependencies

The Dependency class can be used two-fold: In the context of a Train Class, it describes what kind of dependency the Train Class necessitates for an execution of a corrosponding instance. In the context of a Station, the class can be used to denote what dependencies the station fulfills. To enable this notation of minimum-requierement, a total order is implicitly defined on each of the Dependecies subclasses. Then, in the context of Station, an instance of the Dependency class denotes the maximum supported. In the context of a Train, an instance of the Dependency class denotes the minimum needed. For example, an instance of Storage Dependency with a value of 1000 means in the context of a Station, that it supports Trains with a maximum size of 1000 MB. In the context of a Train this would mean that the Train needs at least 1000 MB storage space to be executed.

5. Vocabulary Specification

This section is normative.

Elements from other vocabularies.

This specification utilises the DCAT vocabulary by extending some of the concepts introduced in DCAT.

Class Specifications

Class: Attribute data interface shape

RDF Classpht:AttributeInterfaceShape
DefinitionDescribes a DataInterfaceShape in the shape of an attribute, holding data of one specific type.

The class has the following direct superclasses:

Data interface shape

The class has the following object properties:

associatedDataSet, attributeDataInterfaceShapeHasDataType, shapeHasDatatype,

The class has the following data properties:

attributeIsUnique,

Class: Attribute object collection interface shape

RDF Classpht:AttributeObjectCollectionInterfaceShape
DefinitionDescribes a Data Interface Shape in the shape of a collection of multiple Attribute Object Shapes, each having a different set of attributes, forming together a data set.

The class has the following direct superclasses:

Data interface shape

The class has the following object properties:

consistsOfTabularShapes,

Class: Attribute object data interface shape

RDF Classpht:AttributeObjectDataInterfaceShape
DefinitionDescribes a DataInterfaceShape in the Shape of a Object having one to multiple attributes.

The class has the following direct superclasses:

Data interface shape

The class has the following object properties:

consistsOfColumnShapes,

Class: Blaze Interface

RDF Classpht:BlazeInterface
DefinitionDescribes an Interface of the Blazegraph FHIR store.

The class has the following direct superclasses:

FHIR Network Interface

Class: CLI ParamterConfiguration

RDF Classpht:CLIParameterConfiguration
DefinitionDescribes a configuration template for passing a parameter via CLI parameter.

The class has the following direct superclasses:

Train Configuration Template

Class: CPU usage report Event

RDF Classpht:CPUUsageReportEvent

The class has the following direct superclasses:

Execution related Event

The class has the following data properties:

cpuUsagePercent,

Class: Column SQL data interface shape

RDF Classpht:ColumnSQLDataInterfaceShape
DefinitionRefines an attribute shape into a shape of a columnal representation, which additional contains metadata regarding tables in sql-based databases.

The class has the following direct superclasses:

Attribute data interface shape

The class has the following object properties:

columnSQLShapeIsForeignKeyFor,

Class: Computing Accleration Dependency

RDF Classpht:ComputingAcclerationDependency

The class has the following direct superclasses:

Dependency

The class has the following data properties:

gpuChipName,

Class: PHTConcept

RDF Classpht:Concept
CommentThe superset of all Concepts introduced in the schema

Class: ConfigurationType

RDF Classpht:ConfigurationType
CommentInstances of this class are shipped with the schema and are used to uniquly identify the semantic meaning of configurations.

The class has the following direct superclasses:

PHTConcept

Class: Constraint

RDF Classpht:Constraint
DefinitionA constraint lays out restriction that a component in the PHT ecosystem can fulfil.

The class has the following direct superclasses:

PHTConcept

Class: Container Image Registry Source

RDF Classpht:ContainerImageRegistrySource
DefinitionDescribes an interface to a train holding entitiy in the form of a Container registry, to which a representation of the state can pulled from.

The class has the following direct superclasses:

State Source Service

Class: Cyclic Routing

RDF Classpht:CyclicRouting
DefinitionA Routing in which the Stations are visited more than once. Corrosponds to "Cyclic Incremental Learning".

The class has the following direct superclasses:

Routing

Class: Data interface

RDF Classpht:DataInterface
DefinitionDescribes the Interface at a Station through which data can be accessed.
CommentDescribes the actual technical Interface. The Form of the Interface is described by the connected DataInterfaceShape object. Optional maps to a configuration containing connection information for this datainterface, which trains can use to connect to it. This is an abstract class, the concrete subclasses should be used to describe the data interface, where the most precise one possible should be choosen.

The class has the following direct superclasses:

PHTConcept

The class has the following object properties:

hasFixedValueConfiguration, hasInterfaceShape, necessitatesConfiguration, providesDataAccessTo,

The class has the following data properties:

interfaceHasFormat,

Class: Data interface shape

RDF Classpht:DataInterfaceShape
DefinitionThe shape of data which is published by a station.
CommentThis shape describes the structural representation of an interface to semantic data. Multiple subclasses exists to describe the most common representation.

The class has the following direct superclasses:

Data interface shape datatype

The class has the following object properties:

shapeReferences,

The class has the following data properties:

dataInterfaceShapeHasKey,

Class: Data interface shape atomic datatype

RDF Classpht:DataInterfaceShapeAtomicDatatype
DefinitionAbstract superclass for primitive datatypes.
CommentInstances for the main primitive datatype are shipped with this ontology. Therefore, new instances of this class must not be created.

The class has the following direct superclasses:

Data interface shape datatype

The class has the following object properties:

hasSimpleDatatype,

The class has the following data properties:

atomicDataTypeLength,

Class: Data interface shape datatype

RDF Classpht:DataInterfaceShapeDatatype
DefinitionAbstract superclass for datatypes.

The class has the following direct superclasses:

PHTConcept

Class: Data interface shape enum datatype

RDF Classpht:DataInterfaceShapeEnumDatatype
DefinitionDescribes a data interface shape datatype in the form of an enum.

The class has the following direct superclasses:

Data interface shape datatype

The class has the following data properties:

dataInterfaceShapeEnumDataTypeAllowedValue,

Class: Data interface shape list datatype

RDF Classpht:DataInterfaceShapeListDatatype
DefinitionDescribes a data interface shape in the form of a list of other datatypes.

The class has the following direct superclasses:

Data interface shape datatype

The class has the following object properties:

listDatatypeShapeContainsDatatype,

Class: Dataset

RDF Classpht:Dataset
DefinitionA Dataset at a station.
CommentA data set of a station to which the station provides access through an interface for trains. The dataset itself is more of an abstract nature, describing the semantic content rather than the structure or syntactical components of the dataset.

The class has the following direct superclasses:

PHTConcept

The class has the following object properties:

accessThroughInterface,

Class: Dependable Software

RDF Classpht:DependableSoftware
DefinitionA piece of Software on which Trains can depend.

The class has the following direct superclasses:

PHTConcept

Class: Dependency

RDF Classpht:Dependency
DefinitionA Dependency instance describes a Dependency which a Train can have or a station can provide fulfilment for.
CommentThe Dependency Class allows "Dependency-Matching", whose concrete algorithm depend on the choosen subclass.

The class has the following direct superclasses:

PHTConcept

Class: DockerMaxSizeConstrain

RDF Classpht:DockerMaxSizeConstrain

The class has the following direct superclasses:

TrainConstraint

Class: Downloadable source

RDF Classpht:DownloadableSource
DefinitionDescribe a State source which can be downloaded via the specified IRI.

The class has the following direct superclasses:

State Source

The class has the following object properties:

stateDownloadURL,

Class: Entity rejected Event

RDF Classpht:EntityRejectedEvent
DefinitionDescribes that an entity has rejected an interaction with a train.

The class has the following direct superclasses:

Train holding entity related TripEvent

The class has the following data properties:

rejectMessageHumanReadable,

Class: Entity rejected Execution

RDF Classpht:EntityRejectedExecution
DefinitionEvent that describes that the associated entity rejected the execution of the train.

The class has the following direct superclasses:

Entity rejected Event

Class: Entity rejected Transmission

RDF Classpht:EntityRejectedTransmission
DefinitionEvent that describes that the associated Entity has rejected the transmission to itself of the Train.

The class has the following direct superclasses:

Entity rejected Event

Class: Environment Variable Configuration

RDF Classpht:EnvironmentVariableConfiguration
DefinitionDescribes a configuration template for passing a parameter via environment variable that needs to be set in the execution environment of the Train.

The class has the following direct superclasses:

Train Configuration Template

The class has the following data properties:

environmentVariableKey,

Class: EstimatedComputationalPowerConstrain

RDF Classpht:EstimatedComputationalPowerConstrain

The class has the following direct superclasses:

TrainConstraint

Class: Execution Environment

RDF Classpht:ExecutionEnvironment
DefinitionAn environment at a station which executes representation of train states. MUST be an IRI.
CommentDescribes the environment of a station in which trains can be executed. Normally, a station has only one ExecutionEnvironment. However it may be necessary to provide multiple one for trains with different requierements. While a ExecutionEnvironment is necessary to be able to offer data to the PHT infrastructure, Stations without them can reasonably exist. This include stations, which are used for conversion between different representations.

The class has the following direct superclasses:

PHTConcept

The class has the following object properties:

environmentSupportsDependency, environmentSupportsRepresentation,

The class has the following data properties:

executionEnvironmentIdentifier, primaryExecutionEnvironment,

Class: Execution Error Event

RDF Classpht:ExecutionErrorEvent

The class has the following direct superclasses:

Execution related Event

Class: Execution related Event

RDF Classpht:ExecutionRelatedTripEvent
DefinitionSuperclass for all events directly related to an execution of a train at a station.

The class has the following direct superclasses:

Train holding entity related TripEvent

Class: FHIR Network Interface

RDF Classpht:FHIRNetworkInterface

The class has the following direct superclasses:

NetworkInterface

Class: File System Fraction Representation

RDF Classpht:FileSystemFraction
DefinitionDescribes a Fraction of a File system which is a part of another Representation.

The class has the following direct superclasses:

Representation Fraction

Class: Final State reached Event

RDF Classpht:FinalStateReachedEvent
CommentDescribes the event that a train execution has reached its final state.

The class has the following direct superclasses:

TripEvent

Class: Finished Running Event

RDF Classpht:FinishedRunningEvent
DefinitionAn event which describes that the execution at a station finished. The associated state is the state with which the execution was started.

The class has the following direct superclasses:

Train holding entity related TripEvent

Class: Finished Transmission Event

RDF Classpht:FinishedTransmissionEvent
DefinitionAn Event which describes that the transmission to the next entity is finished.

The class has the following direct superclasses:

Train holding entity related TripEvent

Class: Fixed Value Configuration

RDF Classpht:FixedValueConfiguration
DefinitionDescribes a Configuration in the Context of a Data Interface at a Station which has a fixed value which can be make (semi-)publicly avaiable.

The class has the following direct superclasses:

PHTConcept

Class: FuzzyOrdinalRouting

RDF Classpht:FuzzyOrdinalRouting
DefinitionAn OrdinalRouting in which the Order may be violated if necessary or reasons of optimality in data usage or execution speed. However the original defined order is tried to be considerated as good as possible.

The class has the following direct superclasses:

Ordinal Routing

Class: GPU Based Computing Accleration Dependency

RDF Classpht:GPUBasedComputingAcclerationDependency

The class has the following direct superclasses:

Computing Accleration Dependency

Class: Informational Authority

RDF Classpht:InformationalAuthority
DefinitionAn entity in the pht architecture which holds semantic information.
CommentAn InformationAuthority is an entity in the PHT infrastructure which is able to provide trustable information about itself and additional Ressources belonging to them. Normally such an entity will sign such information via suitable cryptographic means to ensure that the information is valid and consistent.

The class has the following direct superclasses:

PHTConcept

The class has the following object properties:

entityEmittedEvent,

Class: InternetAccessConstrain

RDF Classpht:InternetAccessConstrain
CommentDescribes a constrain which states if a train needs access to the internet.

The class has the following direct superclasses:

TrainConstraint

Class: LocalFileInterface

RDF Classpht:LocalFileInterface
DefinitionAn interface in the form of a local file.
CommentDescribes an Interface which is made available to the train via a local file path.

The class has the following direct superclasses:

Data interface

Class: Memory Dependency

RDF Classpht:MemoryDependency
DefinitionDescribes a Dependency in the form of a necessary upper-bound amount of memory.
CommentA Train which expresses this Dependency MUST NOT use more Memory than the value expressed.

The class has the following direct superclasses:

Dependency

Class: MemoryUsageReportEvent

RDF Classpht:MemoryUsageReportEvent

The class has the following direct superclasses:

Execution related Event

The class has the following data properties:

memoryUsageByte,

Class: Min IO Interface

RDF Classpht:MinIOInterface

The class has the following direct superclasses:

NetworkInterface

Class: Mountable State Docker Image

RDF Classpht:MountableStateDockerImage
DefinitionA Representation in the form of a docker image and external, state defining data, in which the data needs to be mounted prior to execution.
CommentDescribes a Representation of a State in which the state information is not contained in the docker image itself but in a externable file system which needs to be mounted into the container created from the Docker Image. Contains also information about where the file system is located.

The class has the following direct superclasses:

Representation

The class has the following object properties:

needFractionMounted,

Class: MultiThreading Dependency

RDF Classpht:MultiThreadingDependency
DefinitionDescribes a Dependency in the form of a necessary lower-bounded amount of Threads available to the Train.

The class has the following direct superclasses:

Dependency

Class: MySQL Interface

RDF Classpht:MySQLInterface
DefinitionDescribe an interface in the form of a MySQL database.

The class has the following direct superclasses:

SQL Network Interface Abstract Versioned Data Interface

Class: NetworkInterface

RDF Classpht:NetworkInterface
DefinitionAn interface in the form of a network interface with a specified fully url.
CommentA Data Interface which is accessed over the local network in the Station

The class has the following direct superclasses:

Data interface

The class has the following data properties:

networkInterfaceAdress,

Class: Open Routing

RDF Classpht:OpenRouting
DefinitionA Routing which may contain additional stations, besides the ones defined in the Routing.

The class has the following direct superclasses:

Routing

Class: Ordinal Routing

RDF Classpht:OrdinalRouting
DefinitionA Routing in which the Stations sufficient a defined order. The order is defined in OrderedRoutingNodes. If a non-ordered, basic RoutingNode is used with an OrdinalRouting, the implementation may behave undefined, including skipping the RoutingNode or scheduling it arbitrarly.

The class has the following direct superclasses:

Routing

Class: OrdinalRoutingNode

RDF Classpht:OrdinalRoutingNode
DefinitionA routing node which has ordinal information associated with it,
CommentA RoutingNode with an additional index for defining the order. Note that no two OrdinalRoutingNodes in a OrdinalRouting are allowed to have the same index. If you want to model federated learning-like behavior with simultanously visits at multiple stations, use PlannedParallelHalt.

The class has the following direct superclasses:

Routing Node

The class has the following object properties:

ordinalRoutingNodeHasNext,

The class has the following data properties:

ordinalRoutingIndex,

Class: Planned Halt

RDF Classpht:PlannedHalt
DefinitionA halt at a station, which should happen along the route, to analysis data.
CommentA single step in the Trip of the Train. Describes a plan of a visit at a station. Can be fulfilled by a visit. Multiple instances of this describe the whole planned execution of the train.

The class has the following direct superclasses:

PHTConcept

Class: Planned parallel Halt

RDF Classpht:PlannedParallelHalt
DefinitionA halt at multiple stations simoultanously. Is finished if the single halts at all stations are finished respectivly.

The class has the following direct superclasses:

Planned Halt

The class has the following object properties:

consistsOfHalt,

Class: Planned single Halt

RDF Classpht:PlannedSingleHalt
DefinitionA halt at one station exlusivly.

The class has the following direct superclasses:

Planned Halt

The class has the following object properties:

fulfilledBy, haltAtStation, preferredExecutionEnvironment,

Class: Postgres SQL Interface

RDF Classpht:PostgresInterface
DefinitionDescribes an interface in the form of a Postgres database.

The class has the following direct superclasses:

SQL Network Interface Abstract Versioned Data Interface

Class: Registry

RDF Classpht:Registry
DefinitionA registry holds an index of stations and/or trains and makes them user searchable and discoverable.

The class has the following direct superclasses:

User-Owned

Class: Relational SQL data interface shape

RDF Classpht:RelationalSQLDataInterfaceShape
DefinitionA relational collection of SQL data interface shapes, forming a relational database
CommentRefines the Attribute Object Collection into one a collection of tables, compatible with sql, additionally holding SQL specific information

The class has the following direct superclasses:

Attribute object collection interface shape

Class: Representation

RDF Classpht:Representation
DefinitionFormat of a State which is used to transmit it between participants in the architecture.

The class has the following direct superclasses:

PHTConcept

The class has the following object properties:

availableThroughSource,

Class: Representation Fraction

RDF Classpht:RepresentationFraction

The class has the following direct superclasses:

Representation

Class: Routing

RDF Classpht:Routing
DefinitionThe planned Route of a Train.
CommentThe Routing describes the planned route of a train. This is which stations the train should visit in what order. The Routing object can be used descriptivly (i.e. it just describes the route which is handled internally by a dispatcher of an implementation) or intructivly (i.e. it is used as a authority for the route and is looked up to route the train). Note that these two characterics can hold alternatly during an execution, since it is valid that a specific implementation uses it to look up the route for its own sphere of action but transforms this information into an internal representation. There are different Types of Routing available as subclasses. A route object can contain "Subroute", which are again routing classes allowing to create a route of different strategies.
CommentThe basic routing does not place any constraints on the route in terms of order on the routing, besides the stations which have to be visited. Therefore a drop-out of a single station violates the whole route.

The class has the following direct superclasses:

PHTConcept

The class has the following object properties:

hasRoutingNode,

Class: Routing Node

RDF Classpht:RoutingNode
DefinitionA Node in the routing consisting of either a subrouter or a planend halt.
CommentA RoutingNode describes a Part of a Route. It is more a qualified property connecting a Route to either PlannedHalts or to another Route which then acts as subroute. If a Routing is considered as a Graph, this can be considered as a Node. Specification of RoutingNodes, e.g. with additional ordinal indexes are available.

The class has the following direct superclasses:

PHTConcept

The class has the following object properties:

qualifiesRoutingTo,

Class: SQL Network Interface

RDF Classpht:SQLNetworkInterface
DefinitionDescribes a Data Interface which is an Interface to a SQL Interface

The class has the following direct superclasses:

NetworkInterface

Class: Self contained Docker Image

RDF Classpht:SelfContainedDockerImage
DefinitionA Representation in the form of a self contained docker image, where the state-defining information corrosponds to a commit.
CommentDescribes a Representation of a State in which all state information is contained in the commited Docker Image. This docker image can be instantiated as a container and then executed with the data to transform it into the next state.

The class has the following direct superclasses:

Representation

Class: Soft Routing

RDF Classpht:SoftRouting
DefinitionA Routing in which a subset of the RoutingNodes may is dropped from the Routing. Therefore, any non-soft routing may be considered "hard", not allowing to drop any RoutingNodes.

The class has the following direct superclasses:

Routing

Class: Software Dependency

RDF Classpht:SoftwareDependency
DefinitionDescribe a Dependency in the form of a software component which needs to be supported by the station.

The class has the following direct superclasses:

Dependency

Class: Started Running Event

RDF Classpht:StartedRunningEvent

The class has the following direct superclasses:

Train holding entity related TripEvent

Class: Started Transmission Event

RDF Classpht:StartedTransmissionEvent
DefinitionEvent that describes that an entitiy has started a transmission to another entity.

The class has the following direct superclasses:

Train holding entity related TripEvent

Class: State

RDF Classpht:State
DefinitionA state of a train, reflecting any mutable information in a train during execution.

The class has the following direct superclasses:

PHTConcept

The class has the following object properties:

stateRepresentation,

The class has the following data properties:

stateInstantiated,

Class: State Available for Transfer Event

RDF Classpht:StateAvailableForTransferEvent

The class has the following direct superclasses:

Execution related Event

Class: State holding Entity

RDF Classpht:StateHoldingEntity
DefinitionAbstract class describing an entity in the infrastructure which is able to store (temporarly) a train state.

The class has the following direct superclasses:

PHTConcept

The class has the following object properties:

formsSinkInTransfer, formsSourceInTransaction, holdsSource,

Class: State Source

RDF Classpht:StateSource
DefinitionDescribes a source for one representation of a state.

The class has the following direct superclasses:

PHTConcept

The class has the following object properties:

sourceLocatedIn,

The class has the following data properties:

stateSourceNeedsAuthentification,

Class: State Source Service

RDF Classpht:StateSourceService
DefinitionA descrition of a special operation to retrieve the State.
CommentThis describes more complex mechanisms than simple downloads. This models an abstraction of DCAT's dcat:DataService. DataService was not reused, since it does not allow to describe specific operation, but rather is a template which does not impose any standards by itself.

The class has the following direct superclasses:

State Source

The class has the following object properties:

stateServiceEndpoint,

Class: State Transfer Transaction

RDF Classpht:StateTransferTransaction

The class has the following direct superclasses:

PHTConcept

Class: Station

RDF Classpht:Station
DefinitionThe data holding entity in the PHT ecosystem.

The class has the following direct superclasses:

State holding Entity User-Owned

The class has the following object properties:

associatedWithStore, hasDataSet, stationHasExecutionEnvironment,

Class: StationConstraint

RDF Classpht:StationConstraint
DefinitionA constraint which is imposed by a station.
CommentThe superclass of constraints for stations.

The class has the following direct superclasses:

Constraint

Class: Station Log Event

RDF Classpht:StationLogEvent

The class has the following direct superclasses:

Execution related Event

The class has the following data properties:

logMessage,

Class: Storage Dependency

RDF Classpht:StorageDependency
DefinitionDescribes a Dependency in the form of an upper-bound necessary free Storage available to the Train
CommentA Train which expresses this Dependency MUST NOT use more Memory than the value expressed.

The class has the following direct superclasses:

Dependency

Class: Tabular SQL data interface shape

RDF Classpht:TabularSQLDataInterfaceShape
DefinitionRefines the Attribute Object into a Shape describing a SQL based table explicitly. The columns of the table can be perceived as properties which are populate with multiple instances.

The class has the following direct superclasses:

Attribute object data interface shape

Class: Train

RDF Classpht:Train
DefinitionA Train encapsulates a data analysis algorithm.

The class has the following direct superclasses:

PHTConcept User-Owned

The class has the following object properties:

hasDoneTrip, hasRoute, instantiatedFrom, trainHasConfiguration,

Class: Train Class

RDF Classpht:TrainClass
DefinitionA blueprint for a Train which can be instantiated.

The class has the following direct superclasses:

PHTConcept

The class has the following object properties:

hasInitialState, trainClassCreator,

Class: Train Configuration Template

RDF Classpht:TrainConfigurationTemplate
DefinitionDescribes the means how a parameter is communicated to the Train via the Station.

The class has the following direct superclasses:

PHTConcept

The class has the following object properties:

ConfigurationTemplateHasSemantic,

The class has the following data properties:

configurationTemplateHasKey,

Class: TrainConstraint

RDF Classpht:TrainConstrain
DefinitionA constraint which is imposed by a Train.
CommentThe superclass for constraints for Trains.

The class has the following direct superclasses:

Constraint

Class: Train Dispatch

RDF Classpht:TrainDispatch
DefinitionAn entity which stores train state in a short-term manner for transfering it between different stations.
CommentA Train Dispatcher is an entity which stores a state of a train temporarly to enable the next station to retrieve it. A Train Dispatcher is a short-term storage for trains which strong authentification measures.

The class has the following direct superclasses:

State holding Entity User-Owned

Class: Train holding entity related TripEvent

RDF Classpht:TrainHoldingEntityRelatedTripEvent

The class has the following direct superclasses:

TripEvent

Class: Train instantiated event

RDF Classpht:TrainIstantiatedEvent
DefinitionAn event that describes that a train was instantiated, i.e. in some implementation, there was a Train created. Used to indicate the time of the creation of the train.

The class has the following direct superclasses:

TripEvent

Class: Train Store

RDF Classpht:TrainStore
DefinitionA entity which stores trains, especially train classes, in a long-term manner.
CommentA class describing an entity which stores train states and provides interfaces for retrieving those. A TrainStore is a long-term storage for train states having more open access policies.

The class has the following direct superclasses:

State holding Entity User-Owned

Class: Train store Interface

RDF Classpht:TrainStoreInterface
DefinitionAn interface to add and retrieve Train states to a Train holding entity
CommentAn interface of a Train Store to retrieve Trains. Probably deprecated and moved into StateTransferInterface

The class has the following direct superclasses:

PHTConcept

The class has the following object properties:

storeInterfaceProvidesFormat,

Class: Trip

RDF Classpht:Trip
DefinitionAn execution of a Train. Consists of multiple Visits of stations. This execution can happen in parallel, serial or a hybrid variant of those.

The class has the following direct superclasses:

PHTConcept

The class has the following object properties:

includedVisit,

Class: TripEvent

RDF Classpht:TripEvent
DefinitionA time-dependent piece of metadata about a train.
CommentAn event which is emitted during a Trip of a Train. Can contain various information. Events are used to increase the transparancy in the highly hetergenous PHT infrastructure. They provided a uniform way to indicate different insights into the lifecycle of a train instance. They allow to visualize the lifecycle of a train instance to its owner.

The class has the following direct superclasses:

PHTConcept

The class has the following object properties:

eventEmittedDuring, stateAssociatedWithEvent,

The class has the following data properties:

eventTimestamp,

Class: User-Owned

RDF Classpht:UserOwned
DefinitionAn informational authority which belongs to a user.

The class has the following direct superclasses:

Informational Authority

The class has the following object properties:

ownedBy,

The class has the following data properties:

userOwnedHasDescription, userOwnedHasTitle,

Class: Abstract Versioned Data Interface

RDF Classpht:VersionedDataInterface
DefinitionAbstract class for a data interface which is a specified version. The for of the version identifier depends on the context.
CommentIf the [major.minor] scheme is used, the patch number should not be included. In general, the version string should be as general as possible, while distinguishing versions of a data interface which are not compatible.

The class has the following direct superclasses:

Data interface

The class has the following data properties:

dataInterfaceVersion,

Class: Versioned Software Dependency

RDF Classpht:VersionedSoftwareDependency
DefinitionDescribes a Dependency in the form of a software which needs to be supported by the station with a specific version or version range.

The class has the following direct superclasses:

Software Dependency

Class: Visit

RDF Classpht:Visit
DefinitionDescribes a finished visit at a station, consisting of data analysis there. Is a realised PlannedSingleHalt.
DefinitionDescribes that a train did start running at a station at the asssociated time stamp. The associated state is the state with which the execution was started.
CommentDescribes a single visit of a train during a trip at a station. Can be considered as a state transformer, transforming an input state to an output state

The class has the following direct superclasses:

PHTConcept

The class has the following object properties:

inputState, yieldedState,

Class: ation

RDF Classpht:ation

Object Property Specifications

Object Property: consistsOfColumnShapes

PropertyConsists of column Shapes

Object Property: ordinalRoutingNodeHasNext

PropertyordinalRoutingNodeHasNext
CommentCan be used to chain the OrdinalRoutingNodes instead of using the index property.

Object Property: hasRoutingNode

Propertyhas routing node
CommentConnect a Routing to a Routing Node.

Object Property: trainClassCreator

Propertytrain class creator
DefinitionDescribes the creator of a train class.

Object Property: shapeHasDatatype

PropertyshapeHasDatatype

Object Property: yieldedState

Propertyyielded state
CommentConnects a Visit at a Station by a Train to the new State of the Train in the Trip yielded by this Visit. Describes the result of the state transformation function which the visit at the station effectivly is.

Object Property: holdsSource

Propertyholds source
DefinitionDescribes that a StateHoldingEntitiy holds the defined source and is responsible for it.

Object Property: environmentSupportsDependency

PropertyEnvironment support Dependency
DefinitionIndicates that the Execution Environment supports a specific dependency.

Object Property: hasDoneTrip

Propertyhas done trip
Definitionindicates that the trip is associated with the train.

Object Property: stationHasExecutionEnvironment

PropertyStation has Execution Environment
DefinitionIndicates that a Station provides the associated Execution Environment.

Object Property: environmentSupportsRepresentation

PropertyEnvironment supports Representation
DefinitionDefines which Representation Classes this Execution Environment supports. Range MUST be a list of IRIs which are valid subclasses of Representation

Object Property: inputState

PropertyinputState
CommentDescribes which state a visit gets as an input.

Object Property: ConfigurationTemplateHasSemantic

PropertyConfiguration Template Has Semantic
DefinitionAssociates a Configuration Template with its Semantic. Predefined instances should be used whenever possible.

Object Property: storeInterfaceProvidesFormat

PropertystoreInterfaceProvidesFormat
CommentDescribes that a TrainStore interface (S) provides a special Format of Trains (O).

Object Property: trainHasConfiguration

PropertytrainHasConfiguration

Object Property: stateDownloadURL

Propertystate download url
DefinitionSpecifies the download url of a state source.

Object Property: hasDataSet

PropertyStation has Data set
DefinitionAssociated a Station with a dataset.

Object Property: hasInitialState

PropertyhasInitialState
CommentAssociates a Train class with a State, describing the initial state of the TrainClass from which the train can be executed.

Object Property: hasSimpleDatatype

Propertyhas simple Datatype
DefinitionDescribes the simple datatype this shape datatype takes.

Object Property: necessitatesConfiguration

PropertyNecessitates Configuration
DefinitionAssociates a Data Interface with a configuration type that needs to be available to access this Interface. The concrete precise type of configuration and how it is employed is defined by the configuration type and the context given by the type of Data Interface.

Object Property: formsSourceInTransaction

PropertyformsSourceInTransaction
CommentIndicates that an entity acts as the Source in a transaction.

Object Property: hasRoute

Propertyhas route
DefinitionAssociates a Train with a Route.

Object Property: associatedDataSet

Propertyassociated Data set
DefinitionAssociates an attribute with a data set.

Object Property: hasInterfaceShape

PropertyHas InterfaceShape
CommentConnects a DataInterface to a Shape which describes it.

Object Property: consistsOfHalt

PropertyConsists of Halt

Object Property: instantiatedFrom

Propertyinstantiated from
DefinitionInformative property which indicates that a train was instantiated from the specified train class

Object Property: attributeDataInterfaceShapeHasDataType

PropertyAttribute data interface shape has datatype
DefinitionDescribes that the value of a AttributeDataIntefaceShape are described by the specified data interface datatype shape.

Object Property: sourceLocatedIn

Propertysources located in
DefinitionAssociates a state source with the state holding entitiy storing it.

Object Property: listDatatypeShapeContainsDatatype

Propertylist datatype shape contains datatype
CommentDescribes which datatype a list contains. Describes a one to one relationship, since a list can only contain one datatype, i.e. the instantiated list contains only objects of the same datatype.

Object Property: hasFixedValueConfiguration

PropertyHas fixed Value configuration
DefinitionAssociates a Data Interface with a fixed Value configuration.

Object Property: qualifiesRoutingTo

PropertyqualifiesRoutingTo
CommentConnects a RoutingNode to either a PlannedHalt or a Subroute.

Object Property: formsSinkInTransfer

PropertyformsSinkInTransfer
CommentIndicates that a entity acts as the sink in a transfer transaction.

Object Property: includedVisit

Propertyincluded visit
DefinitionAssociates a trip with a visit, which happend through that trip.

Object Property: columnSQLShapeIsForeignKeyFor

PropertyColumn SQL data interface has foreign key for
CommentDescribes that a column of a table acts as a foreign key for another column in another table.

Object Property: availableThroughSource

Propertyavailable through Source
DefinitionDescribes that a representation of a state is available through that source.

Object Property: providesDataAccessTo

Propertyprovides Data Access to
DefinitionDescribes that a Data Interface provides access to the specified data set.

Object Property: associatedWithStore

PropertyAssociated with Store

Object Property: stateAssociatedWithEvent

PropertyState associated with Event
DefinitionAssociates a State with a TripEvent. The concrete semantic of this association is determined by the concrete subclass of the TripEvent

Object Property: fulfilledBy

PropertyFulfilled by
CommentDescribes that a PlannedHalt was fulfilled by a visit.

Object Property: ownedBy

PropertyOwned by
DefinitionDescribes the owner of the entity. This MUST be a WebID iri.

Object Property: eventEmittedDuring

PropertyeventEmittedDuring

Object Property: haltAtStation

PropertyhaltAtStation

Object Property: entityEmittedEvent

Propertyentity emitted Event
DefinitionDescribes that the given InformationalAuthority emitted this event.

Object Property: accessThroughInterface

PropertyAccess through Interface

Object Property: consistsOfTabularShapes

PropertyConsists of Tabular Shapes

Object Property: preferredExecutionEnvironment

Propertypreferred execution environment
DefinitionIndicates the preferred exection environment of a planned halt at a station.

Object Property: stateRepresentation

Propertystate Has Representation
DefinitionAssociates a state with a representation.

Object Property: shapeReferences

PropertyShape references
DefinitionIndicates that this Shape references a Dataset.

Object Property: stateServiceEndpoint

Propertystate source service endpoint
Definitiondefines the endpoint for a state source service.

Object Property: needFractionMounted

Propertyneed Fraction Mounted
DefinitionDescribes that a Mountable State Docker Image Representation needs to have another File System Fraction Representation Mounted.

6. Examples

This section is informative.

Example 1 is an example which models a train visiting three station in the PADME implementation. In this example a train has a route, designating a visit to three stations. The train already visited 2 of these station in this example. Each of the visits yielded a state which are described in terms of format and where to find them. Note that this would be optional in this case, since for an execution in one implementation, the program logic of the implementation would normally deal with such information.

Example 2 is an example which describes a train executed in two different implementation consecutively.

Example 3 is a description of a station with a Dataset containing basic patient information and one execution environment.

7. Security Considerations

This section is informative.

Currently, Security Considerations are not part of this specification.

8. Glossary

This section is normative.

TermDefinition
PHT implementationA PHT implementation is an implementation of the necessary architectural components to perform analysis follwing the PHT paradigm.
lifecycle state A lifecycle state denotes the implicit state of the train, e.g. whether it is currently running, idlying...

9. References

9.1. Normative References

[RFC2119]
Key words for use in RFCs to Indicate Requirement Levels, S. Bradner, March 1997.
Available at http://tools.ietf.org/html/rfc2119.
[RELAXNG]
Document Schema Definition Languages (DSDL) — Part 2: Regular grammar-based validation — RELAX NG, ISO/IEC FDIS 19757-2:2002(E), J. Clark, 村田 真 (Murata M.), eds. International Organization for Standardization, 12 December 2002.
Available at http://www.y12.doe.gov/sgml/sc34/document/0362_files/relaxng-is.pdf.
[XMLSCHEMA]
XML Schema Part 1: Structures Second Edition, H. S. Thompson et al., eds., W3C Recommendation, 28 October 2004.
Available at: http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/
XML Schema Part 2: Datatypes Second Edition, P. V. Biron, A. Malhotra, eds., W3C Recommendation, 28 October 2004.
Available at: http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/

9.2. Informative References

[SCHEMA2]
XML Schema Part 2: Datatypes Second Edition. P. Biron, A. Malhotra, eds. World Wide Web Consortium, 28 October 2004. (See also Processing XML 1.1 documents with XML Schema 1.0 processors [XML11-SCHEMA].)
This edition of XML Schema Part 2 is http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/.
The latest edition of XML Schema Part 2 is available at http://www.w3.org/TR/xmlschema-2/.
[WebIDL]
WebIDL, C. McCormack, ed. World Wide Web Consortium, work in progress, 19 December 2008.
This edition of WebIDL is http://www.w3.org/TR/2008/WD-WebIDL-20081219/.
The latest edition of WebIDL is available at http://dev.w3.org/2006/webapi/WebIDL/.