DS Specifications
Domain SpecificationsListsVocabularies
main
main
  • DS Specifications Overview
  • Domain Specifications
    • DS-V7
      • DS-V7 - Changelog
      • DS-V7 - Developer Notes
      • DS-V7 - Grammar
        • Domain Specification
          • @Context
          • Domain Specification Node
          • Property Node
          • Class Node
          • DataType Node
          • Enumeration Node
        • Verification Report
          • Verification Report Node
          • Error Entry Node
          • Error List for the domain-specific verification
        • DS-Path
      • DS-V7 - Examples
    • DS-V6
    • DS-V5
      • DS-V5 - Grammar
        • VerificationReport
          • Error List for the basic verification
          • Verification of schema.org annotations
          • Error List for the Meta verification of DS (unfinished)
          • Error List for the DS-based verification
        • Grammar and semantics of Domain Specifications
          • Enumeration Node
          • Property Node
          • Domain Specification Node
          • Class Node
          • Terms used in Domain Specifications
          • @Context
          • DataType Node
      • DS-V5 - Examples
    • DS-V4
    • DS-V3
      • DS-V3 - Examples
      • DS-V3 - Grammar
        • VerificationReport
          • Error List for the basic verification
          • Verification of schema.org annotations
          • Error List for the DS-based verification
          • Error List for the Meta verification of DS
        • Grammar and semantics of Domain Specifications
          • SDO Enumeration
          • SDO Property
          • Domain Specification
          • SDO Class
          • SDO Datatype
          • @Context
    • DS-V2
      • DS-V2 - Grammar
        • Grammar and semantics of Domain Specifications
          • Grammar Documentation for node type "RestrictedEnumeration"
          • Grammar Documentation for node type "CustomEnumerationValue"
          • Grammar Documentation for node type "Enumeration"
          • Grammar Documentation for node type "Property"
          • Grammar Documentation for node type "RestrictedProperty"
          • Grammar Documentation for node type "DomainSpecification"
          • Grammar Documentation for node type "RestrictedClass"
          • Grammar Documentation for node type "EnumerationValue"
          • Grammar Documentation for node type "Class"
          • Grammar Documentation for node type "DataType"
        • Numeric Pattern
        • Grammar Documentation for node type "VerificationReport"
          • Grammar Documentation for node type "Error"
          • Error codes for Verification Reports
        • Rules Grammar
          • Grammar Documentation for node type "ComplexRule"
          • Grammar Documentation for node type "DateRule"
          • Grammar Documentation for node type "TextRule"
          • Grammar Documentation for node type "TimeRule"
          • Grammar Documentation for node type "NumberRule"
          • Grammar Documentation for node type "BooleanRule"
          • Grammar Documentation for node type "DateTimeRule"
      • DS-V2 - Examples
    • DS-V1
      • DS-V1 - Examples
      • DS-V1 - Grammar
  • SDO-Verification
  • Lists
    • List-V1
  • Vocabularies
  • DS-Vocabulary
    • Input
      • Vocabulary for Domain Specifications
      • DS-Vocabulary
    • DS-Vocab-V1
Powered by GitBook
On this page
  • Actual JSON Syntax
  • SHACL JSON-LD Syntax
  • Datatype mapping
  1. Domain Specifications
  2. DS-V3
  3. DS-V3 - Grammar
  4. Grammar and semantics of Domain Specifications

SDO Datatype

Actual JSON Syntax

A dsv:DataType node appears as value for the dsv:expectedType property of a dsv:Property node. The @ id property specifies the corresponding datatype of SDO.

{
  "@type": "dsv:DataType",
  "@id": "schema:Text",
  "schema:name": "Text"
}

SHACL JSON-LD Syntax

Datatypes in SHACL are expressed using sh:datatype. Our mapping of SHACL (uses XSD datatypes) and SDO (has its own datatypes) showed below. A datatype definition may use sh:defaultValue to express a default value for the property (optional, must be of the specified datatype).

Example uses @ context of context.md

{
  "@type": "sh:PropertyShape",
  "sh:path": "schema:address",
  "sh:datatype": "xsd:string",
  "sh:defaultValue": "Innsbruck 6020"
}

Datatype mapping

Bijective mapping of Datatypes from SDO and SHACL:

switch (SDODataType["@id"]) {
    case "schema:Text":
        result["sh:datatype"] = "xsd:string";
    case "schema:Boolean":
        result["sh:datatype"] = "xsd:boolean";
    case "schema:Date":
        result["sh:datatype"] = "xsd:date";
    case "schema:DateTime":
        result["sh:datatype"] = "xsd:dateTime";
    case "schema:Time":
        result["sh:datatype"] = "xsd:time";
    case "schema:Number":
        result["sh:datatype"] = "xsd:double";
    case "schema:Float":
        result["sh:datatype"] = "xsd:float";
    case "schema:Integer":
        result["sh:datatype"] = "xsd:integer";
    case "schema:URL":
        result["sh:datatype"] = "xsd:anyURI"; 
}
PreviousSDO ClassNext@Context

Last updated 4 years ago