-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdataproduct-dprod.ttl
More file actions
242 lines (213 loc) · 12.5 KB
/
Copy pathdataproduct-dprod.ttl
File metadata and controls
242 lines (213 loc) · 12.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
@prefix dprod: <https://ekgf.github.io/dprod/> .
@prefix dcat: <http://www.w3.org/ns/dcat#> .
@prefix dct: <http://purl.org/dc/terms/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix odrl: <http://www.w3.org/ns/odrl/2/> .
@prefix prov: <http://www.w3.org/ns/prov#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix pko: <https://w3id.org/pko#> .
@prefix perks: <https://perks-project.eu/> .
@prefix pkms: <https://perks-project.eu/pkms/> .
@prefix iana: <https://www.iana.org/assignments/media-types/> .
# ═══════════════════════════════════════════════════════════════════════════
# Data Product — PERKS Solution API Descriptor Catalogue
# ═══════════════════════════════════════════════════════════════════════════
# ── Controlled vocabulary instances ────────────────────────────────────────
perks:protocol-rest-http a dprod:Protocol ;
rdfs:label "REST/HTTP" ;
.
perks:security-bearer-jwt a dprod:SecuritySchemaType ;
rdfs:label "Bearer JWT" ;
.
perks:security-api-key a dprod:SecuritySchemaType ;
rdfs:label "API Key" ;
.
perks:protocol-mcp-streamable-http a dprod:Protocol ;
rdfs:label "MCP Streamable HTTP" ;
.
perks:owner-consortium a prov:Agent , foaf:Organization ;
rdfs:label "PERKS Consortium" ;
foaf:homepage <https://perks-project.eu/> ;
.
perks:data-product a dprod:DataProduct ;
rdfs:label "PERKS Solution API Descriptor Catalogue" ;
dct:description """Catalogue data product for the PERKS platform. It exposes a single DPROD entry point for the overall platform and aggregates the structured descriptors of all PERKS solutions into one federated view.
The platform covers the full procedural knowledge lifecycle: document-based extraction (S1), human-in-the-loop authoring and RDF lifting (S2), validation and approval workflows (S3), provenance and auditing (S4), semantic storage and governance via the PKMS knowledge graph (S5), runtime procedure execution (S6a), and FAQ generation from documents and procedures (S6b).""" ;
dprod:purpose """Make the public API descriptors of the PERKS solutions discoverable as one federated data product aligned with the DPROD ontology, while keeping each solution responsible for its own OpenAPI specification and endpoint details. Consumers can navigate from this entry point to the individual service descriptions, their distributions, and the PKO-aligned knowledge graph.""" ;
dprod:dataProductOwner perks:owner-consortium ;
dprod:domain perks:knowledge-management ;
dprod:lifecycleStatus <https://ekgf.github.io/dprod/data/lifecycle-status/Consume> ;
dprod:outputDataset perks:dataset-solution-api-descriptors ;
dprod:outputPort perks:port-s1-procedure-extraction ;
dprod:outputPort perks:port-s2-knowledge-collection ;
dprod:outputPort perks:port-s3-validation-approval ;
dprod:outputPort perks:port-s4-auditing ;
dprod:outputPort perks:port-s5-pkms ;
dprod:outputPort perks:port-s6a-procedure-execution ;
dprod:outputPort perks:port-s6a-mcp ;
dprod:outputPort perks:port-s6b-faq-generation ;
dct:hasPart pkms:data-product ;
.
perks:dataset-solution-api-descriptors a dcat:Dataset ;
rdfs:label "PERKS Solution API Descriptors" ;
dct:description """Collection of the canonical OpenAPI and data-product descriptor files
published in this repository for the PERKS solutions.""" ;
dcat:distribution perks:dist-s1-openapi ;
dcat:distribution perks:dist-s2-openapi ;
dcat:distribution perks:dist-s3-openapi ;
dcat:distribution perks:dist-s4-openapi ;
dcat:distribution perks:dist-s5-openapi ;
dcat:distribution perks:dist-s6a-openapi ;
dcat:distribution perks:dist-s6b-openapi ;
.
perks:dist-s1-openapi a dcat:Distribution ;
rdfs:label "S1 Procedure Extraction OpenAPI descriptor" ;
dct:format <https://www.iana.org/assignments/media-types/application/yaml> ;
dcat:downloadURL <solution-1/solution1-openapi.yaml> ;
dprod:isDistributionOf perks:dataset-solution-api-descriptors ;
.
perks:dist-s2-openapi a dcat:Distribution ;
rdfs:label "S2 Knowledge Collection OpenAPI descriptor" ;
dct:format <https://www.iana.org/assignments/media-types/application/yaml> ;
dcat:downloadURL <solution-2/openapi.yaml> ;
dprod:isDistributionOf perks:dataset-solution-api-descriptors ;
.
perks:dist-s3-openapi a dcat:Distribution ;
rdfs:label "S3 Validation and Approval OpenAPI descriptor" ;
dct:format <https://www.iana.org/assignments/media-types/application/yaml> ;
dcat:downloadURL <solution-3/solution3.yaml> ;
dprod:isDistributionOf perks:dataset-solution-api-descriptors ;
.
perks:dist-s4-openapi a dcat:Distribution ;
rdfs:label "S4 Auditing and Provenance OpenAPI descriptor" ;
dct:format <https://www.iana.org/assignments/media-types/application/yaml> ;
dcat:downloadURL <solution-4/openapi.yaml> ;
dprod:isDistributionOf perks:dataset-solution-api-descriptors ;
.
perks:dist-s5-openapi a dcat:Distribution ;
rdfs:label "S5 PKMS OpenAPI descriptor" ;
dct:format <https://www.iana.org/assignments/media-types/application/yaml> ;
dcat:downloadURL <solution-5/openapi.yaml> ;
dprod:isDistributionOf perks:dataset-solution-api-descriptors ;
.
perks:dist-s6a-openapi a dcat:Distribution ;
rdfs:label "S6A Procedure Execution OpenAPI descriptor" ;
dct:format <https://www.iana.org/assignments/media-types/application/yaml> ;
dcat:downloadURL <solution-6a/procedure-api.yaml> ;
dprod:isDistributionOf perks:dataset-solution-api-descriptors ;
.
perks:dist-s6b-openapi a dcat:Distribution ;
rdfs:label "S6B FAQ Generation OpenAPI descriptor" ;
dct:format <https://www.iana.org/assignments/media-types/application/yaml> ;
dcat:downloadURL <solution-6b/solution6b-openapi.yaml> ;
dprod:isDistributionOf perks:dataset-solution-api-descriptors ;
.
perks:port-s1-procedure-extraction a dcat:DataService ;
rdfs:label "S1 Procedure Extraction API" ;
dct:description """Asynchronous pipeline for extracting structured procedural knowledge from
documents. Supports heuristic and LLM-based extraction modes, multiple
procedure templates, and guide instantiation for downstream customisation.
Exposes job lifecycle management through status polling, processing-trace
retrieval, and cancellation. Accepts document input via direct file upload or
SeaweedFS object-store reference.""" ;
dcat:endpointDescription <solution-1/solution1-openapi.yaml> ;
dprod:protocol perks:protocol-rest-http ;
dprod:isAccessServiceOf perks:dist-s1-openapi ;
.
perks:port-s2-knowledge-collection a dcat:DataService ;
rdfs:label "S2 Knowledge Collection API" ;
dct:description """Human-in-the-loop authoring backend for manual and semi-automatic
procedural knowledge collection. Provides retrieval of processed assets,
JSON-to-RDF lifting against the PKO ontology with optional triple enrichment
and content-negotiated serialisation (Turtle, JSON-LD, RDF/XML),
schema-based validation, and orchestration of asynchronous extraction and
FAQ generation workflows in coordination with S1. Requires Bearer JWT
authentication.""" ;
dcat:endpointDescription <solution-2/openapi.yaml> ;
dprod:protocol perks:protocol-rest-http ;
dprod:securitySchemaType perks:security-bearer-jwt ;
dprod:isAccessServiceOf perks:dist-s2-openapi ;
.
perks:port-s3-validation-approval a dcat:DataService ;
rdfs:label "S3 Validation and Approval API" ;
dct:description """Lightweight upload endpoint pair for pushing validation and approval
decision payloads into the procedural knowledge review workflow. Payloads
carry hierarchically structured procedure data including machine context,
recursive step trees with energy-point and step-verification sub-objects,
and workflow status metadata. Both endpoints share a symmetric request
schema to keep the integration surface minimal and predictable.""" ;
dcat:endpointDescription <solution-3/solution3.yaml> ;
dprod:protocol perks:protocol-rest-http ;
dprod:isAccessServiceOf perks:dist-s3-openapi ;
.
perks:port-s4-auditing a dcat:DataService ;
rdfs:label "S4 Auditing and Provenance API" ;
dct:description """Auditing and provenance sink for the procedural knowledge lifecycle in
the PERKS platform. Exposes two complementary integration patterns: a
structured-event interface that records discrete workflow stage events
(automated extraction, manual editing, validation, approval, and confirmation)
as JSON payloads carrying a procedure snapshot with machine context,
timestamps, and integrity hash; and an RDF-native interface that accepts raw
JSON-LD or Turtle provenance traces as a plain-text body, enabling semantic
interoperability with knowledge-graph-based monitoring infrastructure.""" ;
dcat:endpointDescription <solution-4/openapi.yaml> ;
dprod:protocol perks:protocol-rest-http ;
dprod:isAccessServiceOf perks:dist-s4-openapi ;
.
perks:port-s5-pkms a dcat:DataService ;
rdfs:label "S5 PKMS API" ;
dct:description """Core semantic storage and governance backbone of the PERKS platform,
aligned with the Procedural Knowledge Ontology (PKO). Provides full lifecycle
management of typed knowledge assets, including versioning, ODRL-based
per-asset access control policies, binary file attachments, and SPARQL query
access via a governed grlc proxy over pre-defined named queries. Supports
asset CRUD operations, single-field patching, access-request workflows with
pending/accepted/rejected status, and runtime RBAC configuration enforced
through Keycloak. Requires Bearer JWT authentication or HMAC-signed URLs for
service-to-service access.""" ;
dcat:endpointDescription <solution-5/openapi.yaml> ;
dprod:protocol perks:protocol-rest-http ;
dprod:securitySchemaType perks:security-bearer-jwt ;
dprod:isAccessServiceOf perks:dist-s5-openapi ;
.
perks:port-s6a-procedure-execution a dcat:DataService ;
rdfs:label "S6A Procedure Execution API" ;
dct:description """REST interface for runtime procedure execution in the PERKS platform. Exposes knowledge-graph-backed actions
for procedure discovery by keyword, hierarchical step-tree navigation, execution
lifecycle management (start, step recording, pause, resume, finish or cancel),
issue reporting on steps, and execution history search. Execution state is
room-scoped to enable multi-user concurrent sessions; lifecycle transitions
emit Kafka events for real-time downstream integration. Authenticated via
organisation API key and organisation identifier headers.""" ;
dcat:endpointDescription <solution-6a/procedure-api.yaml> ;
dprod:protocol perks:protocol-rest-http ;
dprod:securitySchemaType perks:security-api-key ;
dprod:isAccessServiceOf perks:dist-s6a-openapi ;
.
perks:port-s6a-mcp a dcat:DataService ;
rdfs:label "S6A MCP Transport Endpoint" ;
dct:description """Model Context Protocol (MCP) endpoint of the S6A Procedure Execution
service in the PERKS platform. Exposes a curated subset of the execution
actions as MCP tools via Streamable HTTP transport (protocol version 2025-06-18),
enabling AI agents and conversational interfaces to discover procedures,
navigate step trees, manage the execution lifecycle, and report issues directly
from an LLM-driven context. The available tool set is scoped per organisation.
Authenticated via organisation API key and organisation identifier headers.""" ;
dcat:endpointDescription <solution-6a/procedure-api.yaml> ;
dprod:protocol perks:protocol-mcp-streamable-http ;
dprod:securitySchemaType perks:security-api-key ;
dprod:isAccessServiceOf perks:dist-s6a-openapi ;
.
perks:port-s6b-faq-generation a dcat:DataService ;
rdfs:label "S6B FAQ Generation API" ;
dct:description """Asynchronous FAQ generation pipeline for procedure documents. Accepts
document input via direct file upload or SeaweedFS object-store reference
and returns a generation identifier alongside download URLs for the generated
FAQ dataset, processing trace, and original document. Provides job lifecycle
management through status polling, trace retrieval, and cancellation
endpoints, following the same submit-and-poll pattern as S1.""" ;
dcat:endpointDescription <solution-6b/solution6b-openapi.yaml> ;
dprod:protocol perks:protocol-rest-http ;
dprod:isAccessServiceOf perks:dist-s6b-openapi ;
.