On Tue, Jun 7, 2011 at 7:18 PM, Owen Stephens <[log in to unmask]> wrote:
> I'd suggest having a look at the Goid Relations ontology
> http://wiki.goodrelations-vocabulary.org/Quickstart - it's aimed at
> businesses but the OpeningHours specification might do what you need
> http://www.heppnetz.de/ontologies/goodrelations/v1.html#OpeningHoursSpecification
>
> While handling public holidays etc is not immediately obvious it is covered
> in this mail
> http://ebusiness-unibw.org/pipermail/goodrelations/2010-October/000261.html
>
> Picking up on the previous comment Good Relations in RDFa is one of the
> formats Google use for Rich Snippets and it is also picked up by Yahoo
>
[Goid Relations will be an awesome name for a mobile app that processes GR]
I would second Owen's recommendation to look at Good Relations as an output
format. However, as an ontology, it's not fully capturing the semantics of
what opening hours mean.
The problem is that RDF(S)+OWL are limited in expressiveness. They're a
huge improvement over XSD/Relax, but they don't support
exceptions/overriding (non-monotonic reasoning in KR speak).
Thus, you can't give a general rule, like all libraries open at 8am on
weekdays, except during intersession, when they open at 10am, except for the
underwater basket weaving special collection, which is open 24hrs a day
during Discovery Channel Shark Week.
You can capture most of these cases by extending RDF(S)+OWL using RIF (
http://www.w3.org/standards/techs/rif#w3c_all ) or SPIN, (
http://spinrdf.org/), or by using a more expressive/powerful system (e.g.
Cyc http://www.opencyc.org/ and LARKC - http://www.larkc.eu/ ).
These more powerful systems can infer the correct GR
OpeningHoursSpecification[s].
You could expose the result directly, using a SPARQL endpoint, but given
that most consumers are likely to have questionable commitment to SPARQL
motion, they would probably be happier with a couple of restful services.
The first one should the hours for a specified branch/library relative
to a specific date and time (defaulting to #$Now), a boolean value for
openness, and possibly a time interval indicating how long till the doors
are locked or unlocked;
The second one should expose the entire calendar in a few different formats
based on accept - probably at minimum, json, iCalendar, and RDFA HTML, and
(of not offering a SPARQL endpoint), in RDF turtle.
The point of using semantic technologies is to be able to express
"meanings" more precisely. There is a difference between creating an
ontology and creating a record schema or class hierarchy; just shattering a
record into a plethora of individual statements that are only really
understandable in the context of that record will not greatly increase the
reusability of data.
For example, FAST (and more generally, any post-coordinated system) becomes
especially problematic when used in linked data environments (since the
subject of a work is indeterminate, there can be multiple equally correct
assertions of aboutness ; however, the combination of these different
viewpoints with FAST style post-coordination is especially likely to result
in implied assertions of aboutness that are false, and which none of the
utters believes or would assent to.
[cue edsu ]
Simon
|