Email Address Value
Every textual entity used as an email address must carry an actual value. This shape enforces that instances of IAO_0000300 (Textual Entity) have at least one NFDI_0001007 (has value) property. Without this constraint, email address records could exist as empty shells with no usable contact information.
Visualization
SHACL Constraint
| Property | Value |
|---|---|
| Target Class | obo:IAO_0000300 (Textual Entity) |
| Constraint | Must have at least one nfdi:NFDI_0001007 (has value) property |
| Severity | Violation |
Shape Definition
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix ex: <http://www.example.org/#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
#
# an "email address" (or textual entity) always needs to have a value
#
ex:EmailAddressShape
a sh:NodeShape ;
sh:targetClass <http://purl.obolibrary.org/obo/IAO_0000300> ; # "Textual Entity"
sh:property [
sh:path <https://nfdi.fiz-karlsruhe.de/ontology/NFDI_0001007> ; # has value
sh:minCount 1 ;
sh:message "an 'email address' / 'textual entity' (IAO_0000300) must always have a value (NFDI_0001007)"
] ;
.
Example Data
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix obo: <http://purl.obolibrary.org/obo/> .
@prefix nfdi: <https://nfdi.fiz-karlsruhe.de/ontology/> .
@prefix mse: <https://nfdi.fiz-karlsruhe.de/matwerk/> .
mse:email_mueller
a obo:IAO_0000300 ;
rdfs:label "Email address of Dr. Anna Mueller" ;
obo:IAO_0000136 mse:researcher_mueller ;
nfdi:NFDI_0001007 "anna.mueller@kit.edu" .
mse:researcher_mueller
a obo:BFO_0000040 ;
rdfs:label "Dr. Anna Mueller" .