Skip to content

Commit

Permalink
Init RDF prov and visualization
Browse files Browse the repository at this point in the history
  • Loading branch information
NicoLaval committed Sep 7, 2024
1 parent dc4d2f0 commit 96bb625
Show file tree
Hide file tree
Showing 19 changed files with 495 additions and 24 deletions.
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,6 @@ target/
**/.classpath
**/.project
**/.settings/
**/pom.xml.versionsBackup
**/pom.xml.versionsBackup

*-dev.properties
3 changes: 3 additions & 0 deletions vtl-prov/docs/configuration/provenance/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Blueprint Trevas provenance

Deployed [here](https://blueprint-trevas-provenance.lab.sspcloud.fr), in the `project-mekong` namespace.
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX sh: <http://www.w3.org/ns/shacl#>
PREFIX schema: <http://schema.org/>
PREFIX fluxShape: <https://ld.flux.zazuko.com/shapes/metadata/>
PREFIX flux: <https://ld.flux.zazuko.com/>
PREFIX fluxSchema: <https://flux.described.at/>
PREFIX sdth: <http://rdf-vocabulary.ddialliance.org/sdth#>

sdth:Program a rdfs:Class;
rdfs:label "Program" ;
rdfs:comment "SDTH Program" .

flux:ProgramFluxClassInstance a fluxShape:ClassMetadataShape ;
sh:targetNode sdth:Program ;
rdfs:label "Program" ;
rdfs:comment "SDTH Program" ;
fluxSchema:faIcon "fas fa-screwdriver-wrench" ;
fluxSchema:colorIndex 1 ;
fluxSchema:searchPrio 1 .

sdth:ProgramStep a rdfs:Class;
rdfs:label "Program step" ;
rdfs:comment "SDTH Program step" .

flux:ProgramStepFluxClassInstance a fluxShape:ClassMetadataShape ;
sh:targetNode sdth:ProgramStep ;
rdfs:label "Program step" ;
rdfs:comment "SDTH Program step" ;
fluxSchema:faIcon "fas fa-calculator" ;
fluxSchema:colorIndex 2 ;
fluxSchema:searchPrio 2 .

sdth:VariableInstance a rdfs:Class;
rdfs:label "Variable instance" ;
rdfs:comment "SDTH Variable instance" .

flux:VariableInstanceFluxClassInstance a fluxShape:ClassMetadataShape ;
sh:targetNode sdth:VariableInstance ;
rdfs:label "Variable instance" ;
rdfs:comment "SDTH Variable instance" ;
fluxSchema:faIcon "fa-solid fa-subscript" ;
fluxSchema:colorIndex 3 ;
fluxSchema:searchPrio 3 .

sdth:DataframeInstance a rdfs:Class;
rdfs:label "Dataframe instance" ;
rdfs:comment "SDTH Dataframe instance" .

flux:DataframeInstanceFluxClassInstance a fluxShape:ClassMetadataShape ;
sh:targetNode sdth:DataframeInstance ;
rdfs:label "Dataframe instance" ;
rdfs:comment "SDTH Dataframe instance" ;
fluxSchema:faIcon "fas fa-table" ;
fluxSchema:colorIndex 4 ;
fluxSchema:searchPrio 4 .
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX sh: <http://www.w3.org/ns/shacl#>
PREFIX blueprintMetaShapes: <https://ld.flux.zazuko.com/shapes/metadata/>
PREFIX blueprint: <https://flux.described.at/>
PREFIX sdth: <http://rdf-vocabulary.ddialliance.org/sdth#>

blueprintMetaShapes:LabelDetail a blueprintMetaShapes:ClassDetailShape ;
rdfs:label "Name" ;
sh:path rdfs:label ;
sh:order 0 ;
blueprint:showAs blueprintMetaShapes:Plain ;
sh:targetClass sdth:Program ;
sh:targetClass sdth:ProgramStep ;
sh:targetClass sdth:VariableInstance ;
sh:targetClass sdth:DataframeInstance .

blueprintMetaShapes:SourceCodeDetail a blueprintMetaShapes:ClassDetailShape ;
rdfs:label "Source code" ;
sh:path sdth:hasSourceCode ;
sh:order 1 ;
blueprint:showAs blueprintMetaShapes:Plain ;
sh:targetClass sdth:ProgramStep .
51 changes: 51 additions & 0 deletions vtl-prov/docs/configuration/provenance/blueprint-link-metadata.ttl
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX sh: <http://www.w3.org/ns/shacl#>
PREFIX fluxShape: <https://ld.flux.zazuko.com/shapes/metadata/>
PREFIX flux: <https://ld.flux.zazuko.com/>
PREFIX fluxSchema: <https://flux.described.at/>
PREFIX prov: <http://www.w3.org/ns/prov#>
PREFIX sdth: <http://rdf-vocabulary.ddialliance.org/sdth#>

flux:ProgramToProgramStep a sh:PropertyShape, fluxSchema:Link ;
sh:name "has program step" ;
sh:path sdth:hasProgramStep;
sh:class sdth:ProgramStep ;
sh:targetClass sdth:Program .

flux:ProgramStepToDataframeInstanceConsumes a sh:PropertyShape, fluxSchema:Link ;
sh:name "consumes Dataframe" ;
sh:path sdth:consumesDataframe;
sh:class sdth:DataframeInstance ;
sh:targetClass sdth:ProgramStep .

flux:ProgramStepToDataframeInstanceProduces a sh:PropertyShape, fluxSchema:Link ;
sh:name "produces Dataframe" ;
sh:path sdth:producesDataframe;
sh:class sdth:DataframeInstance ;
sh:targetClass sdth:ProgramStep .

flux:ProgramStepToVariableInstance a sh:PropertyShape, fluxSchema:Link ;
sh:name "uses variable" ;
sh:path sdth:usesVariable;
sh:class sdth:ProgramStep ;
sh:targetClass sdth:VariableInstance .

flux:DataframeInstanceToVariableInstance a sh:PropertyShape, fluxSchema:Link ;
sh:name "has variable instance" ;
sh:path sdth:hasVariableInstance;
sh:class sdth:VariableInstance ;
sh:targetClass sdth:DataframeInstance .

flux:DataframeInstanceToDataframeInstance a sh:PropertyShape, fluxSchema:Link ;
sh:name "was derived from" ;
sh:path sdth:wasDerivedFrom;
sh:class sdth:DataframeInstance ;
sh:targetClass sdth:DataframeInstance .

flux:VariableInstanceToVariableInstance a sh:PropertyShape, fluxSchema:Link ;
sh:name "was derived from" ;
sh:path sdth:wasDerivedFrom;
sh:class sdth:VariableInstance ;
sh:targetClass sdth:VariableInstance .


Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: blueprint-trevas-provenance
spec:
replicas: 1
selector:
matchLabels:
app: blueprint-trevas-provenance
template:
metadata:
labels:
app: blueprint-trevas-provenance
spec:
containers:
- name: blueprint-trevas-provenance
image: ghcr.io/zazuko/blueprint:dev-main-20240626132259
imagePullPolicy: IfNotPresent
env:
- name: ENDPOINT_URL
value: "https://trifid-trevas-provenance.lab.sspcloud.fr/query"
- name: SPARQL_CONSOLE_URL
value: "https://trifid-trevas-provenance.lab.sspcloud.fr/sparql/#query"
- name: GRAPH_EXPLORER_URL
value: "https://trifid-trevas-provenance.lab.sspcloud.fr/graph-explorer/?resource"
- name: FULL_TEXT_SEARCH_DIALECT
value: "fuseki"
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: blueprint-trevas-provenance
annotations:
spec.ingressClassName: nginx
spec:
tls:
- hosts:
- blueprint-trevas-provenance.lab.sspcloud.fr
rules:
- host: blueprint-trevas-provenance.lab.sspcloud.fr
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: blueprint-trevas-provenance
port:
number: 80
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
apiVersion: v1
kind: Service
metadata:
name: blueprint-trevas-provenance
spec:
ports:
- name: http
targetPort: 80
port: 80
selector:
app: blueprint-trevas-provenance
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: trifid-trevas-provenance
spec:
replicas: 1
selector:
matchLabels:
app: trifid-trevas-provenance
template:
metadata:
labels:
app: trifid-trevas-provenance
spec:
containers:
- name: trifid
image: ghcr.io/zazuko/trifid:v5
imagePullPolicy: IfNotPresent
env:
- name: SPARQL_ENDPOINT_URL
value: "https://projet-mekong-882672.user.lab.sspcloud.fr/trevas-provenance/query"
- name: DATASET_BASE_URL
value: "https://rdf.insee.fr/"
- name: SPARQL_USER
value: "admin"
- name: SPARQL_PASSWORD
value: "constances"
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: trifid-trevas-provenance
annotations:
spec.ingressClassName: nginx
spec:
tls:
- hosts:
- trifid-trevas-provenance.lab.sspcloud.fr
rules:
- host: trifid-trevas-provenance.lab.sspcloud.fr
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: trifid-trevas-provenance
port:
number: 8080
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
apiVersion: v1
kind: Service
metadata:
name: trifid-trevas-provenance
spec:
ports:
- name: http
targetPort: 8080
port: 8080
selector:
app: trifid-trevas-provenance
48 changes: 25 additions & 23 deletions vtl-prov/docs/model-v1.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,10 +49,14 @@ classDiagram
rdfs:label
}
class ProgramStep {
rdfs:label
}
class VariableInstance {
rdfs:label
sdth:hasName
}
class DataframeInstance {
rdfs:label
sdth:hasName
}
Expand Down Expand Up @@ -87,15 +91,17 @@ ds_res <- ds_mul[filter mod(var1, 2) = 0][calc var_sum := var1 + var2];
#### Model target

