generated from okp4/template-oss
-
Notifications
You must be signed in to change notification settings - Fork 23
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
docs(ontology): improve description of ontology
- Loading branch information
Showing
5 changed files
with
268 additions
and
250 deletions.
There are no files selected for viewing
249 changes: 0 additions & 249 deletions
249
docs/technical-documentation/ontology/general-principles.md
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,106 @@ | ||
--- | ||
sidebar_position: 3 | ||
--- | ||
|
||
# OKP4 Ontology | ||
|
||
The OKP4 protocol orchestrates the various resources of the Dataverse (datasets and services) using different blockchain elements such as smart contracts, logic modules, and ontology. All these elements allow for fine management of dataset and service workflows for knowledge creation within a Zone with personalized governance. As seen previous sections, the ontology must stand for the different concepts of the protocol, their relationships, and their properties. | ||
|
||
## The big picture | ||
|
||
The following diagram depicts the introduced concepts and their relationship with the already existing concepts of the ontology. | ||
|
||
```mermaid | ||
classDiagram | ||
Dataset --> Service : providedBy | ||
class Metadata{ | ||
<<abstract>> | ||
} | ||
Metadata <|.. ServiceGeneralMetadata | ||
Metadata <|.. DatasetGeneralMetadata | ||
Metadata <|.. ServiceExecutionMetadata | ||
Metadata <|.. ServiceSpecificationMetadata | ||
ServiceExecutionMetadata ..> ServiceExecution : describes | ||
ServiceGeneralMetadata ..> Service : describes | ||
ServiceSpecificationMetadata ..> Service : describes | ||
DatasetGeneralMetadata ..> Dataset : describes | ||
ServiceExecutionOrder --> Service : hasObject | ||
ServiceExecutionOrder --> Service : has contractor | ||
ServiceExecution --> ServiceExecutionOrder : specifiedBy | ||
ServiceExecution --> Service : hasObject | ||
ServiceExecution --> ServiceExecution : hasParent | ||
ServiceExecution --> Dataset : hasInput | ||
ServiceExecution --> Dataset : produces | ||
ServiceExecution --> Metadata : produces | ||
``` | ||
|
||
## Class and properties | ||
|
||
The following concepts and properties are found within the OKP4 ontology: | ||
|
||
### Data | ||
|
||
This refers to the data contained within a dataset. | ||
|
||
### Dataset | ||
|
||
- hasIdentifier | ||
|
||
This is a dataset made available by a user on the protocol. | ||
|
||
### DatasetGeneralMetadata | ||
|
||
- hasTag | ||
- hasCreator | ||
- hasDescription | ||
- hasPublisher | ||
- hasTitle | ||
- hasSpatialCoverage | ||
- hasTemporalCoverage | ||
- hasImage | ||
|
||
This is the description of a given dataset in metadata form. | ||
|
||
### Zone | ||
|
||
Zone is a conceptual framework that is established based on a set of rules, within which recognized `Resources` must conform, considering associated consents. | ||
|
||
Zones are described by a set of metadata providing information about various aspects of the Zone, such as the zone's name, general information about the provider, and more. | ||
|
||
Specific data description vocabularies and thesauri are used to structure this metadata. A dedicated metadata profile outlines the rules that govern the Zone, expressing its fundamental principles, intentions, scope, and ultimate objectives. These rules encompass the entities involved and the Resources that interact within the Zone. | ||
|
||
They can be customized to address specific use cases, industry sectors, partnership networks, or geographic regions, facilitating tailored governance arrangements within a specific context. | ||
|
||
### DIDURI | ||
|
||
A decentralized identifier URI. A URI that identifies a subject in a decentralized system and is managed independently of any centralized registry. | ||
|
||
### Metadata | ||
|
||
The information data about something (i.e. data about the data). This something can be a Zone, a Dataset, a Service, or any other entity that can be described. | ||
|
||
Metadata is an abstract concept which is refined in Metadata Profiles used to provide a formal specification that defines the set of metadata elements, their semantics, and their syntax to be used in a particular context or application. The OKP4 protocol proposes several profiles at the core of the ontology, such as GeneralMetadata for describing services or datasets. | ||
|
||
### Resource | ||
|
||
Services or datasets, a resource belongs to the Dataverse. | ||
|
||
### Service | ||
|
||
- hasIdentifier | ||
A service consumes a resource and produces data. | ||
|
||
## Conclusion | ||
|
||
With all these concepts, their properties, and their relationships, we can create the OKP4 ontology and explain the workings of the OKP4 protocol in a structured and formalized way. This ontology can be expressed in different formats, both understandable by humans and machines. It can be expressed in French or English, RDF, OWL, JSON-LD, N-Triples, Notation3 RDF/XML, Turtle, etc. | ||
|
||
## Documentation | ||
|
||
Last released version of OKP4 ontology documentation is available here: <https://ontology.okp4.space>. |
37 changes: 37 additions & 0 deletions
37
docs/technical-documentation/ontology/the-power-of-ontologies.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
--- | ||
sidebar_position: 1 | ||
--- | ||
|
||
# The Power Of Ontologies | ||
|
||
In the OKP4 protocol, ontologies are indispensable. They facilitate a comprehensive depiction of the dataverse, capturing even its most intricate details. Ontologies provide detailed descriptions of both datasets and services, enhancing overall comprehension. Moreover, they bridge the connection between governance and orchestration within the dataverse. | ||
|
||
<center> | ||
<img src="/img/content/whitepaper/arch-3pillars.webp"></img> | ||
</center> | ||
|
||
This ontology allows to achieve: | ||
|
||
- **Standardization of terminology**: standardized terminology is used for concepts and relationships in a given domain, clarifying and avoiding misunderstandings between participants. | ||
- **Structuring of data**: data is structured in a coherent and organized way, making it easier to access, process, and analyze. | ||
- **Interoperability of systems and tools**: a well-designed ontology enables interoperability between systems and tools, facilitating the sharing of knowledge among different stakeholders. | ||
- **Improved data research and analysis** by accurately describing concepts and relationships in a particular domain. | ||
|
||
## A formal model for the OKP4 protocol | ||
|
||
This ontology describes and defines the different forms of vocabularies used in the [OKP4](https://okp4.space) protocol in a standard and well designed format. The aim is to model a semantic network of all the _entities_ (Zones, data, services, processing workflows) by semantically characterizing what they are and the relationships they maintain between them. Thus, the ontology provides a complete living understanding and knowledge of the datasets within a Zone, their transformation (by the services), as well as the governance rules that apply (data sharing, consents, policy rules). | ||
|
||
Several languages are used to express the OKP4 ontologies: | ||
|
||
- [OWL (Web Ontology Language)](https://www.w3.org/TR/owl2-overview/): a standard language of the World Wide Web Consortium (W3C) for representing ontologies. OWL is based on descriptive logic and allows for the definition of classes, subclasses, properties, and relationships. | ||
- [RDF (Resource Description Framework)](https://www.w3.org/TR/rdf11-concepts/): a markup language for representing information about resources on the Web, including ontologies. RDF describes resources in terms of their properties and relationships with other resources. | ||
- RDFS (RDF Schema): an ontology representation language that defines classes and properties and relationships between them. RDFS is an extension of RDF. | ||
- [SKOS (Simple Knowledge Organization System)](https://en.wikipedia.org/wiki/Simple_Knowledge_Organization_System): a language for representing ontology that allows the description of classification systems and thesauri. SKOS allows the definition of concepts, relationships, and properties. | ||
|
||
<center> | ||
<img src="/img/content/technical-documentation/semantic-stack.webp"></img> | ||
</center> | ||
|
||
## Ontology at the heart of the blockchain | ||
|
||
The Ontology is at the heart of the [OKP4](https://github.com/okp4/okp4d) protocol as much of the information is encoded and stored as an ontology _on-chain_ in the blockchain transactions. This means that (almost) all the semantics of the transactions submitted to the blockchain are expressed through this ontology - for instance the creation of a Zone, the execution of a Service, the description of a Dataset, etc. |
Oops, something went wrong.