What is the most pragmatic way to model opening hours of a service, so that SPARQL queries would be able to query things that are open at a certain timestamp/during a certain time interval?
Answers to this question should contain:
( * extra points for simplicity and performance)
There are various ways to describe calendars online. Amongst others, iCal (or the rdf-ized RDFCal), http://schema.org/OpeningHoursSpecification or the Time ontology (for e.g., describing the time interval of an event).
Opening Hours can be seen as a combination of calendars. Using an rdf:list we can stack calendars and indicate whether each of these calendars indicate closing hours or opening hours. For example, for a simple business I would add 2 calendars: * Opening Hours: open from 9 to 5 from Monday to Sunday * Closing Hours: official holidays
I've published a paper about this and I've created a concise ontology to create opening hours at http://openinghours.io.