digst / DCAT-AP-DK

DCAT-AP-DK er en dansk anvendelsesprofil til beskrivelse af datasæt og datakataloger
https://digst.github.io/DCAT-AP-DK/releases/v.2.0/docs/
8 stars 1 forks source link

Spørgsmål mediatyper #12

Open heidivanparys opened 4 years ago

heidivanparys commented 4 years ago

Relateret til #8 . Nogle spørgsmål skal nok håndteres i DCAT- eller DCAT-AP-regi, men nu starter jeg her.

Der peges på IANA mediatype-register, som så vidt jeg kan se kun er tilgængelig i XML, HTML og klar tekst. Hver værdi er dog identificerbar vha. en URI, som også illustreret i Data Catalog Vocabulary (DCAT) - Version 2:

:dataset-001-csv
  a dcat:Distribution ;
  dcat:downloadURL <http://www.example.org/files/001.csv> ;
  dct:title "CSV distribution of imaginary dataset 001"@en ;
  dcat:mediaType <https://www.iana.org/assignments/media-types/text/csv> ;
  dcat:byteSize "5120"^^xsd:decimal ;
  .

I DCAT-specifikationen står der også, at rækkeviden af dct:mediaType er dct:MediaType.

image

For at kunne validere det (med SHACL?), skal IANAs mediatyper være beskrevet i RDF, går jeg ud fra. Hvor kan man finde en distribution af IANAs mediatyperegister i RDF?

Derudover, så har INSPIRE også et mediatyperegister, se http://inspire.ec.europa.eu/media-types

Hvad skal der til, for at registerets indhold kan bruges med DCAT-AP? Skal elementerne også været deklareret som at værende af klassen http://purl.org/dc/terms/MediaType , i RDF-udgaven? Og skal DCAT-AP, som lavet i EU-regi, ikke tage højde for INSPIRE-registeret, som også er lavet i EU-regi?

Og til sidst: er der lavet en mapning, i RDF, mellem mediatyper og EUs filtyper? Hvor kan man se, at det er mediatypen https://www.iana.org/assignments/media-types/text/csv der hører til filformat http://publications.europa.eu/resource/authority/file-type/CSV ?

heidivanparys commented 4 years ago

OGC har også planer om at etablere et mediatyperegister, se https://github.com/opengeospatial/NamingAuthority/issues/21 og https://github.com/opengeospatial/NamingAuthority/blob/master/incubation/mediaTypes/mediatypes.csv

Den præcise indkodning i RDF udestår så vidt jeg kan se. Kommentarer er velkomne! (se også min sidste kommentar der).

aidig commented 4 years ago

Tak for godt input!

Ja, nogle af spørgsmålene kan vi nok sende videre til W3C eller EU, men umiddelbart så ser det ganske rigtigt ud som om IANA mediatype-registret ikke har en RDF-serialisering pt, men deres mediatypes har dog en unik http-uri, fx https://www.iana.org/assignments/media-types/text/csv og selve registret henvises der til med namespacet http://www.iana.org/assignments/media-types/.

I DCMI har vi følgende udsagn (udsagn sammenordnet per element):

  <rdf:Description rdf:about="http://purl.org/dc/terms/IMT">
    <rdfs:comment xml:lang="en">The set of media types specified by the Internet Assigned Numbers Authority.</rdfs:comment>
    <rdfs:seeAlso rdf:resource="http://www.iana.org/assignments/media-types/"/>
  </rdf:Description>  
  <rdf:Description rdf:about="http://purl.org/dc/terms/MediaType">
    <rdfs:label xml:lang="en">Media Type</rdfs:label>
    <rdfs:comment xml:lang="en">A file format or physical medium.</rdfs:comment>
    <rdfs:subClassOf rdf:resource="http://purl.org/dc/terms/MediaTypeOrExtent"/>
    <rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
    <rdfs:subClassOf rdf:resource="http://purl.org/dc/terms/MediaTypeOrExtent"/>
    <dcterms:issued rdf:datatype="http://www.w3.org/2001/XMLSchema#date">2008-01-14</dcterms:issued>
    <rdfs:isDefinedBy rdf:resource="http://purl.org/dc/terms/"/>
  </rdf:Description>
  <rdf:Description rdf:about="http://purl.org/dc/terms/MediaTypeOrExtent">
    <rdfs:label xml:lang="en">Media Type or Extent</rdfs:label>
    <rdfs:comment xml:lang="en">A media type or extent.</rdfs:comment>
    <rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
    <dcterms:issued rdf:datatype="http://www.w3.org/2001/XMLSchema#date">2008-01-14</dcterms:issued>
    <rdfs:isDefinedBy rdf:resource="http://purl.org/dc/terms/"/>
  </rdf:Description>
  <rdf:Description rdf:about="http://purl.org/dc/terms/format">
    <dcam:rangeIncludes rdf:resource="http://purl.org/dc/terms/MediaType"/>
  </rdf:Description>

