Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Spørgsmål mediatyper #12

Open
heidivanparys opened this issue Apr 22, 2020 · 10 comments
Open

Spørgsmål mediatyper #12

heidivanparys opened this issue Apr 22, 2020 · 10 comments
Labels
enhancement New feature or request

Comments

@heidivanparys
Copy link

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:https://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:https://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:https://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:https://publications.europa.eu/resource/authority/file-type/CSV ?

@heidivanparys
Copy link
Author

OGC har også planer om at etablere et mediatyperegister, se opengeospatial/NamingAuthority#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
Copy link
Contributor

aidig commented Apr 23, 2020

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:https://www.iana.org/assignments/media-types/.

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

  <rdf:Description rdf:about="http:https://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:https://www.iana.org/assignments/media-types/"/>
  </rdf:Description>  
  <rdf:Description rdf:about="http:https://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:https://purl.org/dc/terms/MediaTypeOrExtent"/>
    <rdf:type rdf:resource="http:https://www.w3.org/2000/01/rdf-schema#Class"/>
    <rdfs:subClassOf rdf:resource="http:https://purl.org/dc/terms/MediaTypeOrExtent"/>
    <dcterms:issued rdf:datatype="http:https://www.w3.org/2001/XMLSchema#date">2008-01-14</dcterms:issued>
    <rdfs:isDefinedBy rdf:resource="http:https://purl.org/dc/terms/"/>
  </rdf:Description>
  <rdf:Description rdf:about="http:https://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:https://www.w3.org/2000/01/rdf-schema#Class"/>
    <dcterms:issued rdf:datatype="http:https://www.w3.org/2001/XMLSchema#date">2008-01-14</dcterms:issued>
    <rdfs:isDefinedBy rdf:resource="http:https://purl.org/dc/terms/"/>
  </rdf:Description>
  <rdf:Description rdf:about="http:https://purl.org/dc/terms/format">
    <dcam:rangeIncludes rdf:resource="http:https://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:https://www.iana.org/assignments/media-types/ og EUs http:https://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
Copy link
Contributor

pebran commented Apr 23, 2020

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
Copy link
Author

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
Copy link
Contributor

aidig commented Apr 29, 2020

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:.

SEMICeu/DCAT-AP#125,
SEMICeu/DCAT-AP#127

@heidivanparys
Copy link
Author

heidivanparys commented May 6, 2020

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:https://inspire.ec.europa.eu/media-types ).

@aidig
Copy link
Contributor

aidig commented May 11, 2020

Fandt dette issue på hos SEMICeu: SEMICeu/DCAT-AP#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:https://www.iana.org/assignments/media-types/media-types.xhtml
dct:format Distribution EU Vocabularies File Type Named Authority List[3] http:https://publications.europa.eu/resource/authority/file-type
(...)

[1] Internet Assigned Numbers Authority (IANA). Media Types http:https://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
(...)

@aidig aidig added the enhancement New feature or request label May 28, 2020
@heidivanparys
Copy link
Author

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:https://www.opengis.net/def/media-type/

@aidig
Copy link
Contributor

aidig commented Apr 23, 2021

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants