Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Shape for the tasks-module #1992

Open
madbkr opened this issue Dec 9, 2024 · 0 comments
Open

Shape for the tasks-module #1992

madbkr opened this issue Dec 9, 2024 · 0 comments
Labels
To do Issues that haven't got discussed yet

Comments

@madbkr
Copy link
Contributor

madbkr commented Dec 9, 2024

Description of the issue

As suggested by @stap-m I made a SHACL file that can be updated to understand how the tasks in the new tasks-module are modeled. I added some comments to hopefully make it easily understandable for any reader.
As the comments suggests some of the structure is still missing as there are some axioms that need to be crafted still.

If we have a good place for this file maybe that would be better than it being in the description of an issue.

@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix ex: <http://example.org/> .
@prefix dc: <http://purl.org/dc/terms/> .
@prefix oeo: <http://openenergy-platform.org/ontology/oeo/> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix obo: <http://purl.obolibrary.org/obo/> . 

#Shapes for all the processes (one per task), each process is structured by an appropriate methode
ex:ProcessTechnicalWindShape
    a sh:NodeShape ;
    sh:targetClass oeo:OEO_00390047; #wind potential determination process
    sh:property [
        sh:path oeo:OEO_00390026 ; #structured_by
        sh:node ex:MethodTechnicalWindShape ;
        sh:minCount 1 ;
    ] .

ex:ProcessWindFarmShape
    a sh:NodeShape ;
    sh:targetClass oeo:OEO_00390037 ; #wind farm area determination process
    sh:property [
        sh:path oeo:OEO_00390026 ; #structured_by
        sh:node ex:MethodWindFarmShape ;
        sh:minCount 1 ;
    ] .

ex:ProcessWindCharShape
    a sh:NodeShape ;
    sh:targetClass oeo:OEO_00390007 ; #wind characteristics determination process
    sh:property [
        sh:path oeo:OEO_00390026 ; #structured_by
        sh:node ex:MethodWindCharShape ;
        sh:minCount 1 ;
    ] .

ex:ProcessTechnoEcoShape
    a sh:NodeShape ;
    sh:targetClass oeo:OEO_00390057 ; #techno-economic potential determination process
    sh:property [
        sh:path oeo:OEO_00390026 ; #structured_by
        sh:node ex:MethodTechnoEcoShape ;
        sh:minCount 1 ;
    ] .

ex:ProcessFeasablePotShape
    a sh:NodeShape ;
    sh:targetClass oeo:OEO_00390063; #feasible potental determination process
    sh:property [
        sh:path oeo:OEO_00390026 ; #structured_by
        sh:node ex:MethodFeasablePotShape ;
        sh:minCount 1 ;
    ] .

#Shapes for methods, all of them have an appropriate objective specification as part
ex:MethodTechnicalWindShape
    a sh:NodeShape ;
    sh:targetClass oeo:OEO_00390046; #wind potential determination method
    sh:property [
        sh:path obo:BFO_0000051 ; #has_part
        sh:node ex:ObjecSpecTechnicalWindShape ;
        sh:minCount 1 ;
    ] .


ex:MethodWindFarmShape
    a sh:NodeShape ;
    sh:targetClass oeo:OEO_00390034 ; #wind farm area determination method
    sh:property [
        sh:path obo:BFO_0000051 ; #has_part
        sh:node ex:ObjecSpecWindFarmShape ;
        sh:minCount 1 ;
    ] .

ex:MethodWindCharShape
    a sh:NodeShape ;
    sh:targetClass oeo:OEO_00390002 ; #wind characteristics determination method
    sh:property [
        sh:path obo:BFO_0000051 ; #has_part
        sh:node ex:ObjecSpecWindCharShape ;
        sh:minCount 1 ;
    ] .

ex:MethodTechnoEcoShape
    a sh:NodeShape ;
    sh:targetClass oeo:OEO_00390056 ; #techno-economic potential determination method
    sh:property [
        sh:path obo:BFO_0000051 ; #has_part
        sh:node ex:ObjecSpecTechnoEcoShape ;
        sh:minCount 1 ;
    ] .

ex:MethodFeasablePotShape
    a sh:NodeShape ;
    sh:targetClass oeo:OEO_00390062 ; #feasible potental determination method
    sh:property [
        sh:path obo:BFO_0000051 ; #has_part
        sh:node ex:ObjecSpecFeasablePotShape ;
        sh:minCount 1 ;
    ] .

#Shapes for Objective Specifications are not yet connected to the Actions Specifications but should be as soon as we have discussed, how
ex:ObjecSpecTechnicalWindShape
    a sh:NodeShape ;
    sh:targetClass oeo:OEO_00390045; #determined wind potential
    .

ex:ObjecSpecWindFarmShape
    a sh:NodeShape ;
    sh:targetClass oeo:OEO_00390033 ; #determined wind farm area
    .

ex:ObjecSpecWindCharShape
    a sh:NodeShape ;
    sh:targetClass oeo:OEO_00390004 ; #determined wind characteristics
    .

ex:ObjecSpecTechnoEcoShape
    a sh:NodeShape ;
    sh:targetClass oeo:OEO_00390055 ; #determined techno-economic potential
    .

ex:ObjecSpecFeasablePotShape
    a sh:NodeShape ;
    sh:targetClass oeo:OEO_00390061 ; #determined feasible potential
    .

#Shapes for the "parents" of each subclass. These were only added for better structure in Protégé so maybe we won't need them here
ex:ActionSpecTechnoEcoShape
    a sh:NodeShape ;
    sh:targetClass oeo:OEO_00390048 ; #action specification for techno-economic potential
    .

ex:ActionSpecFeasablePotShape
    a sh:NodeShape ;
    sh:targetClass oeo:OEO_00390058 ; #action specification for the feasible potential
    .

ex:ActionSpecTechnicalWindShape
    a sh:NodeShape ;
    sh:targetClass oeo:OEO_00390038 ; #action specification for the technical wind potential
    .

ex:ActionSpecWindCharShape
    a sh:NodeShape ;
    sh:targetClass oeo:OEO_00390035 ; #action specification for wind characteristics
    .

ex:ActionSpecWindFarmShape
    a sh:NodeShape ;
    sh:targetClass oeo:OEO_00390036 ; #action specification for wind farm development area
    .


#Shape for the Action Specifications for each subtask. These should be linked to the appropriate Objective Specification as soon as we finished discussing, how

ex:ActionSpecCalcEcoPotShape
    a sh:NodeShape ;
    sh:targetClass oeo:OEO_00390054; #calculate economic potential
    sh:property [
        sh:path rdfs:subClassOf ; #unsicher, ob wir das brauchen
        sh:node ex:ActionSpecTechnoEcoShape ;
    ] .

ex:ActionSpecCalcLevelCostShape
    a sh:NodeShape ;
    sh:targetClass oeo:OEO_00390053; #calculate levelised cost of electricity
    sh:property [
        sh:path rdfs:subClassOf ; #unsicher, ob wir das brauchen
        sh:node ex:ActionSpecTechnoEcoShape ;
    ] .

ex:ActionSpecCAPEXShape
    a sh:NodeShape ;
    sh:targetClass oeo:OEO_00390050; #determine capital expenditures
    sh:property [
        sh:path rdfs:subClassOf ; #unsicher, ob wir das brauchen
        sh:node ex:ActionSpecTechnoEcoShape ;
    ] .

ex:ActionSpecDiscInterShape
    a sh:NodeShape ;
    sh:targetClass oeo:OEO_00390052; #determine discount and interest rate
    sh:property [
        sh:path rdfs:subClassOf ; #unsicher, ob wir das brauchen
        sh:node ex:ActionSpecTechnoEcoShape ;
    ] .

ex:ActionSpecOPEXShape
    a sh:NodeShape ;
    sh:targetClass oeo:OEO_00390051; #determine operational expenditures
    sh:property [
        sh:path rdfs:subClassOf ; #unsicher, ob wir das brauchen
        sh:node ex:ActionSpecTechnoEcoShape ;
    ] .

ex:ActionSpecWindTurbineShape
    a sh:NodeShape ;
    sh:targetClass oeo:OEO_00390049; #determine wind turbine lifetime
    sh:property [
        sh:path rdfs:subClassOf ; #unsicher, ob wir das brauchen
        sh:node ex:ActionSpecTechnoEcoShape ;
    ] .

ex:ActionSpecApplyConstShape
    a sh:NodeShape ;
    sh:targetClass oeo:OEO_00390059; #apply constraints for assessment of potential
    sh:property [
        sh:path rdfs:subClassOf ; #unsicher, ob wir das brauchen
        sh:node ex:ActionSpecFeasablePotShape;
    ] .

ex:ActionSpecCalcFeasShape
    a sh:NodeShape ;
    sh:targetClass oeo:OEO_00390060; #calculate feasible potential
    sh:property [
        sh:path rdfs:subClassOf ; #unsicher, ob wir das brauchen
        sh:node ex:ActionSpecFeasablePotShape;
    ] .

ex:ActionSpecAccountWakeShape
    a sh:NodeShape ;
    sh:targetClass oeo:OEO_00390041; #account for wake losses
    sh:property [
        sh:path rdfs:subClassOf ; #unsicher, ob wir das brauchen
        sh:node ex:ActionSpecTechnicalWindShape;
    ] .

ex:ActionSpecCalcTechShape
    a sh:NodeShape ;
    sh:targetClass oeo:OEO_00390044; #calculate technical potential
    sh:property [
        sh:path rdfs:subClassOf ; #unsicher, ob wir das brauchen
        sh:node ex:ActionSpecTechnicalWindShape;
    ] .

ex:ActionSpecDetAnnualShape
    a sh:NodeShape ;
    sh:targetClass oeo:OEO_00390042; #determine annual energy yield
    sh:property [
        sh:path rdfs:subClassOf ; #unsicher, ob wir das brauchen
        sh:node ex:ActionSpecTechnicalWindShape;
    ] .

ex:ActionSpecDetCapDensShape
    a sh:NodeShape ;
    sh:targetClass oeo:OEO_00390066; #determine capacity density
    sh:property [
        sh:path rdfs:subClassOf ; #unsicher, ob wir das brauchen
        sh:node ex:ActionSpecTechnicalWindShape;
    ] .

ex:ActionSpecDetCapFacShape
    a sh:NodeShape ;
    sh:targetClass oeo:OEO_00390043; #determine capacity factor
    sh:property [
        sh:path rdfs:subClassOf ; #unsicher, ob wir das brauchen
        sh:node ex:ActionSpecTechnicalWindShape;
    ] .

ex:ActionSpecPlaceTurbShape
    a sh:NodeShape ;
    sh:targetClass oeo:OEO_00390040; #place turbines within area
    sh:property [
        sh:path rdfs:subClassOf ; #unsicher, ob wir das brauchen
        sh:node ex:ActionSpecTechnicalWindShape;
    ] .

ex:ActionSpecSelectTurbShape
    a sh:NodeShape ;
    sh:targetClass oeo:OEO_00390039; #select appropriate turbine types
    sh:property [
        sh:path rdfs:subClassOf ; #unsicher, ob wir das brauchen
        sh:node ex:ActionSpecTechnicalWindShape;
    ] .

ex:ActionSpecAirDensShape
    a sh:NodeShape ;
    sh:targetClass oeo:OEO_00390014; #air density adjustment
    sh:property [
        sh:path rdfs:subClassOf ; #unsicher, ob wir das brauchen
        sh:node ex:ActionSpecWindCharShape;
    ] .

