2013-10-03 5 views
7

Was ist die pragmatischste Art, Öffnungszeiten eines Dienstes zu modellieren, sodass SPARQL-Abfragen in der Lage sind, Dinge abzufragen, die zu einem bestimmten Zeitstempel/während eines bestimmten Zeitintervalls geöffnet sind?So modellieren Sie Öffnungszeiten in RDF

Antworten auf diese Frage sollte enthalten:

  1. Beispiel einer Ontologie
  2. Datenprobe, die diese Ontologie
  3. eine SPARQL-Abfrage * verwendet, die alles aus dieser Probe zurückgibt, die zu einem bestimmten Zeitstempel geöffnet ist

(* zusätzliche Punkte für Einfachheit und Leistung)

Antwort

1

Es gibt verschiedene Möglichkeiten, Kalender online zu beschreiben. Unter anderem iCal (oder der RDFCal), http://schema.org/OpeningHoursSpecification oder die Zeit-Ontologie (um zum Beispiel das Zeitintervall eines Ereignisses zu beschreiben).

Öffnungszeiten können als eine Kombination von Kalendern gesehen werden. Mit einer rdf: -Liste können wir Kalender stapeln und angeben, ob jeder dieser Kalender Öffnungszeiten oder Öffnungszeiten anzeigt. Zum Beispiel für ein einfaches Geschäft würde ich 2 Kalender hinzufügen: * Öffnungszeiten: 9-5 von Montag bis Sonntag * Schlusszeiten: offizielle Feiertage

Ich habe ein Papier darüber veröffentlicht und ich habe erstellt eine kurze Ontologie, um Öffnungszeiten bei http://openinghours.io zu schaffen.

+0

was ist mit Ncal? http://www.semanticdesktop.org/ontologies/2007/04/02/ncal/ – elmor

9

Ich schlage vor, dass Sie sich schema.org anschauen. Es bietet ein Modell für Öffnungszeiten: http://schema.org/OpeningHoursSpecification. Sie können ein auf Unternehmen angewendetes Beispiel sehen: http://schema.org/LocalBusiness

Sie können Ihr RDF-Diagramm entsprechend erstellen, und es sollte später problemlos abgefragt werden können. Und wenn Sie Webseiten daraus generieren, können die großen Suchmaschinen Ihre Informationen besser ausnutzen und sie auf ihre eigene Weise nutzen.

+0

Es ist in der Tat überraschend einfach abzufragen. Ein interessanter Ansatz wäre es, einen Reasoner zu verwenden, um Öffnungszeiten, die in Daten versteckt sind, die mit komplizierteren Vokabularen wie rdfcal verknüpft sind, in die Beschreibung schema.org/OpenHoursSpecification zu verwandeln. – pietercolpaert

1

Die wenigen temporal-Abfrage-Tripelspeicher wie Parliament verwenden die time vocabulary. Sie sollten in der Lage sein, Anfragen wie "Ereignisse zwischen X und Y" zu beantworten. Ich bin sicher, dass ein abgeleitetes Zeitmodell von schema.org hilfreich sein könnte, um zu sehen, ob etwas offen ist oder nicht.