Skip to content

Commit

Permalink
Merge pull request #331 from International-Data-Spaces-Association/de…
Browse files Browse the repository at this point in the history
…velop

Information Model v4.0.0
  • Loading branch information
sebbader committed Aug 11, 2020
2 parents a1e1a30 + c79c6c9 commit d65c5fc
Show file tree
Hide file tree
Showing 374 changed files with 13,131 additions and 8,745 deletions.
4 changes: 3 additions & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,11 @@ addons:
- raptor2-utils
script:
- echo "Starting build!"
- find -type f -name "*.ttl" -not -path "./.git/*" | sed 's/.*/"&"/' | xargs -n1 rapper -q -i turtle > /dev/null
- find -type f -name "*.ttl" -not -path "./.git/*" -not -path "./examples/contracts-and-usage-policy/*" | sed 's/.*/"&"/' | xargs -n1 rapper -q -i turtle > /dev/null
- echo "Finished build."



# What's going on?

# find -type f -name "*.ttl" -not -path "./.git/*":
Expand Down
91 changes: 82 additions & 9 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,75 @@ All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](http://keepachangelog.com/) and this project adheres to [Semantic Versioning](http://semver.org/).

## [4.0.0] 2020-08-04
Version 4.0.0 of the IDS Information Model

### Added

* `ids:ConfigurationModel` class for Connector configuration and deployment related information.
* Several complementary classes, including `ids:Proxy`, `ids:LogLevel`, `ids:AppRoute`, `ids:UserAuthentication`.
* Redesign of `ids:DataApp` class.
* `ids:DataApp` as superclass of `ids:OrchestrationApp`, `ids:SmartDataApp`, `ids:SystemAdapterApp` .
* New properties `ids:appDocumentation` with range `xsd:string` and `ids:appEndpoint` with range `ids:AppEndpoint` to enable app and app endpoint documentation.
* `ids:AppEndpoint`, a subclass of `ids:Endpoint` to describe data app endpoints, such as path suffixes, ports and endpoint documentation.
* Languages for `ids:Representation` via the `ids:language` property.
* `ids:ResourceCatalog`, `ids:ConnectorCatalog` and `ids:ParticipantCatalog` as subclasses of `ids:Catalog` to enable infrastructure components, e.g., Broker and ParIS, to present Connector- and Participant-specific catalogs.
* New messages:
* Messages for app-related communication between App Provider and App Store.
* `ids:UploadMessage` and `ids:UploadResponseMessage` to allow data upload to a recipient.

### Changed

* Major changes on the IDS Usage Policy Language. See section [IDS Usage Policy Language – Updates and major Changes](#usagepolicy-4.0.0) below.

* `ids:MediaType`. Removed instances for `ids:IANAMediaType`.
* Media types via `ids:mediaType` with range `ids:IANAMediaType` should be used with the corresponding [IANA URLs](https://www.iana.org/assignments/media-types/media-types.xhtml), as these have complete coverage. E.g., for JSON-LD:
```JSON
"ids:mediaType": {
"@id": "https://www.iana.org/assignments/media-types/application/ld+json",
"@type": "ids:IANAMediaType"
}
```
* For custom media types (`ids:CustomMediaType`), it is advised to use a recognizable unique identifier.

* Renamed property `ids:catalog` of Connector to `ids:resourceCatalog` and changed range to `ids:ResourceCatalog`.
* Connectors can now present multiple catalogs via the `ids:resourceCatalog` property.
* Switched range of `ids:standardLicense` property from `ids:License` to `xsd:anyURI`. There is no vocabulary with a complete, regularly updated list of software and data licenses which we can provide as instances of the `ids:License` class, to the best of our knowledge. Users should provide the IRI of the correct license. We recommend using sources such as [Wikidata](http://www.wikidata.org/) to search for most common licenses.
* `ids:contentStandard` properties of class `ids:DigitalContent` and `ids:representationStandard` properties of class `ids:Representation` now have range `xsd:anyURI`.
* Redesign of `ids:Endpoint` class.
* Removed `ids:InteractiveEndpoint`.
* `ids:StaticEndpoint` is now called `ids:ConnectorEndpoint`. `ids:ConnectorEndpoint` contains additional properties, especially for endpoint description and documentation.
* `ids:Host` information is now part of the `ids:Endpoint`.
* New property: `ids:endpointInformation` with range `xsd:string` and `ids:endpointDocumentation` with range `xsd:anyURI` for endpoint description and documentation.
* Core classes for digital content (`ids:Resource`, `ids:DigitalContent`, `ids:Representation`, `ids:Artifact`) now aligned with W3C [DCAT 2](https://www.w3.org/TR/vocab-dcat-2/)

### Removed
* Classes related to runtime related interaction, such as `ids:Operation`, `ids:Activity`, `ids:Interface`, `ids:Parameter`.
* `ids:Host`. Information are now part of the `ids:Endpoint` itself.
* `ids:transportCertsSha256` from Connector class. Property should only be part of the `ids:Token` class.
* Some `ids:Resource` and `ids:Representation` subclasses, such as `ids:SchemaResource` and `ids:SimpleResource`.
* Some unused classes, e.g., `ids:Audio`, `ids:Video`, `ids:Text`
* Refactoring of `ids:Message` subclasses:
* Removed `ids:...AvailableMessage` notifications for `ids:Resource`, `ids:Connector` and `ids:Participant`. The corresponding update messages, e.g., `ids:ResourceUpdateMessage`, should now be used to announce availability and updates.



## <a name="usagepolicy-4.0.0">IDS Usage Policy Language – Updates and major Changes</a>


The first version of the IDS Usage Policy Language has been created by the end of 2019 and presented the combined state of discussion of the IDS community. As such, it of course reflected the best intentions and views at that time. However, the following developments, examinations and the deeper understanding of the topic now requires a major update, which is provided with this document and implemented as an integral part into the IDS Information Model version 4.0.0. Obviously, it is still unlikely that the language itself is already finished and no further updates will become necessary. Nevertheless, the significant improvements and lessons learned since 2019 certainly justify this rework of the Usage Policy Language.

At the core, the usage policy classes and the closely related templates have been affected most. The IDS community has understood the deficiencies of the original set and therefore developed the current classifications. Integrating several perspectives – legal, data modelling, business-driven, and from an enforcement perspective – the current proposals should be mature and expressive enough to reflect most use cases.

In addition, the Actions, LeftOperands, and BinaryOperators have been further restricted and defined in order to minimize the uncertainty about their meaning, requirements and implications. An IDS Contract must not be interpreted differently by different systems, while both claim a correct implementation of the language. For instance, the operators for ‘Time’ now have defined datatypes, and a clear semantics of how temporal entities are compared.

The intended communication process for improvements, new use cases or bug reports is aligned with the IDS Information Model in general. Deficiencies and/or errors can be discussed with the responsible working group through GitHub Issues in the IDS Information Model GitHub Repository.

---


## [3.1.0] 2020-04-30
Version 3.1.0 of the IDS Information model
Version 3.1.0 of the IDS Information Model


### Added
Expand All @@ -16,16 +83,18 @@ Version 3.1.0 of the IDS Information model

### Fixed

* `ids:rightOperand` and `ids:rightOperandReference` (class `ids:Constraint`) changed range to `rdfs:Resource`. Even though both properties allow similar values, their inteded usage differs (cf. the specification of the underlying [ODRL ontology](https://www.w3.org/ns/odrl/2/ODRL20.html)). `ids:rightOperand` values should be interpreted directly, while `ids:rightOperandReference` values _must_ be dereferenced beforehand.
* `ids:rightOperand` and `ids:rightOperandReference` (class `ids:Constraint`) changed range to `rdfs:Resource`. Even though both properties allow similar values, their inteded usage differs (cf. the specification of the underlying [ODRL ontology](https://www.w3.org/ns/odrl/2/ODRL20.html)). `ids:rightOperand` values should be interpreted directly, while `ids:rightOperandReference` values _must_ be dereferenced beforehand.

* An `ids:Constraint` is only valid, if either `ids:rightOperandReference` _or_ `ids:rightOperand` is used. Using both properties is not permitted by the corresponding SHACL shape. This behaviour is once more suggested by [ODRL](https://www.w3.org/ns/odrl/2/ODRL20.html).
* An `ids:Constraint` is only valid, if either `ids:rightOperandReference` _or_ `ids:rightOperand` is used. Using both properties is not permitted by the corresponding SHACL shape. This behaviour is once more suggested by [ODRL](https://www.w3.org/ns/odrl/2/ODRL20.html).

* Dynamic Attribute Token (DAT) aligned to current specification in the IDS Communication Guide. DAT is now represented by the `ids:DatRequestPayload` and `ids:DatPayload` classes. While `ids:DatRequestPayload` represents the content of the token (a.k.a. claims) a clients sends to the DAPS, the `ids:DatPayload` represents the content of the token a DAPS issues after validation.

* SHACL shapes for properties with IRI ranges. Property values written as defined by the RDF serialisations should now be correctly validated.
* SHACL shapes for properties with IRI ranges. Property values written as defined by the RDF serialisations should now be correctly validated.

---

## [3.0.0] 2020-03-04
Version 3.0.0 of the IDS Information model
Version 3.0.0 of the IDS Information Model

### Added

Expand Down Expand Up @@ -56,8 +125,10 @@ Version 3.0.0 of the IDS Information model

* `ids:Message` now correctly labelled as _abstract_ since it is not intended to be used directly.

---

## [2.1.0] 2019-12-02
Version 2.1.0 of the IDS Information model
Version 2.1.0 of the IDS Information Model

### Added

Expand All @@ -73,23 +144,25 @@ Version 2.1.0 of the IDS Information model

* Example of *ids:Resource* (in JSON-LD and RDF/TTL) and corresponding SHACL shapes to describe (temperature) sensor data with domain-specific semantics. Example and README can be found in the /*examples/domain-specific semantics using SHACL* directory.

---

## [2.0.1] 2019-11-19
Version 2.0.1 of the IDS Information model
Version 2.0.1 of the IDS Information Model

### Changed
* Removed property *ids:baseContractOffer* from class *ids:ContractRequestMessage* due to redundancy. By definition *ids:ContractRequestMessage* already requires a contract in its payload. The property is therefore not needed.

### Fixed
* Changed *ids:referingConnector* (class *ids:Token*) from *owl:ObjectProperty* to *owl:DatatypeProperty* with *rdfs:range* *xsd:anyURI*. Allows to reference the connector via an URI.

* Removed *idsm:abstract true* property from *ids:variant* (class *ids:Resource*). Property is invalid, since it is intended to be used by classes only.
* Removed *idsm:abstract true* property from *ids:variant* (class *ids:Resource*). Property is invalid, since it is intended to be used by classes only.

* Minor typo fixes.

---

## [2.0.0] 2019-10-14
Version 2.0 of the IDS Information model
Version 2.0 of the IDS Information Model


### Added
Expand Down

0 comments on commit d65c5fc

Please sign in to comment.