ex:ActionSpecDataPrepShape
    a sh:NodeShape ;
    sh:targetClass oeo:OEO_00390003; #data preparation
    sh:property [
        sh:path rdfs:subClassOf ; #unsicher, ob wir das brauchen
        sh:node ex:ActionSpecWindCharShape;
    ] .

ex:ActionSpecWindPowDensShape
    a sh:NodeShape ;
    sh:targetClass oeo:OEO_00390017; #wind power density calculation
    sh:property [
        sh:path rdfs:subClassOf ; #unsicher, ob wir das brauchen
        sh:node ex:ActionSpecWindCharShape;
    ] .

ex:ActionSpecWindSpeedCalcShape
    a sh:NodeShape ;
    sh:targetClass oeo:OEO_00390005; #wind speed calculation
    sh:property [
        sh:path rdfs:subClassOf ; #unsicher, ob wir das brauchen
        sh:node ex:ActionSpecWindCharShape;
    ] .

ex:ActionSpecWindSpeedFreqShape
    a sh:NodeShape ;
    sh:targetClass oeo:OEO_00390015; #wind speed frequency analysis
    sh:property [
        sh:path rdfs:subClassOf ; #unsicher, ob wir das brauchen
        sh:node ex:ActionSpecWindCharShape;
    ] .

ex:ActionSpecWindVariShape
    a sh:NodeShape ;
    sh:targetClass oeo:OEO_00390016; #wind variability identification
    sh:property [
        sh:path rdfs:subClassOf ; #unsicher, ob wir das brauchen
        sh:node ex:ActionSpecWindCharShape;
    ] .

ex:ActionSpecDetDevShape
    a sh:NodeShape ;
    sh:targetClass oeo:OEO_00390031; #determine development area
    sh:property [
        sh:path rdfs:subClassOf ; #unsicher, ob wir das brauchen
        sh:node ex:ActionSpecWindFarmShape;
    ] .


ex:ActionSpecDetGeoShape
    a sh:NodeShape ;
    sh:targetClass oeo:OEO_00390032; #determine geographical potential
    sh:property [
        sh:path rdfs:subClassOf ; #unsicher, ob wir das brauchen
        sh:node ex:ActionSpecWindFarmShape;
    ] .

ex:ActionSpecImpSpatShape
    a sh:NodeShape ;
    sh:targetClass oeo:OEO_00390027; #improve spatial resolution
    sh:property [
        sh:path rdfs:subClassOf ; #unsicher, ob wir das brauchen
        sh:node ex:ActionSpecWindFarmShape;
    ] .

ex:ActionSpecPrepExShape
    a sh:NodeShape ;
    sh:targetClass oeo:OEO_00390029; #prepare exclusion criteria datasets
    sh:property [
        sh:path rdfs:subClassOf ; #unsicher, ob wir das brauchen
        sh:node ex:ActionSpecWindFarmShape;
    ] .

ex:ActionSpecRunMultiShape
    a sh:NodeShape ;
    sh:targetClass oeo:OEO_00390030; #run multi-criteria decision analysis
    sh:property [
        sh:path rdfs:subClassOf ; #unsicher, ob wir das brauchen
        sh:node ex:ActionSpecWindFarmShape;
    ] .

ex:ActionSpecSelectExclShape
    a sh:NodeShape ;
    sh:targetClass oeo:OEO_00390028; #select exclusion criteria
    sh:property [
        sh:path rdfs:subClassOf ; #unsicher, ob wir das brauchen
        sh:node ex:ActionSpecWindFarmShape;
    ] .

Ideas of solution

If you already have ideas for the solution describe them here

Workflow checklist

  • [x ] I am aware of the workflow for this repository
@madbkr madbkr added the To do Issues that haven't got discussed yet label Dec 9, 2024
@stap-m stap-m added this to Issues Dec 9, 2024
@stap-m stap-m moved this to To do in Issues Dec 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
To do Issues that haven't got discussed yet
Projects
Status: To do
Development

No branches or pull requests

1 participant