2121
2222<http://onto.vaimee.com/agora#> rdf:type owl:Ontology ;
2323 owl:versionIRI <http://onto.vaimee.com/agora/1.0.21#> ;
24- owl:imports <http://onto.vaimee.com/fsm/1.0.19 > ,
24+ owl:imports <http://onto.vaimee.com/fsm/1.0.20 > ,
2525 <http://www.opengis.net/ont/geosparql> ,
2626 <http://www.w3.org/2006/time#2016> ,
2727 <http://www.w3.org/ns/prov-o-20130430> ,
@@ -82,6 +82,10 @@ skos:relatedMatch rdf:type owl:AnnotationProperty .
8282shacl:datatype rdf:type owl:AnnotationProperty .
8383
8484
85+ # ## http://www.w3.org/ns/shacl#lessThan
86+ shacl:lessThan rdf:type owl:AnnotationProperty .
87+
88+
8589# ## http://www.w3.org/ns/shacl#maxCount
8690shacl:maxCount rdf:type owl:AnnotationProperty .
8791
@@ -140,23 +144,22 @@ foaf:member rdf:type owl:AnnotationProperty .
140144 rdfs:range :Crop .
141145
142146
143- # ## http://onto.vaimee.com/agora#hasCropCycle
144- :hasCropCycle rdf:type owl:ObjectProperty ;
145- rdfs:domain :Crop ;
146- rdfs:range :CropCycle .
147+ # ## http://onto.vaimee.com/agora#hasCropCycleModel
148+ :hasCropCycleModel rdf:type owl:ObjectProperty ;
149+ rdfs:domain :CRITERIA1D ;
150+ rdfs:range criteria :CropCycle .
147151
148152
149- # ## http://onto.vaimee.com/agora#hasIrrigation
150- :hasIrrigation rdf:type owl:ObjectProperty ;
151- rdfs:domain :IrrigationModel ;
152- rdfs:range :Irrigation .
153+ # ## http://onto.vaimee.com/agora#hasIrrigationModel
154+ :hasIrrigationModel rdf:type owl:ObjectProperty ;
155+ rdfs:domain :CRITERIA1D ;
156+ rdfs:range criteria :Irrigation .
153157
154158
155- # ## http://onto.vaimee.com/agora#hasRootDevelopment
156- :hasRootDevelopment rdf:type owl:ObjectProperty ;
157- rdfs:subPropertyOf owl:topObjectProperty ;
158- rdfs:domain :Crop ;
159- rdfs:range :RootDevelopment .
159+ # ## http://onto.vaimee.com/agora#hasRootDevelopmentModel
160+ :hasRootDevelopmentModel rdf:type owl:ObjectProperty ;
161+ rdfs:domain :CRITERIA1D ;
162+ rdfs:range criteria:RootDevelopment .
160163
161164
162165# ## http://onto.vaimee.com/agora#hasSoil
@@ -189,29 +192,7 @@ foaf:member rdf:type owl:AnnotationProperty .
189192# ## http://onto.vaimee.com/agora/criteria#hasCrop
190193criteria:hasCrop rdf:type owl:ObjectProperty ;
191194 rdfs:subPropertyOf :hasCrop ;
192- rdfs:domain criteria:Irrigation ;
193- rdfs:range criteria:Crop .
194-
195-
196- # ## http://onto.vaimee.com/agora/criteria#hasCropCycle
197- criteria:hasCropCycle rdf:type owl:ObjectProperty ;
198- rdfs:subPropertyOf :hasCropCycle ;
199- rdfs:domain criteria:Irrigation ;
200- rdfs:range criteria:CropCycle .
201-
202-
203- # ## http://onto.vaimee.com/agora/criteria#hasIrrigation
204- criteria:hasIrrigation rdf:type owl:ObjectProperty ;
205- rdfs:subPropertyOf :hasIrrigation ;
206- rdfs:domain criteria:Irrigation ;
207- rdfs:range criteria:Irrigation .
208-
209-
210- # ## http://onto.vaimee.com/agora/criteria#hasRootDevelopment
211- criteria:hasRootDevelopment rdf:type owl:ObjectProperty ;
212- rdfs:subPropertyOf :hasRootDevelopment ;
213- rdfs:domain criteria:Irrigation ;
214- rdfs:range criteria:RootDevelopment .
195+ rdfs:domain criteria:Irrigation .
215196
216197
217198# ################################################################
@@ -271,7 +252,7 @@ criteria:hasRootDevelopment rdf:type owl:ObjectProperty ;
271252# ## http://onto.vaimee.com/agora/criteria#computeLateralDrainage
272253criteria:computeLateralDrainage rdf:type owl:DatatypeProperty ;
273254 rdfs:subPropertyOf owl:topDataProperty ;
274- rdfs:domain criteria:Irrigation ;
255+ rdfs:domain :CRITERIA1D ;
275256 rdfs:range xsd:boolean .
276257
277258
@@ -413,7 +394,7 @@ criteria:maxHeightSurfacePuddle rdf:type owl:DatatypeProperty ;
413394# ## http://onto.vaimee.com/agora/criteria#numericalSolution
414395criteria:numericalSolution rdf:type owl:DatatypeProperty ;
415396 rdfs:subPropertyOf owl:topDataProperty ;
416- rdfs:domain criteria:Irrigation ;
397+ rdfs:domain :CRITERIA1D ;
417398 rdfs:range xsd:boolean .
418399
419400
@@ -442,21 +423,21 @@ criteria:psiLeaf rdf:type owl:DatatypeProperty ;
442423# ## http://onto.vaimee.com/agora/criteria#rawFraction
443424criteria:rawFraction rdf:type owl:DatatypeProperty ;
444425 rdfs:subPropertyOf owl:topDataProperty ;
445- rdfs:domain criteria:Crop ;
426+ rdfs:domain criteria:CropCycle ;
446427 rdfs:range xsd:decimal .
447428
448429
449430# ## http://onto.vaimee.com/agora/criteria#restartDate
450431criteria:restartDate rdf:type owl:DatatypeProperty ;
451432 rdfs:subPropertyOf owl:topDataProperty ;
452- rdfs:domain criteria:Irrigation ;
433+ rdfs:domain :CRITERIA1D ;
453434 rdfs:range xsd:dateTime .
454435
455436
456437# ## http://onto.vaimee.com/agora/criteria#restartState
457438criteria:restartState rdf:type owl:DatatypeProperty ;
458439 rdfs:subPropertyOf owl:topDataProperty ;
459- rdfs:domain criteria:Irrigation ;
440+ rdfs:domain :CRITERIA1D ;
460441 rdfs:range xsd:boolean .
461442
462443
@@ -491,35 +472,35 @@ criteria:rootShapeDeformation rdf:type owl:DatatypeProperty ;
491472# ## http://onto.vaimee.com/agora/criteria#saveDate
492473criteria:saveDate rdf:type owl:DatatypeProperty ;
493474 rdfs:subPropertyOf owl:topDataProperty ;
494- rdfs:domain criteria:Irrigation ;
475+ rdfs:domain :CRITERIA1D ;
495476 rdfs:range xsd:dateTime .
496477
497478
498479# ## http://onto.vaimee.com/agora/criteria#saveState
499480criteria:saveState rdf:type owl:DatatypeProperty ;
500481 rdfs:subPropertyOf owl:topDataProperty ;
501- rdfs:domain criteria:Irrigation ;
482+ rdfs:domain :CRITERIA1D ;
502483 rdfs:range xsd:boolean .
503484
504485
505486# ## http://onto.vaimee.com/agora/criteria#slope
506487criteria:slope rdf:type owl:DatatypeProperty ;
507488 rdfs:subPropertyOf owl:topDataProperty ;
508- rdfs:domain criteria:Irrigation ;
489+ rdfs:domain :CRITERIA1D ;
509490 rdfs:range xsd:decimal .
510491
511492
512493# ## http://onto.vaimee.com/agora/criteria#sowingDoy
513494criteria:sowingDoy rdf:type owl:DatatypeProperty ;
514495 rdfs:subPropertyOf owl:topDataProperty ;
515- rdfs:domain criteria:Crop ;
496+ rdfs:domain criteria:CropCycle ;
516497 rdfs:range xsd:integer .
517498
518499
519500# ## http://onto.vaimee.com/agora/criteria#stressTolerance
520501criteria:stressTolerance rdf:type owl:DatatypeProperty ;
521502 rdfs:subPropertyOf owl:topDataProperty ;
522- rdfs:domain criteria:Crop ;
503+ rdfs:domain criteria:CropCycle ;
523504 rdfs:range xsd:decimal .
524505
525506
@@ -537,32 +518,32 @@ criteria:upperThermalThreshold rdf:type owl:DatatypeProperty ;
537518 rdfs:range xsd:decimal .
538519
539520
521+ # ## http://onto.vaimee.com/agora/criteria#useWaterRetentionFitting
522+ criteria:useWaterRetentionFitting rdf:type owl:DatatypeProperty ;
523+ rdfs:subPropertyOf owl:topDataProperty ;
524+ rdfs:domain :CRITERIA1D ;
525+ rdfs:range xsd:boolean .
526+
527+
540528# ## http://onto.vaimee.com/agora/criteria#useWaterTable
541529criteria:useWaterTable rdf:type owl:DatatypeProperty ;
542530 rdfs:subPropertyOf owl:topDataProperty ;
543- rdfs:domain criteria:Irrigation ;
531+ rdfs:domain :CRITERIA1D ;
544532 rdfs:range xsd:boolean .
545533
546534
547- # ## http://onto.vaimee.com/agora/criteria#waterContent
548- criteria:waterContent rdf:type owl:DatatypeProperty ;
549- rdfs:subPropertyOf owl:topDataProperty ;
550- rdfs:domain criteria:Irrigation ;
551- rdfs:range xsd:string .
552-
553-
554- # ## http://onto.vaimee.com/agora/criteria#waterPotential
555- criteria:waterPotential rdf:type owl:DatatypeProperty ;
556- rdfs:subPropertyOf owl:topDataProperty ;
557- rdfs:domain criteria:Irrigation ;
558- rdfs:range xsd:string .
535+ # ## http://onto.vaimee.com/agora/criteria#waterContentDepth
536+ criteria:waterContentDepth rdf:type owl:DatatypeProperty ;
537+ rdfs:subPropertyOf owl:topDataProperty ;
538+ rdfs:domain :CRITERIA1D ;
539+ rdfs:range xsd:string .
559540
560541
561- # ## http://onto.vaimee.com/agora/criteria#waterRetentionFitting
562- criteria:waterRetentionFitting rdf:type owl:DatatypeProperty ;
563- rdfs:subPropertyOf owl:topDataProperty ;
564- rdfs:domain criteria:Irrigation ;
565- rdfs:range xsd:boolean .
542+ # ## http://onto.vaimee.com/agora/criteria#waterPotentialDepth
543+ criteria:waterPotentialDepth rdf:type owl:DatatypeProperty ;
544+ rdfs:subPropertyOf owl:topDataProperty ;
545+ rdfs:domain :CRITERIA1D ;
546+ rdfs:range xsd:string .
566547
567548
568549# ################################################################
@@ -593,6 +574,26 @@ criteria:waterRetentionFitting rdf:type owl:DatatypeProperty ;
593574 rdfs:label " Atmosphere" .
594575
595576
577+ # ## http://onto.vaimee.com/agora#CRITERIA1D
578+ :CRITERIA1D rdf:type owl:Class ;
579+ rdfs:subClassOf :Model ,
580+ [ rdf:type owl:Restriction ;
581+ owl:onProperty :hasCropCycleModel ;
582+ owl:qualifiedCardinality " 1" ^^xsd:nonNegativeInteger ;
583+ owl:onClass criteria:CropCycle
584+ ] ,
585+ [ rdf:type owl:Restriction ;
586+ owl:onProperty :hasIrrigationModel ;
587+ owl:qualifiedCardinality " 1" ^^xsd:nonNegativeInteger ;
588+ owl:onClass criteria:Irrigation
589+ ] ,
590+ [ rdf:type owl:Restriction ;
591+ owl:onProperty :hasRootDevelopmentModel ;
592+ owl:qualifiedCardinality " 1" ^^xsd:nonNegativeInteger ;
593+ owl:onClass criteria:RootDevelopment
594+ ] .
595+
596+
596597# ## http://onto.vaimee.com/agora#Crop
597598:Crop rdf:type owl:Class ;
598599 rdfs:subClassOf sosa:FeatureOfInterest ,
@@ -621,9 +622,9 @@ criteria:waterRetentionFitting rdf:type owl:DatatypeProperty ;
621622 skos:closeMatch <http://aims.fao.org/aos/agrovoc/c_1972> .
622623
623624
624- # ## http://onto.vaimee.com/agora#CropCycle
625- :CropCycle rdf:type owl:Class ;
626- rdfs:subClassOf :Model .
625+ # ## http://onto.vaimee.com/agora#CropCycleModel
626+ :CropCycleModel rdf:type owl:Class ;
627+ rdfs:subClassOf :Model .
627628
628629
629630# ## http://onto.vaimee.com/agora#Field
@@ -671,6 +672,16 @@ criteria:waterRetentionFitting rdf:type owl:DatatypeProperty ;
671672 sosa:Sensor .
672673
673674
675+ # ## http://onto.vaimee.com/agora#ForecastWeatherObservation
676+ :ForecastWeatherObservation rdf:type owl:Class ;
677+ rdfs:subClassOf :WeatherObservation .
678+
679+
680+ # ## http://onto.vaimee.com/agora#HistoricalWeatherObservation
681+ :HistoricalWeatherObservation rdf:type owl:Class ;
682+ rdfs:subClassOf :WeatherObservation .
683+
684+
674685# ## http://onto.vaimee.com/agora#Irrigation
675686:Irrigation rdf:type owl:Class ;
676687 rdfs:subClassOf sosa:Actuator .
@@ -686,9 +697,9 @@ criteria:waterRetentionFitting rdf:type owl:DatatypeProperty ;
686697 rdfs:subClassOf sosa:Procedure .
687698
688699
689- # ## http://onto.vaimee.com/agora#RootDevelopment
690- :RootDevelopment rdf:type owl:Class ;
691- rdfs:subClassOf :Model .
700+ # ## http://onto.vaimee.com/agora#RootDevelopmentModel
701+ :RootDevelopmentModel rdf:type owl:Class ;
702+ rdfs:subClassOf :Model .
692703
693704
694705# ## http://onto.vaimee.com/agora#Soil
@@ -849,14 +860,14 @@ criteria:waterRetentionFitting rdf:type owl:DatatypeProperty ;
849860 sosa:Sensor .
850861
851862
852- # ## http://onto.vaimee.com/agora/criteria#Crop
853- criteria:Crop rdf:type owl:Class ;
854- rdfs:subClassOf :Crop .
863+ # ## http://onto.vaimee.com/agora#WeatherObservation
864+ :WeatherObservation rdf:type owl:Class ;
865+ rdfs:subClassOf sosa:Observation .
855866
856867
857868# ## http://onto.vaimee.com/agora/criteria#CropCycle
858869criteria:CropCycle rdf:type owl:Class ;
859- rdfs:subClassOf :CropCycle .
870+ rdfs:subClassOf :CropCycleModel .
860871
861872
862873# ## http://onto.vaimee.com/agora/criteria#Irrigation
@@ -869,7 +880,7 @@ criteria:Irrigation rdf:type owl:Class ;
869880
870881# ## http://onto.vaimee.com/agora/criteria#RootDevelopment
871882criteria:RootDevelopment rdf:type owl:Class ;
872- rdfs:subClassOf :RootDevelopment .
883+ rdfs:subClassOf :RootDevelopmentModel .
873884
874885
875886# ## http://onto.vaimee.com/fsm#State
@@ -888,6 +899,23 @@ shacl:NodeShape rdf:type owl:Class .
888899# Individuals
889900# ################################################################
890901
902+ # ## http://onto.vaimee.com/agora#SoilHorizonShape
903+ :SoilHorizonShape rdf:type owl:NamedIndividual ,
904+ shacl:NodeShape ;
905+ shacl:property [ shacl:datatype xsd:decimal ;
906+ shacl:lessThan :lowerDepth ;
907+ shacl:maxCount 1 ;
908+ shacl:minCount 1 ;
909+ shacl:path :upperDepth
910+ ] ,
911+ [ shacl:datatype xsd:decimal ;
912+ shacl:maxCount 1 ;
913+ shacl:minCount 1 ;
914+ shacl:path :lowerDepth
915+ ] ;
916+ shacl:targetClass :SoilHorizon .
917+
918+
891919# ## http://onto.vaimee.com/agora#SoilTextureResultShape
892920:SoilTextureResultShape rdf:type owl:NamedIndividual ,
893921 shacl:NodeShape ;
@@ -918,10 +946,48 @@ shacl:NodeShape rdf:type owl:Class .
918946 FILTER ((?clay + ?sand + ?silt) != 100)
919947 }
920948 """
921- ] ;
949+ ] ;
922950 shacl:targetClass :SoilTextureResult .
923951
924952
953+ # ## http://onto.vaimee.com/agora#HistoricalWeatherObservationShape
954+ :HistoricalWeatherObservationShape rdf:type owl:NamedIndividual ,
955+ shacl:NodeShape ;
956+ shacl:sparql [ shacl:message " Historical weather observations must have phenomenon time before result time." ;
957+ shacl:select """
958+ PREFIX sosa: <http://www.w3.org/ns/sosa/>
959+ PREFIX time: <http://www.w3.org/2006/time#>
960+
961+ SELECT $this
962+ WHERE {
963+ $this sosa:phenomenonTime/time:inXSDDateTime ?ptime ;
964+ sosa:resultTime ?resultTime .
965+ FILTER (?ptime >= ?resultTime)
966+ }
967+ """
968+ ] ;
969+ shacl:targetClass :HistoricalWeatherObservation .
970+
971+
972+ # ## http://onto.vaimee.com/agora#ForecastWeatherObservationShape
973+ :ForecastWeatherObservationShape rdf:type owl:NamedIndividual ,
974+ shacl:NodeShape ;
975+ shacl:sparql [ shacl:message " Forecast weather observations must have phenomenon time equal to or after result time." ;
976+ shacl:select """
977+ PREFIX sosa: <http://www.w3.org/ns/sosa/>
978+ PREFIX time: <http://www.w3.org/2006/time#>
979+
980+ SELECT $this
981+ WHERE {
982+ $this sosa:phenomenonTime/time:inXSDDateTime ?ptime ;
983+ sosa:resultTime ?resultTime .
984+ FILTER (?ptime < ?resultTime)
985+ }
986+ """
987+ ] ;
988+ shacl:targetClass :ForecastWeatherObservation .
989+
990+
925991# ## http://onto.vaimee.com/agora#availableWater
926992:availableWater rdf:type owl:NamedIndividual ,
927993 sosa:ObservableProperty ;
0 commit comments