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
  • Introduction
  • Uses
  • Terms
  • New Terms
  • Mapping
  • Discussion
  • General
  • ds:DomainSpecification
  • ds:VerificationReport
  • sh:value
  • ds:dsPath
  1. DS-Vocabulary
  2. Input

Vocabulary for Domain Specifications

PreviousInputNextDS-Vocabulary

Last updated 4 years ago

Introduction

Domain Specifications are defined in an RDF-conform format (JSON-LD). Therefore, we introduce a vocabulary that contains new terms (where we can't reuse existing terms) needed for DomainSpecifications and its related uses (e.g. DS-Lists, verification results). The vocabulary file should be available at its namespace (content negotiation enabled). The vocabulary file can also be found , please check that out for details.

Uses

This vocabulary should cover the introduced terms needed for following document types:

  • Domain Specification - A document that specifies constraints for a Semantic Annotation or entity in a Knowledge Graph (KG). Examples can be found at .

  • List - A document that contains a set of Vocabularies, or a set of DomainSpecifications. Examples can be found at .

  • Verification Results - With we introduced RDF-conform verification results, in order to be align with SHACL's . Verigraph is able to output the verification results in SHACL and in our own format (a JSON-LD version of the JSON we used before). This means that we should write a more detailed specification on how this verification results look like; it should cover the verification of semantic annotations as well as the verification of knowledge graphs; it should cover all types of verification (General Ver. -> Annotation vs. Schema.org | Compliance Ver. -> Annotation vs. DS | Meta Ver. -> DS vs. Schema.org and DS-Specification).

Terms

First, we have a List of the new terms introduced. Then a mapping between these terms and the previously mentioned document types that use those terms. The following @context is used for abbreviations:

{
  "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#",
  "rdfs": "http://www.w3.org/2000/01/rdf-schema#",
  "xsd": "http://www.w3.org/2001/XMLSchema#",
  "owl": "http://www.w3.org/2002/07/owl#",
  "schema": "http://schema.org/",
  "sh": "http://www.w3.org/ns/shacl#",
  "ds": "http://vocab.sti2.at/ds/"
}

New Terms

  • ds:DomainSpecification - A Class representing a Domain Specification.

  • ds:Vocabulary - A Class representing an RDF Vocabulary.

  • ds:usedVocabularies - A property holding the Vocabularies used in a Domain Specification besides schema.org.

  • ds:VerificationReport - A general Class representing a Verification Report of any kind (General, Compliance, Meta) or target (Annotation, KG).

  • ds:verificationResult - A property that holds the overall verification outcome of a ds:VerificationReport as a String.

todo: Add the other terms related to the verification report.

Mapping

Document Type

Used new Term

Domain Specification

ds:DomainSpecification

ds:usedVocabularies

DS-List

ds:DomainSpecification

Vocabulary-List

ds:Vocabulary

Verification Result

ds:VerificationReport

ds:verificationResult

todo: Add the other terms related to the verification report.

Discussion

General

Labels, how do they work? Should we use language tags everywhere it is possible? e.g. {"@language": "en", "@value":"Meta Error"}

Plural or singular property names?

ds:DomainSpecification

Can/should we make ds:DomainSpecification a subclass of sh:NodeShape? The idea would be to substitute the current @type ["sh:NodeShape","schema:CreativeWork"] with "ds:DomainSpecification". We couldn't put the DS document as such in a SHACL validator anymore (But we don't care?). Else we have to use @type ["sh:NodeShape","ds:DomainSpecification"].

ds:VerificationReport

There should be more specific sub-classes to this, for every verification type/target ? That allows to enforce different properties for different verification types (e.g. an @id to a DS is not needed/allowed for a general verification based on the schema.org vocab).

sh:value

We use this property like SHACL, but shouldn't we introduce something like ds:value so we have control over the definition and use of that property?

sh:value  a rdf:Property ;                                                  
    rdfs:label "value"@en ;
    rdfs:comment "An RDF node that has caused the result."@en ;          
    rdfs:domain sh:AbstractResult ;
    rdfs:isDefinedBy sh: .

ds:dsPath

-> @param {string | null} dsPath - string indicating the path within the DS where the error occurred

-> @param {[string] | null} dataPath - array pointing to the place where the error occurred

What is "schema:rangeIncludes" in this case? can we say a rdf:List ? since the order matters

note: maybe we change this property with a JSON-Path, ergo a single string is the range

todo: Add the other terms related to the verification report.

As an overview about verification and the ds specc we have following Doc:

original from has no rangeIncludes:

(Paths are arrays to easier travers over them and differentiate between "steps" which may include MTEs e.g. )

http://vocab.sti2.at/ds/
on this Wiki
https://semantify.it/domainspecifications/
https://semantify.it/lists/
Verigraph
Validation Reports
https://docs.google.com/document/d/1UPVY57CffPQJezwvjCBHL4d3wngI05F0nHFIuBz_FZg/edit#
https://github.com/w3c/data-shapes/blob/gh-pages/shacl/shacl.ttl
https://docs.google.com/spreadsheets/d/144iAPlBpjFS4WF1-czwmiIo9IFQNtqH2JPrxiJdKuFM/edit#gid=0