Skip to content

Instantly share code, notes, and snippets.

@fabianekc
Created August 19, 2024 08:11
Show Gist options
  • Save fabianekc/85ed4c3deb707517080ac453305c2de9 to your computer and use it in GitHub Desktop.
Save fabianekc/85ed4c3deb707517080ac453305c2de9 to your computer and use it in GitHub Desktop.
{
"@context": {
"@import": "https://ns.ownyourdata.eu/ns/soya-context.json",
"@version": 1.1,
"xsd": "http://www.w3.org/2001/XMLSchema#"
},
"@graph": [
{
"@id": "Person",
"@type": "owl:Class",
"subClassOf": "soya:Base"
},
{
"@id": "name",
"@type": "owl:DatatypeProperty",
"domain": "Person",
"range": "xsd:string"
},
{
"@id": "dateOfBirth",
"@type": "owl:DatatypeProperty",
"domain": "Person",
"range": "xsd:date"
},
{
"@id": "age",
"@type": "owl:DatatypeProperty",
"domain": "Person",
"range": "xsd:integer"
},
{
"@id": "sex",
"@type": "owl:DatatypeProperty",
"domain": "Person",
"range": "xsd:string"
},
{
"@id": "PersonOverlayValidation",
"@type": "OverlayValidation",
"onBase": "Person",
"sh:property": [
{
"sh:maxCount": 1,
"sh:maxLength": 19,
"sh:minCount": 1,
"sh:path": "name",
"sh:pattern": "^[a-zA-Z]+$"
},
{
"sh:maxCount": 1,
"sh:minCount": 1,
"sh:minRange": {
"@type": "xsd:date",
"@value": "1900-01-01"
},
"sh:path": "dateOfBirth"
},
{
"sh:maxCount": 1,
"sh:path": "age"
},
{
"sh:in": {
"@list": [
"male",
"female"
]
},
"sh:maxCount": 1,
"sh:path": "sex"
}
],
"sh:targetClass": "Person"
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment