https://github.com/UFOKN/Knowledge-Graph
Tip revision: 4b80c683fa9b83d85e3cb09cadc608069172e308 authored by David Kedrowski on 19 April 2024, 19:34:46 UTC
updated for hasCriticalFloodObservation relation
updated for hasCriticalFloodObservation relation
Tip revision: 4b80c68
ufokn_utility_connection.ttl
@prefix : <http://schema.ufokn.org/utility-connection/v2.1/> .
@prefix ufokn: <http://schema.ufokn.org/core/v2.1/> .
@prefix ufokn_c: <http://schema.ufokn.org/utility-connection/v2.1/> .
@prefix ufokn_fl: <http://schema.ufokn.org/flood/v2.1/> .
@prefix ufokn_geo: <http://schema.ufokn.org/geo/v2.1/> .
@prefix geo: <http://www.opengis.net/ont/geosparql#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix xml: <http://www.w3.org/XML/1998/namespace> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sosa: <http://www.w3.org/ns/sosa/> .
@prefix time: <http://www.w3.org/2006/time#> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@base <http://schema.ufokn.org/utility-connection/v2.1/> .
<http://schema.ufokn.org/utility-connection/v2.1/> rdf:type owl:Ontology ;
owl:versionIRI <http://schema.ufokn.org/utility-connection/v2.1/> ;
owl:imports ufokn: ;
dcterms:created "2021-07-02"@en-us ;
dcterms:creator <http://orcid.org/0000-0002-5331-5052> ,
<http://orcid.org/0000-0002-9070-3169> ;
dcterms:description "Part of the UFOKN ontology for describing dependencies between utility assets."@en-us ;
dcterms:issued "2021-04-12"^^xsd:date ;
dcterms:modified "2024-02-27"^^xsd:date ;
dcterms:publisher <http://ufokn.org> ;
dcterms:source "https://raw.githubusercontent.com/UFOKN/Knowledge-Graph/master/ontologies/v2.1/ufokn_utility_connection.ttl"^^<xsd:anyURI> ;
dcterms:title "Utility Connection Pattern of the UFOKN Ontology"@en-us ;
rdfs:label "Utility Connection Pattern of the UFOKN Ontology"@en-us ;
owl:versionInfo "2.1"@en-us .
#################################################################
# Annotation properties
#################################################################
### http://purl.org/dc/terms/created
dcterms:created rdf:type owl:AnnotationProperty .
### http://purl.org/dc/terms/creator
dcterms:creator rdf:type owl:AnnotationProperty .
### http://purl.org/dc/terms/description
dcterms:description rdf:type owl:AnnotationProperty .
### http://purl.org/dc/terms/issued
dcterms:issued rdf:type owl:AnnotationProperty .
### http://purl.org/dc/terms/modified
dcterms:modified rdf:type owl:AnnotationProperty .
### http://purl.org/dc/terms/publisher
dcterms:publisher rdf:type owl:AnnotationProperty .
### http://purl.org/dc/terms/source
dcterms:source rdf:type owl:AnnotationProperty .
### http://purl.org/dc/terms/title
dcterms:title rdf:type owl:AnnotationProperty .
#################################################################
# Object Properties
#################################################################
### http://schema.ufokn.org/utility-connection/v2.1/areaServedBy
ufokn_c:areaServedBy rdf:type owl:ObjectProperty ;
rdfs:subPropertyOf ufokn_c:servedBy ;
owl:inverseOf ufokn_c:servesArea .
### http://schema.ufokn.org/utility-connection/v2.1/ofUtilityType
ufokn_c:ofUtilityType rdf:type owl:ObjectProperty ;
rdfs:domain [ rdf:type owl:Class ;
owl:unionOf ( ufokn_c:UtilityAsset
ufokn_c:UtilityService
ufokn_c:UtilityServiceArea
)
] ;
rdfs:range ufokn_c:UtilityType .
### http://schema.ufokn.org/utility-connection/v2.1/providedByUtilityAsset
ufokn_c:providedByUtilityAsset rdf:type owl:ObjectProperty ;
owl:inverseOf ufokn_c:providesUtilityService .
### declares which provider (company, organization) provides the utility service
### http://schema.ufokn.org/utility-connection/v2.1/providedByProvider
ufokn_c:providedByProvider rdf:type owl:ObjectProperty ;
rdfs:domain ufokn_c:UtilityService ;
rdfs:range ufokn_c:UtilityProvider .
### http://schema.ufokn.org/utility-connection/v2.1/providesUtilityService
ufokn_c:providesUtilityService rdf:type owl:ObjectProperty ;
rdfs:domain ufokn_c:UtilityAsset ;
rdfs:range ufokn_c:UtilityService .
### propagate the utility type from the service any assets provides to the asset itself
### http://schema.ufokn.org/utility-connection/v2.1/assetOfUtilityType
ufokn_c:assetOfUtilityType rdf:type owl:ObjectProperty ;
owl:propertyChainAxiom (ufokn_c:providesUtilityService ufokn_c:ofUtilityType) ;
rdfs:subPropertyOf ufokn_c:ofUtilityType .
### http://schema.ufokn.org/utility-connection/v2.1/requiresUtilityType
ufokn_c:requiresUtilityType rdf:type owl:ObjectProperty ;
rdfs:domain ufokn:FeatureAtRisk ;
rdfs:range ufokn_c:UtilityType .
### http://schema.ufokn.org/utility-connection/v2.1/utilityTypeRequiredBy
ufokn_c:utilityTypeRequiredBy owl:inverseOf ufokn_c:requiresUtilityType .
### http://schema.ufokn.org/utility-connection/v2.1/servedBy
ufokn_c:servedBy rdf:type owl:ObjectProperty ;
owl:inverseOf :serves ;
rdfs:domain ufokn:FeatureOrRegionAtRisk ;
rdfs:range ufokn_c:UtilityService .
### http://schema.ufokn.org/utility-connection/v2.1/servedByArea
ufokn_c:servedByArea rdf:type owl:ObjectProperty ;
owl:inverseOf :servesArea ;
rdfs:domain ufokn_c:UtilityServiceArea ;
rdfs:range ufokn_c:UtilityService .
### http://schema.ufokn.org/utility-connection/v2.1/servedByFeature
ufokn_c:servedByFeature rdf:type owl:ObjectProperty ;
owl:inverseOf :servesFeature ;
rdfs:domain ufokn:FeatureAtRisk ;
rdfs:range ufokn_c:UtilityService .
### http://schema.ufokn.org/utility-connection/v2.1/servedElectricBy
ufokn_c:servedElectricBy rdf:type owl:ObjectProperty ;
rdfs:subPropertyOf ufokn_c:servedBy ;
owl:inverseOf ufokn_c:servesElectric .
### http://schema.ufokn.org/utility-connection/v2.1/servedPublicTransitBy
ufokn_c:servedPublicTransitBy rdf:type owl:ObjectProperty ;
rdfs:subPropertyOf ufokn_c:servedBy ;
owl:inverseOf ufokn_c:servesPublicTransit .
### http://schema.ufokn.org/utility-connection/v2.1/servedSewerBy
ufokn_c:servedSewerBy rdf:type owl:ObjectProperty ;
rdfs:subPropertyOf ufokn_c:servedBy ;
owl:inverseOf ufokn_c:servesSewer .
### http://schema.ufokn.org/utility-connection/v2.1/servedStormwaterBy
ufokn_c:servedStormwaterBy rdf:type owl:ObjectProperty ;
rdfs:subPropertyOf ufokn_c:servedBy ;
owl:inverseOf ufokn_c:servesStormwater .
### http://schema.ufokn.org/utility-connection/v2.1/servedWaterBy
ufokn_c:servedWaterBy rdf:type owl:ObjectProperty ;
rdfs:subPropertyOf ufokn_c:servedBy ;
owl:inverseOf ufokn_c:servesWater .
### http://schema.ufokn.org/utility-connection/v2.1/serves
ufokn_c:serves rdf:type owl:ObjectProperty ;
rdfs:domain ufokn_c:UtilityService ;
rdfs:range ufokn:FeatureOrRegionAtRisk .
### http://schema.ufokn.org/utility-connection/v2.1/servesArea
ufokn_c:servesArea rdf:type owl:ObjectProperty ;
rdfs:subPropertyOf ufokn_c:serves ;
rdfs:domain ufokn_c:UtilityService ;
rdfs:range ufokn_c:UtilityServiceArea .
### http://schema.ufokn.org/utility-connection/v2.1/servesFeature
ufokn_c:servesFeature rdf:type owl:ObjectProperty ;
rdfs:subPropertyOf ufokn_c:serves ;
rdfs:domain ufokn_c:UtilityService ;
rdfs:range ufokn:FeatureAtRisk ;
owl:propertyChainAxiom (ufokn_c:servesArea geo:sfContains).
### http://schema.ufokn.org/utility-connection/v2.1/servesElectric
ufokn_c:servesElectric rdf:type owl:ObjectProperty ;
rdfs:subPropertyOf ufokn_c:serves .
### http://schema.ufokn.org/utility-connection/v2.1/servesPublicTransit
ufokn_c:servesPublicTransit rdf:type owl:ObjectProperty ;
rdfs:subPropertyOf ufokn_c:serves .
### http://schema.ufokn.org/utility-connection/v2.1/servesSewer
ufokn_c:servesSewer rdf:type owl:ObjectProperty ;
rdfs:subPropertyOf ufokn_c:serves .
### http://schema.ufokn.org/utility-connection/v2.1/servesStormwater
ufokn_c:servesStormwater rdf:type owl:ObjectProperty ;
rdfs:subPropertyOf ufokn_c:serves .
### http://schema.ufokn.org/utility-connection/v2.1/servesWater
ufokn_c:servesWater rdf:type owl:ObjectProperty ;
rdfs:subPropertyOf ufokn_c:serves .
### defined property that is a shortcut between an asset that provide a utility service and the asset that consumes the service
### http://schema.ufokn.org/utility-connection/v2.1/assetServes
ufokn_c:assetServes rdf:type owl:ObjectProperty ;
owl:propertyChainAxiom (ufokn_c:providesUtilityService ufokn_c:serves) ;
rdfs:subPropertyOf ufokn_c:assetServesTC .
### Transitive closure of the assetServes relation
### http://schema.ufokn.org/utility-connection/v2.1/assetServesTC
ufokn_c:assetServesTC rdf:type owl:ObjectProperty ,
owl:TransitiveProperty .
### defined property that relates all assets A to other assets B that require the type of asset that A is a type of.
### http://schema.ufokn.org/utility-connection/v2.1/assetOfTypeRequiredBy
ufokn_c:assetOfTypeRequiredBy rdf:type owl:ObjectProperty ;
owl:propertyChainAxiom (ufokn_c:assetOfUtilityType ufokn_c:utilityTypeRequiredBy) .
### defined property that picks out the assetServes relations where the serving asset is required by the served asset and thus if the serving asset fails, the served asset experiences a critical outage
### Notice that this is not enough to infer that something criticallyServes something else because this is the opposite direction: everything that criticallyServes something else must be in the two relationships assetServes and assetOfTypeRequiredBy but when these two relationships are met, it may or may not suffice.
### This requires a custom rule: (x assetServes y) ^ (x assetOfTypeRequiredBy y) -> x assetCriticallyServes y
### http://schema.ufokn.org/utility-connection/v2.1/assetCriticallyServes
ufokn_c:assetCriticallyServes rdf:type owl:ObjectProperty ;
rdfs:subPropertyOf ufokn_c:assetServes,
ufokn_c:assetOfTypeRequiredBy ,
ufokn_c:assetCriticallyServesTC .
### Transitive closure of the assetCriticallyServes relation
### http://schema.ufokn.org/utility-connection/v2.1/assetCriticallyServesTC
ufokn_c:assetCriticallyServesTC rdf:type owl:ObjectProperty ,
owl:TransitiveProperty .
#################################################################
# Classes
#################################################################
### included here for reference purposes only in Protege; defined in Geosparql
### http://www.opengis.net/ont/geosparql#Feature
geo:Feature rdf:type owl:Class .
### included here for reference purposes only in Protege; defined in Geosparql
### http://www.opengis.net/ont/geosparql#Geometry
geo:Geometry rdf:type owl:Class .
### this is part of the UFOKN Core ontology; included here again for reference purposes
### http://schema.ufokn.org/utility-connection/v2.1/FeatureOrRegionAtRisk
ufokn:FeatureOrRegionAtRisk rdf:type owl:Class ;
rdfs:subClassOf geo:Feature .
### this is part of the UFOKN Core ontology; included here again for reference purposes
### http://schema.ufokn.org/core/v2.1/FeatureAtRisk
ufokn:FeatureAtRisk rdf:type owl:Class ;
rdfs:subClassOf ufokn:FeatureOrRegionAtRisk .
### this is part of the UFOKN Core ontology; included here again for reference purposes
### http://schema.ufokn.org/core/v2.1/RegionOfInterest
ufokn:RegionOfInterest rdf:type owl:Class ;
rdfs:subClassOf geo:Feature .
### http://schema.ufokn.org/utility-connection/v2.1/StormwaterServiceArea
ufokn_c:StormwaterServiceArea rdf:type owl:Class ;
owl:equivalentClass [ owl:intersectionOf ( ufokn_c:UtilityServiceArea
[ rdf:type owl:Restriction ;
owl:onProperty ufokn_c:ofUtilityType ;
owl:hasValue ufokn_c:StormwaterService
]
) ;
rdf:type owl:Class
] ;
rdfs:subClassOf ufokn_c:UtilityServiceArea .
### http://schema.ufokn.org/utility-connection/v2.1/StormwaterUtilityAsset
ufokn_c:StormwaterUtilityAsset rdf:type owl:Class ;
owl:equivalentClass [ owl:intersectionOf ( ufokn_c:UtilityAsset
[ rdf:type owl:Restriction ;
owl:onProperty ufokn_c:ofUtilityType ;
owl:hasValue ufokn_c:StormwaterService
]
) ;
rdf:type owl:Class
] ;
rdfs:subClassOf ufokn_c:UtilityAsset .
### http://schema.ufokn.org/utility-connection/v2.1/ElectricServiceArea
ufokn_c:ElectricServiceArea rdf:type owl:Class ;
owl:equivalentClass [ owl:intersectionOf ( ufokn_c:UtilityServiceArea
[ rdf:type owl:Restriction ;
owl:onProperty ufokn_c:ofUtilityType ;
owl:hasValue ufokn_c:ElectricService
]
) ;
rdf:type owl:Class
] ;
rdfs:subClassOf ufokn_c:UtilityServiceArea .
### http://schema.ufokn.org/utility-connection/v2.1/ElectricUtilityAsset
ufokn_c:ElectricUtilityAsset rdf:type owl:Class ;
owl:equivalentClass [ owl:intersectionOf ( ufokn_c:UtilityAsset
[ rdf:type owl:Restriction ;
owl:onProperty ufokn_c:ofUtilityType ;
owl:hasValue ufokn_c:ElectricService
]
) ;
rdf:type owl:Class
] ;
rdfs:subClassOf ufokn_c:UtilityAsset .
### http://schema.ufokn.org/utility-connection/v2.1/SewerServiceArea
ufokn_c:SewerServiceArea rdf:type owl:Class ;
owl:equivalentClass [ owl:intersectionOf ( ufokn_c:UtilityServiceArea
[ rdf:type owl:Restriction ;
owl:onProperty ufokn_c:ofUtilityType ;
owl:hasValue ufokn_c:SewerService
]
) ;
rdf:type owl:Class
] ;
rdfs:subClassOf ufokn_c:UtilityServiceArea .
### http://schema.ufokn.org/utility-connection/v2.1/SewerUtilityAsset
ufokn_c:SewerUtilityAsset rdf:type owl:Class ;
owl:equivalentClass [ owl:intersectionOf ( ufokn_c:UtilityAsset
[ rdf:type owl:Restriction ;
owl:onProperty ufokn_c:ofUtilityType ;
owl:hasValue ufokn_c:SewerService
]
) ;
rdf:type owl:Class
] ;
rdfs:subClassOf ufokn_c:UtilityAsset .
### http://schema.ufokn.org/utility-connection/v2.1/WaterServiceArea
ufokn_c:WaterServiceArea rdf:type owl:Class ;
owl:equivalentClass [ owl:intersectionOf ( ufokn_c:UtilityServiceArea
[ rdf:type owl:Restriction ;
owl:onProperty ufokn_c:ofUtilityType ;
owl:hasValue ufokn_c:WaterService
]
) ;
rdf:type owl:Class
] ;
rdfs:subClassOf ufokn_c:UtilityServiceArea .
### http://schema.ufokn.org/utility-connection/v2.1/WaterUtilityAsset
ufokn_c:WaterUtilityAsset rdf:type owl:Class ;
owl:equivalentClass [ owl:intersectionOf ( ufokn_c:UtilityAsset
[ rdf:type owl:Restriction ;
owl:onProperty ufokn_c:ofUtilityType ;
owl:hasValue ufokn_c:WaterService
]
) ;
rdf:type owl:Class
] ;
rdfs:subClassOf ufokn_c:UtilityAsset .
### http://schema.ufokn.org/utility-connection/v2.1/MedicalServiceArea
ufokn_c:MedicalServiceArea rdf:type owl:Class ;
owl:equivalentClass [ owl:intersectionOf ( ufokn_c:UtilityServiceArea
[ rdf:type owl:Restriction ;
owl:onProperty ufokn_c:ofUtilityType ;
owl:hasValue ufokn_c:MedicalService
]
) ;
rdf:type owl:Class
] ;
rdfs:subClassOf ufokn_c:UtilityServiceArea .
### http://schema.ufokn.org/utility-connection/v2.1/MedicalUtilityAsset
ufokn_c:MedicalUtilityAsset rdf:type owl:Class ;
owl:equivalentClass [ owl:intersectionOf ( ufokn_c:UtilityAsset
[ rdf:type owl:Restriction ;
owl:onProperty ufokn_c:ofUtilityType ;
owl:hasValue ufokn_c:MedicalService
]
) ;
rdf:type owl:Class
] ;
rdfs:subClassOf ufokn_c:UtilityAsset .
### http://schema.ufokn.org/utility-connection/v2.1/UtilityAsset
ufokn_c:UtilityAsset rdf:type owl:Class ;
rdfs:subClassOf ufokn:FeatureAtRisk ,
[ rdf:type owl:Restriction ;
owl:onProperty ufokn_c:ofUtilityType ;
owl:someValuesFrom ufokn_c:UtilityType
] ,
[ rdf:type owl:Restriction ;
owl:onProperty ufokn_c:ofUtilityType ;
owl:allValuesFrom ufokn_c:UtilityType
] ,
[ rdf:type owl:Restriction ;
owl:onProperty ufokn_c:ofUtilityType ;
owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
owl:onClass ufokn_c:UtilityType
] .
### http://schema.ufokn.org/utility-connection/v2.1/UtilityProvider
ufokn_c:UtilityProvider rdf:type owl:Class ;
owl:disjointWith ufokn_c:UtilityService .
### http://schema.ufokn.org/utility-connection/v2.1/UtilityService
ufokn_c:UtilityService rdf:type owl:Class ;
rdfs:subClassOf [ rdf:type owl:Restriction ;
owl:onProperty ufokn_c:ofUtilityType ;
owl:someValuesFrom ufokn_c:UtilityType
] ,
[ rdf:type owl:Restriction ;
owl:onProperty ufokn_c:providedByUtilityAsset ;
owl:someValuesFrom ufokn_c:UtilityAsset
] ,
[ rdf:type owl:Restriction ;
owl:onProperty ufokn_c:ofUtilityType ;
owl:allValuesFrom ufokn_c:UtilityType
] ,
[ rdf:type owl:Restriction ;
owl:onProperty ufokn_c:ofUtilityType ;
owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
owl:onClass ufokn_c:UtilityType
] ;
owl:disjointWith geo:Feature ,
geo:Geometry .
### http://schema.ufokn.org/utility-connection/v2.1/UtilityServiceArea
ufokn_c:UtilityServiceArea rdf:type owl:Class ;
rdfs:subClassOf ufokn:RegionOfInterest ,
ufokn:FeatureOrRegionAtRisk ,
[ rdf:type owl:Restriction ;
owl:onProperty ufokn_c:ofUtilityType ;
owl:someValuesFrom ufokn_c:UtilityType
] ,
[ rdf:type owl:Restriction ;
owl:onProperty ufokn_c:ofUtilityType ;
owl:allValuesFrom ufokn_c:UtilityType
] ;
owl:equivalentClass [ owl:intersectionOf (
ufokn:RegionOfInterest
ufokn:FeatureOrRegionAtRisk
[ rdf:type owl:Restriction ;
owl:onProperty ufokn_c:ofUtilityType ;
owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
owl:onClass ufokn_c:UtilityType
]
)
] .
### http://schema.ufokn.org/utility-connection/v2.1/UtilityType
ufokn_c:UtilityType rdf:type owl:Class .
#################################################################
# Individuals
#################################################################
### http://schema.ufokn.org/utility-connection/v2.1/CommunicationService
ufokn_c:CommunicationService rdf:type owl:NamedIndividual ,
ufokn_c:UtilityType .
### http://schema.ufokn.org/utility-connection/v2.1/ElectricService
ufokn_c:ElectricService rdf:type owl:NamedIndividual ,
ufokn_c:UtilityType .
### http://schema.ufokn.org/utility-connection/v2.1/MedicalService
ufokn_c:MedicalService rdf:type owl:NamedIndividual ,
ufokn_c:UtilityType .
### http://schema.ufokn.org/utility-connection/v2.1/RoadService
ufokn_c:RoadService rdf:type owl:NamedIndividual ,
ufokn_c:UtilityType .
### http://schema.ufokn.org/utility-connection/v2.1/SewerService
ufokn_c:SewerService rdf:type owl:NamedIndividual ,
ufokn_c:UtilityType .
### http://schema.ufokn.org/utility-connection/v2.1/StormwaterService
ufokn_c:StormwaterService rdf:type owl:NamedIndividual ,
ufokn_c:UtilityType .
### http://schema.ufokn.org/utility-connection/v2.1/TransitService
ufokn_c:TransitService rdf:type owl:NamedIndividual ,
ufokn_c:UtilityType .
### http://schema.ufokn.org/utility-connection/v2.1/WaterService
ufokn_c:WaterService rdf:type owl:NamedIndividual ,
ufokn_c:UtilityType .
#################################################################
# General axioms
#################################################################
[ rdf:type owl:AllDisjointClasses ;
owl:members ( ufokn:FeatureAtRisk
ufokn_c:UtilityProvider
ufokn_c:UtilityService
ufokn_c:UtilityServiceArea
ufokn_c:UtilityType
)
] .
[ rdf:type owl:AllDifferent ;
owl:distinctMembers ( ufokn_c:CommunicationService
ufokn_c:ElectricService
ufokn_c:MedicalService
ufokn_c:RoadAccess
ufokn_c:SewerService
ufokn_c:StormwaterService
ufokn_c:TransitService
ufokn_c:WaterService
)
] .