Vocabulary for Domain Specifications
Last updated
Last updated
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.
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).
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:
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.
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.
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?
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"].
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).
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?
-> @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. )