https://cacontology.projectvic.org/infrastructure#InfrastructureHostingCrossReferenceShape
Validates that platform infrastructure has hosting relationships.
Instances of cacontology-infrastructure:PlatformInfrastructure can have the following properties:
PROPERTY |
MIN COUNT |
MAX COUNT |
TYPE |
|
|---|---|---|---|---|
| cacontology-infrastructure:PlatformInfrastructure | ||||
| cacontology-infrastructure:hasInfrastructureBeginPoint | 1 |
xsd:dateTimeStamp
|
||
| cacontology-infrastructure:hasInfrastructureEndPoint | 1 |
xsd:dateTimeStamp
|
||
| cacontology-infrastructure:hasInfrastructurePerformance | 1 |
xsd:string
|
||
| cacontology-infrastructure:hasInfrastructureReliability | 1 |
xsd:double
|
||
| cacontology-infrastructure:hasInfrastructureScalability | 1 |
xsd:string
|
||
| cacontology-infrastructure:hasInfrastructureVulnerability | 1 |
xsd:string
|
||
| 0 | 1 |
xsd:string
|
||
@prefix cacontology-infrastructure: <https://cacontology.projectvic.org/infrastructure#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
cacontology-infrastructure:InfrastructureHostingCrossReferenceShape a sh:NodeShape ;
rdfs:label "Infrastructure Hosting Cross Reference Shape"@en ;
rdfs:comment "Validates that platform infrastructure has hosting relationships."@en ;
sh:sparql [ sh:message "Platform infrastructure should have hosting provider relationships."@en ;
sh:select """
SELECT $this
WHERE {
$this a cacontology-infrastructure:PlatformInfrastructure .
FILTER NOT EXISTS {
$this cacontology-infrastructure:hostedBy ?provider .
?provider a cacontology-infrastructure:HostingProvider .
}
}
""" ] ;
sh:targetClass cacontology-infrastructure:PlatformInfrastructure .