Distribution

auto-generated from model/.php via pre-commit hookarrow-up-right*

Example (JSON-LD):

{	
	"@id": "https://databus.dbpedia.org/janni/onto_dep_projectx/dbpedia-ontology/2021-12-06#ontology--DEV_type=parsed_sorted.nt",
	"@type": "Part",
}

Spec (OWL, SHACL, JSON-LD Context)

databus:Part  a owl:Class ;
    rdfs:label "Part"@en ;
    rdfs:comment """A Part represents a single file (i.e. distribution) which is referenced from a particular Version.
    Typically a dataset consists of several files, e.g. same (or similar) files but in multiple serializations that may differ in various ways, including natural language, media-type or format, schematic organization, temporal and spatial resolution, level of detail. Artifacts are packaged compositionally, i.e. each Part adds to the dataset, which is the sum of information."""@en ;
    rdfs:subClassOf dcat:Distribution ;
    rdfs:isDefinedBy <http://dataid.dbpedia.org/databus#> .
<#part-exists>
	a sh:NodeShape ;
	sh:targetNode databus:Part ;
	sh:property [
	  sh:path [ sh:inversePath rdf:type ] ;
	  sh:minCount 1 ;
	  sh:message "At least one subject with an rdf:type of databus:Part must occur for each databus:Version."@en ;
	] ;
	sh:property [
    sh:path [ sh:inversePath rdf:type ] ;
    sh:nodekind sh:IRI ;
    sh:pattern "/[a-zA-Z0-9\\-_]{4,}/[a-zA-Z0-9\\-_\\.]{1,}/[a-zA-Z0-9\\-_\\.]{1,}/[a-zA-Z0-9\\-_\\.]{1,}#[a-zA-Z0-9\\-_\\.=]{3,}$" ;
    sh:message "IRI for databus:Part must match /USER/GROUP/ARTIFACT/VERSION#PART , |USER|>3"@en ;
    ] . 

issued

Example (JSON-LD):

Spec (OWL, SHACL, JSON-LD Context)

file

Example (JSON-LD):

Spec (OWL, SHACL, JSON-LD Context)

formatExtension

TODO Marvin: describe why formatExtension is practical TODO Jan: add sh:pattern, i.e. no point at beginning, also must match the end of file URI

Example (JSON-LD):

Spec (OWL, SHACL, JSON-LD Context)

compression

Example (JSON-LD):

Spec (OWL, SHACL, JSON-LD Context)

downloadURL

Example (JSON-LD):

Spec (OWL, SHACL, JSON-LD Context)

bytesize

Note: Determining byteSize is not trivial for two reasons:

  1. intuitively, one would think that bytesize is a clearly determinable value, but different functions (e.g. for different programming language) return different bytesizes and are only comparable in the same system.

  2. More often than expected determining bytesize fails, e.g. disk read problem, network problems or file corruption.

We are reusing dcat:byteSize here, which uses xsd:decimal. However, we do not deem this ideal and would rather opt to xsd:double as it supports the NaN value. So in any case, where bytesize calculation fails, please put 0.

Example (JSON-LD):

Spec (OWL, SHACL, JSON-LD Context)

sha256sum

Example (JSON-LD):

Spec (OWL, SHACL, JSON-LD Context)

hasVersion (Distribution)

Note: see section versioning above

Example (JSON-LD):

Spec (OWL, SHACL, JSON-LD Context)

signature/tractate

TODO ??

Content variants

TODO ??

The shape <#parts-are-distinguishable-by-cv> relies on a ordering of results in the GROUP BY and consequentially GROUP_CONCAT instruction that is agnostic of the ordering of properties in the data. This seems to work for Apache JENA and Virtuoso but has not been tested with other SPARQL engines.

Example (JSON-LD):

Spec (OWL, SHACL, JSON-LD Context)

Remaining JSON-LD

TODO ??

Example (JSON-LD):

Spec (OWL, SHACL, JSON-LD Context)

Last updated