```ttl
@PREFIX org: <http://example.com/>
@PREFIX prov: <http://www.w3.org/ns/prov#>
@PREFIX sdth: <http://rdf-vocabulary.ddialliance.org/sdth>
PREFIX org: <http://example.com/>
PREFIX prov: <http://www.w3.org/ns/prov#>
PREFIX sdth: <http://rdf-vocabulary.ddialliance.org/sdth>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
# --- Program and steps
<org/program1> a sdth:Program ;
a prov:Agent ; # Agent? Or an activity
rdfs:label "My program 1"@en, "Mon programme 1"@fr ;
sdth:hasProgramStep <org/program1/program-step1>, <org/program1/program-step2>, <org/program1/program-step3> ;
sdth:hasProgramStep <org/program1/program-step1>, <org/program1/program-step2>, <org/program1/program-step3> .
<org/program1/program-step1> a sdth:ProgramStep ;
sdth:hasSourceCode "ds_sum := ds1 + ds2;" ;
Expand All @@ -115,44 +121,40 @@ ds_res <- ds_mul[filter mod(var1, 2) = 0][calc var_sum := var1 + var2];
sdth:producesDataframe <org/dataset/ds_res> ;
sdth:usesVariable <org/dataset/var1>, <org/dataset/var2> . # there i think it's ok
# --- Variables
# --- Variables
# i think here it's not instances but names we refer to...
<org/dataset/id1> a sdth:VariableInstance .
<org/dataset/var1> a sdth:VariableInstance .
<org/dataset/var2> a sdth:VariableInstance .
<org/dataset/var_sum> a sdth:VariableInstance .
<org/dataset/id1> a sdth:VariableInstance ;
sdth:hasName "id1" .
<org/dataset/var1> a sdth:VariableInstance ;
sdth:hasName "var1" .
<org/dataset/var2> a sdth:VariableInstance ;
sdth:hasName "var2" .
<org/dataset/var_sum> a sdth:VariableInstance ;
sdth:hasName "var_sum" .
# --- Data frames
<org/dataset/ds1> a sdth:DataframeInstance ;
sdth:hasName "ds1" ;
sdth:hasVariableInstance <org/vtl/id1> ;
sdth:hasVariableInstance <org/vtl/var1> .
<org/dataset/ds2> a sdth:DataframeInstance ;
sdth:hasName "ds2" ;
sdth:hasVariableInstance <org/vtl/id1> ;
sdth:hasVariableInstance <org/vtl/var2> .
<org/dataset/ds_sum> a sdth:DataframeInstance ;
sdth:hasName "ds_sum" ;
sdth:wasDerivedFrom <org/dataset/ds1>, <org/dataset/ds2> ;
sdth:hasVariableInstance <org/vtl/id1> ;
sdth:hasVariableInstance <org/vtl/var1> ;
sdth:hasVariableInstance <org/vtl/var2> .
sdth:hasVariableInstance <org/vtl/id1>, <org/vtl/var1>, <org/vtl/var2> .
<org/dataset/ds_mul> a sdth:DataframeInstance ;
sdth:hasName "ds_mul" ;
sdth:wasDerivedFrom <org/dataset/ds_sum> .
sdth:hasVariableInstance <org/vtl/id1> ;
sdth:hasVariableInstance <org/vtl/var1> ;
sdth:hasVariableInstance <org/vtl/var2> .
sdth:wasDerivedFrom <org/dataset/ds_sum> ;
sdth:hasVariableInstance <org/vtl/id1>, <org/vtl/var1>, <org/vtl/var2> .
<org/dataset/ds_res> a sdth:DataframeInstance ;
sdth:hasName "ds_res" ;
sdth:wasDerivedFrom <org/dataset/ds_mul> ;
sdth:hasVariableInstance <org/vtl/id1> ;
sdth:hasVariableInstance <org/vtl/var1> ;
sdth:hasVariableInstance <org/vtl/var2> ;
sdth:hasVariableInstance <org/dataset/var_sum> .
sdth:hasVariableInstance <org/vtl/id1>, <org/vtl/var1>, <org/vtl/var2>, <org/vtl/var_sum> .
```
7 changes: 7 additions & 0 deletions vtl-prov/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,13 @@
<artifactId>vtl-parser</artifactId>
<version>1.6.0-SNAPSHOT</version>
</dependency>

<dependency>
<groupId>org.apache.jena</groupId>
<artifactId>apache-jena-libs</artifactId>
<type>pom</type>
<version>5.0.0</version>
</dependency>
</dependencies>

</project>
Loading

0 comments on commit 96bb625

Please sign in to comment.