GovDataOfficial / DCAT-AP.de

Deutsche Adaption des „Data Catalogue Application Profile“ (DCAT-AP) für Datenportale in Europa
https://www.dcat-ap.de/
Creative Commons Attribution 4.0 International
17 stars 4 forks source link

"gleitende" Zeitangaben #17

Open jze opened 4 years ago

jze commented 4 years ago

Mittels dct:temporal kann für Datasets, die Zeitreihen sind, angegeben werden, welchen Zeitraum sie umfassen. Es gibt jedoch Datasets, bei denen die Zeiträume "gleitend" sind. So umfasst eine Wetterbeobachtung des DWD stets die letzten 24 Stunden https://opendata.dwd.de/weather/weather_reports/poi/10015-BEOB.csv

Zwar ist die Angabe

<dct:temporal>
  <dct:PeriodOfTime>
    <schema:startDate rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">2020-05-04T11:00:00Z</schema:startDate>
    <schema:endDate rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">2020-05-05T11:00:00Z</schema:endDate>
  </dct:PeriodOfTime>
</dct:temporal>

in dem Moment korrekt, in dem ich diesen Text schreibe. In wenigen Minuten wird die Angabe aber falsch sein.

Eine relative Angabe wie jetzt und die letzten 24 Stunden wäre daher nützlich.

init-dcat-ap-de commented 4 years ago

Dies scheint mir in erster Linie ein Dokumentations-Problem zu sein, siehe auch #9 und https://w3c.github.io/dxwg/dcat/#temporal-properties

GKStGovData commented 3 years ago

Im Zuge des Major Release von DCAT-AP.de unter Sichtung der Webservice-Abbildungen im DCAT-AP 2.0 behandeln. Dabei existierende Lösungen recherchieren und dokumentieren oder Range von dct:temporal anpassen.

jze commented 2 years ago

Auch nach erneutem gründlichem Lesen von DCAT 2 und der Time Ontology ist mir noch keine Lösung eingefallen, bei der man relative Zeitgaben wie vor 24 Stunden bis jetzt oder die letzten 20 Tage aufschreiben kann:

dct:temporal hat als Range dct:PeriodOfTime.

dct:PeriodOfTime hat (laut DCAT) vier mögliche Properties: dcat:startDate, dcat:endDate, time:hasBeginning und time:hasEnd.

dcat:startDate und dcat:endDate haben als Range "rdfs:Literal encoded using the relevant ISO 8601 Date and Time compliant string [DATETIME] and typed using the appropriate XML Schema datatype [XMLSCHEMA11-2] (xsd:gYear, xsd:gYearMonth, xsd:date, or xsd:dateTime)."

time:hasBeginning und time:hasEnd haben als Range time:Instant.

Man landet aber immer wieder bei festen Zeitpunkten. Oder habe ich eine Stelle übersehen?

benjaminaaron commented 2 years ago

Hallo @jze, ginge evtl. xsd:duration? Da geht es ja um einen Zeitraum statt Zeitpunkten. Hier heißt es: Duration may be expressed using all the parts of a date-time (from year to fractions of second).

jze commented 2 years ago

Die Idee mit xsd:duration ist gut. Damit könnte der Datensatz von Pegelonline zum Wasserstand am Pegel NOK RENDSBURG so beschrieben werden:

<dct:accrualPeriodicity rdf:resource="http://purl.org/cld/freq/continuous"/>
<dct:temporalResolution rdf:datatype="http://www.w3.org/2001/XMLSchema#duration">PT1H</dct:temporalResolution>
<dct:temporal>
  <dct:PeriodOfTime>
    <schema:startDate rdf:datatype="http://www.w3.org/2001/XMLSchema#duration">P10D</schema:startDate>
  </dct:PeriodOfTime>
</dct:temporal>

Aber leider scheint die Formulierung bei DCAT bzgl. des appropriate XML Schema datatype abschließend zu sein.