OBS: https://www.dublincore.org/specifications/dublin-core/dcmi-terms/dcam/rangeIncludes/ (altså anbefalet udfaldsrum for egenskaben fra Dublin Cores side, men det indsnævres tilsyneladende af W3C )

Et første bud på en overordnet validering med SHACL selvom der ikke eksisterer et RDF-udtryk kunne være nedenstående. Her kunne man evt. tjekke at værdien indledes med IANAs namespace, men valideringen er ikke skudsikker da man stadig kan angive noget 'forkert' efter namespacet... (men jeg er også SHACL-nybegynder, så det er lidt 'learning by doing' og 'se hvad de andre gør eller anbefaler')

[
    sh:name "media type"@en, "medietype"@da ;
    sh:description "This property refers to the media type of the Distribution as defined in the official register of media types managed by IANA."@en, "Denne egenskab angiver medietypen for distributionen som den er defineret af Internet Assigned Numbers Authority (IANA) (https://www.iana.org/assignments/media-types/media-types.xhtml) "@da ;
    rdfs:comment "The media type of the distribution as defined by IANA."@en, "Medietypen for distributionen som den er defineret af IANA "@da ;
    sh:pattern "^https://www.iana.org/assignments/media-types/" ;  <!-- Tjek at værdien indledes med IANAs namespace
    sh:flags "i" ;
    sh:maxCount 1 ;
    sh:path dcat:mediaType ;
    sh:severity sh:Violation ;
    sh:group <https://data.gov.dk/model/profile/dcat-ap-dk#Optional>
  ],

Umiddelbart kender jeg desværre ikke til en mapning mellem http://www.iana.org/assignments/media-types/ og EUs http://publications.europa.eu/resource/dataset/file-type. Skriv endelig her hvis der er nogen der læser denne tråd der kender til en mapning! Ellers ville det bestemt være en god forespørgsel at sende videre til EU Publications Office https://op.europa.eu/da/web/about-us/contact (Skal vi oprette en ticket dér?)

Hæh, ja og selvom både DCAT-AP og INSPIRE-registret er lavet i EU-regi tror jeg desværre ikke det kan garantere os at der er etableret tæt sammenhæng mellem de to initiativer. Men lad os undersøge det nærmere....

pebran commented 4 years ago

Angående IANAs tilsyneladende manglende RDF-repræsentation, så har W3C denne holdning: ....................................................................................... IANA MIME type namespace See the IANA registry and XML data file for MIME types. Any Media type in those registries is deemed to correspond to a RDF Class whose URI is that of this directory concatenated with that media type. For example, a fixed content-type resource of Media Type 'image/png' is deemed to be a member of the class

https://www.w3.org/ns/iana/media-types/image/png#Resource

This web space does not currently contain a copy of the IANA data or a mirror of it, or a proxy of it but may do at a later date. ............................................................................................ Kilde: https://www.w3.org/ns/iana/media-types/

heidivanparys commented 4 years ago

2 interessante links:

heidivanparys commented 4 years ago

Et første bud på en overordnet validering med SHACL selvom der ikke eksisterer et RDF-udtryk kunne være nedenstående. Her kunne man evt. tjekke at værdien indledes med IANAs namespace, men valideringen er ikke skudsikker da man stadig kan angive noget 'forkert' efter namespacet... (men jeg er også SHACL-nybegynder, så det er lidt 'learning by doing' og 'se hvad de andre gør eller anbefaler')

[
    sh:name "media type"@en, "medietype"@da ;
    sh:description "This property refers to the media type of the Distribution as defined in the official register of media types managed by IANA."@en, "Denne egenskab angiver medietypen for distributionen som den er defineret af Internet Assigned Numbers Authority (IANA) (https://www.iana.org/assignments/media-types/media-types.xhtml) "@da ;
    rdfs:comment "The media type of the distribution as defined by IANA."@en, "Medietypen for distributionen som den er defineret af IANA "@da ;
    sh:pattern "^https://www.iana.org/assignments/media-types/" ;  <!-- Tjek at værdien indledes med IANAs namespace
    sh:flags "i" ;
    sh:maxCount 1 ;
    sh:path dcat:mediaType ;
    sh:severity sh:Violation ;
    sh:group <https://data.gov.dk/model/profile/dcat-ap-dk#Optional>
  ],

I https://github.com/SEMICeu/DCAT-AP/blob/master/releases/2.0.0/dcat-ap_2.0.0_shacl_shapes.ttl står der følgende:

[
        sh:class dct:MediaType ;
        sh:maxCount 1 ;
        sh:path dcat:mediaType ;
        sh:severity sh:Violation
    ]

Jeg har ikke arbejdet med SHACL før, men så vidt jeg kan se står der, at en mediatype skal være af klassen dct:MediaType, eller har jeg misforstået det? Skulle det meldes ind til DCAT-AP, evt. med dit alternative forslag?

aidig commented 4 years ago

Vi (og andre) har fremhævet udfordringerne ved den aktuelle SHACL-implementering i DCAT-AP og der er er et par issues på GitHub relateret til dette som vi vil følge nært:.

https://github.com/SEMICeu/DCAT-AP/issues/125, https://github.com/SEMICeu/DCAT-AP/issues/127

heidivanparys commented 4 years ago

OGC har lagt et første bud på en OGC mediatype-register online, se https://github.com/opengeospatial/NamingAuthority/blob/master/incubation/mediaTypes/mediatypes.ttl

Fra mailen jeg fik:

We will proceed to publish the registers on the Definitions Server by 30 May 2020, if we hear no objection.

Det bør være muligt, at pege på denne register også, der, hvor IANA-registreringen er udestående (ligesom det bør være muligt, at pege på http://inspire.ec.europa.eu/media-types ).

aidig commented 4 years ago

Fandt dette issue på hos SEMICeu: https://github.com/SEMICeu/DCAT-AP/issues/26, men vi skal muligvis have oprettet et nyt, hvis nedenstående ikke skal anvendes i DCAT-AP-DK:

Fra den gældende normative DCAT-AP specifikation (PDF):

In the table below, a number of properties are listed with controlled vocabularies that MUST be used for the listed properties. The declaration of the following controlled vocabularies as mandatory ensures a minimum level of interoperability.

Property URI Used for Class Vocabulary name Vocabulary URI
dcat:mediaType Distribution IANA Media Types[1] http://www.iana.org/assignments/media-types/media-types.xhtml
dct:format Distribution EU Vocabularies File Type Named Authority List[3] http://publications.europa.eu/resource/authority/file-type

(...)

[1] Internet Assigned Numbers Authority (IANA). Media Types http://www.iana.org/assignments/media-types/ [2] EUROPA. Publications Office of the EU. EU Vocabularies. Controlled Vocabularies. Authority tables. File type. https://publications.europa.eu/en/web/eu-vocabularies/at-dataset/-/resource/dataset/file-type (...)

heidivanparys commented 4 years ago

OGC har lagt et første bud på en OGC mediatype-register online, se https://github.com/opengeospatial/NamingAuthority/blob/master/incubation/mediaTypes/mediatypes.ttl

Og nu er OGCs register online, se http://www.opengis.net/def/media-type/

aidig commented 3 years ago

FYI: https://github.com/SEMICeu/iana-to-rdf (proof of concept for the RDF representation of the IANA registry)