Introduction

Area of application

This section is non-normative.

The DCAT Application Profile for data portals in Poland (DCAT-AP-PL) is an Application Profile of the DCAT vocabulary and a Subprofile of the European Application Profile DCAT-AP. Being a Subprofile of DCAT-AP, DCAT-AP-PL replicates its core structure and concepts. Comparison of DCAT-AP-PL and DCAT-AP can be found in the Appendix of this specification.

  • DCAT (Data Catalog Vocabulary) is a semantic definition to describe data by the means of an RDF vocabulary. It allows for a decentralized approach regarding the publication of data by enforcing interoperability via the use of a common language to describe the data.

  • DCAT, being a generic language, can be applied in various contexts. An Application Profile specifies its utilization within a specific domain, context or application, with the goal of facilitating data exchange. In Europe the application profile DCAT-AP was defined, which assumed the role of a standard within Europe. Many European Countries defined their own Application Profiles based on DCAT-AP that are customized to their specific needs.

  • DCAT-AP-PL was defined to provide guidance for Polish data publishers on how to specify their data catalogues and for data portal managers on how to process data catalogues, in a DCAT-AP-PL and DCAT-AP conformant manner, so that interoperability with DCAT-AP is assured.

It should be always kept in mind that both DCAT-AP-PL and DCAT-AP primarily focus on metadata. Metadata is by definition secondary information of the data: when and by whom were they published, which usage conditions apply, how often are they updated, whom to contact about them and where and how they can be accessed.

Classes overview

The Polish Application Profile (DCAT-AP-PL) is structured around the following main 5 classes:

Class Usage note
Catalog A catalogue or repository that hosts the Datasets being described.
Dataset A conceptual entity that represents the information published.
Distribution A physical embodiment of the Dataset in a particular format.
Agent Any entity carrying out actions with respect to the (Core) entities Catalogue, Datasets, Data Services and Distributions.
Kind A description following the vCard specification, e.g. to provide telephone number and e-mail address for a contact point.

The diagram below shows these classes, their relationships and their properties.

* at the beginning of the property name indicates that this property is added to specific RDF class by DCAT-AP-PL

^ at the beginning of the property name indicates that this property already belonged to the specific RDF class but its requirement level (mandatory/recommended/optional) is set by DCAT-AP-PL

classDiagram class `dcat:Catalog` { <<mandatory>> dct:description #126;> rdfs:Literal [1..n] dct:title #126;> rdfs:Literal [1..n]   <<recommended>> foaf:homepage #126;> foaf:Document [0..1] dct:language #126;> dct:LinguisticSystem [0..n] dct:issued #126;> rdfs:Literal [0..1] dct:spatial #126;> dct:Location [0..n] dcat:themeTaxonomy #126;> skos:ConceptScheme [0..n] dct:modified #126;> rdfs:Literal [0..1] } `dcat:Catalog` --> "[0..n]" `dcat:Dataset` : #60;#60;recommended#62;#62;\ndcat#58;dataset `dcat:Catalog` --> "[1]" `foaf:Agent` : #60;#60;mandatory#62;#62;\ndct#58;publisher class `dcat:Dataset` { <<mandatory>> dct:description #126;> rdfs:Literal [1..n] dct:title #126;> rdfs:Literal [1..n]   <<recommended>> dcat:keyword #126;> rdfs:Literal [0..n] dct:spatial #126;> dct:Location [0..n] dcat:theme #126;> skos:Concept [0..n]   <<optional>> dct:accrualPeriodicity #126;> dct:Frequency [0..1] dct:identifier #126;> rdfs:Literal [0..n] dcat:landingPage #126;> foaf:Document [0..n] dct:language #126;> dct:LinguisticSystem [0..n] dct:issued #126;> rdfs:Literal [0..1] dct:modified #126;> rdfs:Literal [0..1] owl:versionInfo #126;> rdfs:Literal [0..1] *foaf:logo #126;> rdfs:Resource [0..1] } `dcat:Dataset` --> "[0..n]" `dcat:Distribution` : #60;#60;recommended#62;#62;\ndcat#58;distribution `dcat:Dataset` --> "[0..1]" `foaf:Agent` : #60;#60;recommended#62;#62;\ndcat#58;publisher `dcat:Dataset` --> "[0..n]" `vcard:Kind` : #60;#60;recommended#62;#62;\ndcat#58;contactPoint class `dcat:Distribution` { <<mandatory>> dcat:accessURL #126;> rdfs:Resource [1..n]   <<recommended>> dct:description #126;> rdfs:Literal [0..n] dct:format #126;> dct:MediaTypeOrExtent [0..1] dcat:license #126;> dct:LicenseDocument [0..1]   <<optional>> dcat:byteSize #126;> rdfs:Literal [0..1] dcat:downloadURL #126;> rdfs:Resource [0..n] dct:language #126;> dct:LinguisticSystem [0..n] dcat:mediaType #126;> dct:MediaType [0..1] dct:issued #126;> rdfs:Literal [0..1] adms:status #126;> skos:Concept [0..1] dct:title #126;> rdfs:Literal [0..n] dct:modified #126;> rdfs:Literal [0..1] *dct:valid #126;> rdfs:Literal [0..1] } class `foaf:Agent` { <<mandatory>> foaf:name #126;> foaf:Literal [1..n]   <<recommended>> dct:type #126;> foaf:Literal [0..1]   <<optional>> ^foaf:mbox #126;> foaf:Literal [0..1] ^foaf:homepage #126;> foaf:Document [0..1] *dcat:regon #126;> foaf:Literal [0..1] } class `vcard:Kind` { <<mandatory>> ^vcard:fn #126;> foaf:Literal [1..n]   <<recommended>> ^vcard:hasEmail #126;> foaf:Literal [0..1] }