Re: [CODE4LIB] RDF for opening times/hours?
Having spent the last few weeks creating a Drupal module that give users a tool to add events to their personal calendars, the challenges inherent in moving date information are definitely in my mind. First off, your tool needs to be aware of your date handling system. In Drupal, you can base on UTC or a local time zone, and you can choose to allow individual users to set their date handling -- generally a bad idea. To make our tool work, we had to be aware of this, and it was tricky, as the tool had to work across sites with different settings. We built the tool to support five calendars -- iCal, Outlook, Google, Windows Live, and Yahoo. They divided into three pretty distinct methodologies. One of them based on start time and duration, so after a false start, we used this as our baseline. I think that this provides the most flexible handling and covers date spanning. While library hours present a different set of needs, I think that the challenges inherent in sharing them are similar. Fundamentally, I think that in order to provide an open service, you should consider providing opening day and hour in a durable format like ISO 8601, providing time zone offsets, and duration. Thanks, Cary On Wed, Jun 8, 2011 at 11:45 AM, Brice Stacey brice.sta...@umb.edu wrote: You can't necessarily say We 8:00-2:00 because your closing hour could be after your opening hour on the next day and it would be ambiguous. E.g. Opening at 2am and closing the next day at 4am. I know that's absurd for most libraries but it may happen. A better example is when a library stays open overnight just one day a week. Ideally, if working with times with date granularity you should honor that choice and say We 8:00-24:00 and Th 0:00-2:00. Then, when creating human readable formats you always check tomorrow in the event today's closing time is midnight. Brice — Sent from my iPhone On Jun 8, 2011, at 1:00 PM, Nate Vack njv...@wisc.edu wrote: On Wed, Jun 8, 2011 at 11:45 AM, Kevin S. Clarke kscla...@gmail.com wrote: time itemprop=openingHours datetime=Mo,We,Fri 17:00-21:00Mondays, Wednesdays, and Fridays 5-9pm/time Or, if you just want to talk about http://library.example.com/hours/today, (which I think is what the OP was about?) you could do: time itemprop=openingHours datetime=We 8:00-21:00Open today (Wednesday, June 8) from 8:00 am to 5:00 pm/time Note that if you're open from, say, 8:00 AM to 2:00 AM, it raises some interesting discussions about what exactly goes in those time ranges, and when today should change. I'd vote datetime=We 8:00-2:00 and changing today shortly after 2am, but there are valid arguments that that's a dumb vote. The easy solution: change policy to never be open past midnight ;-) Cheers, -Nate -- Cary Gordon The Cherry Hill Company http://chillco.com
Re: [CODE4LIB] RDF for opening times/hours?
I would definitely look into using Google calendars. This is Drupal-specific, but perhaps could be easily translated for other purposes? I have used both G-Cal Events and (more recently) Agenda modules, which pull information from Google calendars. I originally used it (g-cal events) to set up a site for a library that would display the events/meetings in its different meeting rooms (some of which were repeating events). The google calendars were maintained by the different departments (Children's, Reference, Administration, etc.), and all tied to one main calendar from which the module pulled the data for display. They both are configurable (through the gui, and fairly easily within the code if you know a little php) to set how, when, and how long to display the calendar item. The only drawbacks are the limitations to Google Calendars itself, which may not work for you, but I find it flexible enough for the sites I've used it for. I also like how you can link and control different calendars and set visibility, so the relevant library or department can manage its own calendar. Carol On Jun 7, 2011, at 11:33 PM, Jonathan Rochkind wrote: I wonder if you could get by using Google Calendar as the 'interface', consumed via client and then published in whatever human-readable and semantic formats you wanted. I _think_ Google Calendar lets you create repeating events, which should then be exposed by it's iCal API. I think of this because there was in fact a Code4Lib Journal article about that, although I forget the details: http://journal.code4lib.org/articles/46 From: Code for Libraries [CODE4LIB@LISTSERV.ND.EDU] on behalf of Brice Stacey [brice.sta...@umb.edu] Sent: Tuesday, June 07, 2011 11:27 PM To: CODE4LIB@LISTSERV.ND.EDU Subject: Re: [CODE4LIB] RDF for opening times/hours? Honestly, the API and schema are second to UX to manage the hours. The actual API to the web service is trivial and just a matter of deciding on an interface and schema that you like and that most future-proofs your work. Personally, I would probably disregard it unless it has a JSONP format so that I can easily include it on pages using JavaScript. If it was some overly complex RDF thing I'd only consider it if it had amazing management of the hours. Which brings me to my main point... It needs to be simple and flexible such that a layman can manage it. Currently tools are designed for easy data transfer to databases, e.g. a list of defaults for a given date range and then dozens of exceptions for specific dates. Most people are overwhelmed that. Consequently, changing hours often involves not only administrative changes but also assistance from technical people. It needs to be simple for admin assistants to refactor the hours. Lastly, from my experience the biggest problem is propagating changes throughout multiple systems. Yes, not all changes can be done by administrative assistants from some single management tool (e.g. systems staff may have to modify the ILS calendar) but there needs to be an easy way to determine the specific changes between each change... Like a diff, so that changes are easy to delegate to appropriate staff. Looking over my email, such features would be incredibly difficult to implement well, but at least from my experience they're the actual problems that plague libraries. Honestly, we'll conform to whatever technical implementation you choose (hell, I'd accept some bizarre MARC-encoded hours) so long as you actually tackle the real problems. Otherwise, it's just some web service that can be easily implemented in an hour and is useless. Brice Stacey UMass Boston Sent from my iPad On Jun 7, 2011, at 5:28 PM, Doran, Michael D do...@uta.edu wrote: I am building a little web service that spits out info on when the libraries (a central library and two branches) are open and what the hours are for that day. As those who work in academic libraries know, it's not the *regular* hours, but all the exception dates/hours that are important (Spring break, Maymester, intersession, Christmas holidays, yadda, yadda). This app knows all the exceptions. The basic idea is that it provides real-time, is it open right now info for *today* (as well as today's hours). If this sounds mobile-y, it's because it was originally conceived as an addition to our Library's mobile website. I'm trying to figure out the most flexible output markup (RDF schema?), one that would allow the widest use of the web service in addition to outputting HTML markup for a mobile site page. I've googled and found a few things, but nothing that really seems to fit. Most of them (e.g. the RDF OpeningHoursUseCase on W3C [1]) are more about rules for recurring intervals. My interest is not in representing the totality of the schedule (again, because of all the exception
Re: [CODE4LIB] RDF for opening times/hours?
On Tue, Jun 7, 2011 at 4:28 PM, Doran, Michael D do...@uta.edu wrote: I'm trying to figure out the most flexible output markup (RDF schema?), one that would allow the widest use of the web service in addition to outputting HTML markup for a mobile site page. Not to start an RDF -vs- Microformats -vs- schema.org flamewar (how has there not been one on this list yet?)... but: you might consider the schema.org openingHours property, detailed in: http://schema.org/LocalBusiness It'd be pretty trivial to make a version that just returned today's hours, or (probably better) used some CSS to display them more prominently to visual clients. The nice thing about the microdata / microformat (or RDFa) approach is that you can just serve (x)?HTML, letting machines grab the data they want and humans see the content they want. Cheers, -Nate
Re: [CODE4LIB] RDF for opening times/hours?
On Tue, Jun 7, 2011 at 7:18 PM, Owen Stephens o...@ostephens.com 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
Re: [CODE4LIB] RDF for opening times/hours?
On Wed, Jun 8, 2011 at 10:00 AM, Simon Spero s...@unc.edu wrote: [cue edsu ] And people wonder why Google/Yahoo/Bing chose to favor html5 microdata on schema.org :-) //Ed
Re: [CODE4LIB] RDF for opening times/hours?
On Wed, Jun 8, 2011 at 10:23 AM, Ed Summers e...@pobox.com wrote: On Wed, Jun 8, 2011 at 10:00 AM, Simon Spero s...@unc.edu wrote: [cue edsu ] And people wonder why Google/Yahoo/Bing chose to favor html5 microdata on schema.org :-) HTML is an output format; BTW, if you didn't see it, the folks at DERI created http://schema.rdfs.org/ (https://github.com/mhausenblas/schema-org-rdf)
Re: [CODE4LIB] RDF for opening times/hours?
On Wed, Jun 8, 2011 at 9:39 AM, Simon Spero s...@unc.edu wrote: HTML is an output format; Everyone's output format is someone else's input format. -Nate
Re: [CODE4LIB] RDF for opening times/hours?
In the end, it is only the output format that matters to anyone except the data producer/holder. You can have whatever you want in your system and I could not care less -- I only care when I need to process data you provide, and at that moment I cared deeply how you provide it. What I care deeply about is that it be provided in as simple a format as possible while not losing any of the granularity, semantics, etc. that my application requires. Given that, if Schema.org works for me I won't go any farther, and I happen to hold the view that I am more like the rest of the planet than not. Roy On Wed, Jun 8, 2011 at 7:39 AM, Simon Spero s...@unc.edu wrote: On Wed, Jun 8, 2011 at 10:23 AM, Ed Summers e...@pobox.com wrote: On Wed, Jun 8, 2011 at 10:00 AM, Simon Spero s...@unc.edu wrote: [cue edsu ] And people wonder why Google/Yahoo/Bing chose to favor html5 microdata on schema.org :-) HTML is an output format; BTW, if you didn't see it, the folks at DERI created http://schema.rdfs.org/ (https://github.com/mhausenblas/schema-org-rdf)
Re: [CODE4LIB] RDF for opening times/hours?
schema.org may have some potential, but it's not clear to me how the LocalBusiness/openingHours is supposed to work with anything but regular hours... Here's how openingHours are described at http://schema.org/LocalBusiness The opening hours for a business. Opening hours can be specified as a weekly time range, starting with days, then times per day. Multiple days can be listed with commas ',' separating each day. Day or time ranges are specified using a hyphen '-'. - Days are specified using the following two-letter combinations: Mo, Tu, We, Th, Fr, Sa, Su. - Times are specified using 24:00 time. For example, 3pm is specified as 15:00. Here is an example: time itemprop=openingHours datetime=Tu,Th 16:00-20:00Tuesdays and Thursdays 4-8pm/time So how would one indicate different hours on different days? Is there more documentation that I'm missing? If I wanted to create a service to take this data an calculate whether the business is open right now, I'm still stuck having to parse and interpret a text string, which defeats the purpose of having this information encoded as data. Keith
Re: [CODE4LIB] RDF for opening times/hours?
On Wed, Jun 8, 2011 at 12:28 PM, Keith Jenkins k...@cornell.edu wrote: - Days are specified using the following two-letter combinations: Mo, Tu, We, Th, Fr, Sa, Su. - Times are specified using 24:00 time. For example, 3pm is specified as 15:00. Here is an example: time itemprop=openingHours datetime=Tu,Th 16:00-20:00Tuesdays and Thursdays 4-8pm/time So how would one indicate different hours on different days? Is there more documentation that I'm missing? Maybe I'm missing the point completely (I haven't looked at this at all) but wouldn't that just be: time itemprop=openingHours datetime=Mo,We,Fri 17:00-21:00Mondays, Wednesdays, and Fridays 5-9pm/time time itemprop=openingHours datetime=Tu,Th 16:00-20:00Tuesdays and Thursdays 4-8pm/time Kevin
Re: [CODE4LIB] RDF for opening times/hours?
On Wed, Jun 8, 2011 at 11:45 AM, Kevin S. Clarke kscla...@gmail.com wrote: time itemprop=openingHours datetime=Mo,We,Fri 17:00-21:00Mondays, Wednesdays, and Fridays 5-9pm/time Or, if you just want to talk about http://library.example.com/hours/today, (which I think is what the OP was about?) you could do: time itemprop=openingHours datetime=We 8:00-21:00Open today (Wednesday, June 8) from 8:00 am to 5:00 pm/time Note that if you're open from, say, 8:00 AM to 2:00 AM, it raises some interesting discussions about what exactly goes in those time ranges, and when today should change. I'd vote datetime=We 8:00-2:00 and changing today shortly after 2am, but there are valid arguments that that's a dumb vote. The easy solution: change policy to never be open past midnight ;-) Cheers, -Nate
Re: [CODE4LIB] RDF for opening times/hours?
You can't necessarily say We 8:00-2:00 because your closing hour could be after your opening hour on the next day and it would be ambiguous. E.g. Opening at 2am and closing the next day at 4am. I know that's absurd for most libraries but it may happen. A better example is when a library stays open overnight just one day a week. Ideally, if working with times with date granularity you should honor that choice and say We 8:00-24:00 and Th 0:00-2:00. Then, when creating human readable formats you always check tomorrow in the event today's closing time is midnight. Brice — Sent from my iPhone On Jun 8, 2011, at 1:00 PM, Nate Vack njv...@wisc.edu wrote: On Wed, Jun 8, 2011 at 11:45 AM, Kevin S. Clarke kscla...@gmail.com wrote: time itemprop=openingHours datetime=Mo,We,Fri 17:00-21:00Mondays, Wednesdays, and Fridays 5-9pm/time Or, if you just want to talk about http://library.example.com/hours/today, (which I think is what the OP was about?) you could do: time itemprop=openingHours datetime=We 8:00-21:00Open today (Wednesday, June 8) from 8:00 am to 5:00 pm/time Note that if you're open from, say, 8:00 AM to 2:00 AM, it raises some interesting discussions about what exactly goes in those time ranges, and when today should change. I'd vote datetime=We 8:00-2:00 and changing today shortly after 2am, but there are valid arguments that that's a dumb vote. The easy solution: change policy to never be open past midnight ;-) Cheers, -Nate
Re: [CODE4LIB] RDF for opening times/hours?
On Wed, Jun 8, 2011 at 1:45 PM, Brice Stacey brice.sta...@umb.edu wrote: You can't necessarily say We 8:00-2:00 because your closing hour could be after your opening hour on the next day and it would be ambiguous. E.g. Opening at 2am and closing the next day at 4am. Hm, good point. Ideally, if working with times with date granularity you should honor that choice and say We 8:00-24:00 and Th 0:00-2:00. Then, when creating human readable formats you always check tomorrow in the event today's closing time is midnight. And there's nothing in the spec, as far as I can tell, that says you can't do something like: time itemprop=openingHours datetime=Th 0:00-2:00Thursday: Open until 2:00 AM/time time itemprop=openingHours datetime=Th 8:00-20:00Reopens from 8:00 AM until 8:00 PM/time In practice, as long as what you do makes sense to human readers and machines, you're probably doing fine. -n
Re: [CODE4LIB] RDF for opening times/hours?
On Wed, Jun 8, 2011 at 3:08 PM, Nate Vack njv...@wisc.edu wrote: On Wed, Jun 8, 2011 at 1:45 PM, Brice Stacey brice.sta...@umb.edu wrote: You can't necessarily say We 8:00-2:00 because your closing hour could be after your opening hour on the next day and it would be ambiguous. E.g. Opening at 2am and closing the next day at 4am. Hm, good point. Ideally, if working with times with date granularity you should honor that choice and say We 8:00-24:00 and Th 0:00-2:00. Then, when creating human readable formats you always check tomorrow in the event today's closing time is midnight. And there's nothing in the spec, as far as I can tell, that says you can't do something like: time itemprop=openingHours datetime=Th 0:00-2:00Thursday: Open until 2:00 AM/time time itemprop=openingHours datetime=Th 8:00-20:00Reopens from 8:00 AM until 8:00 PM/time Good Relations explicitly allows (and requires) multiple openingHours entities in this situation. There are some important potential semantic differences between two contiguous time intervals, and a single temporally continuous time interval. If there are semantics attached to Closing, then even though there may be no point of time in between the Closing and the Opening, there has none-the-less been a ClosingEvent. This may affect statistics, fines, or even more significantly wages (when I worked at the Technion, the union contract had overtime rates kick in after 8hrs worked on a given workday. Since as a systems programmer I would often get stuck working past midnight, this would show as up as clocking out at 26:00 hrs) Male, Female, or Mulehttp://ontolog.cim3.net/forum/ontology-summit/2011-01/msg00060.html ? Simon
[CODE4LIB] RDF for opening times/hours?
I am building a little web service that spits out info on when the libraries (a central library and two branches) are open and what the hours are for that day. As those who work in academic libraries know, it's not the *regular* hours, but all the exception dates/hours that are important (Spring break, Maymester, intersession, Christmas holidays, yadda, yadda). This app knows all the exceptions. The basic idea is that it provides real-time, is it open right now info for *today* (as well as today's hours). If this sounds mobile-y, it's because it was originally conceived as an addition to our Library's mobile website. I'm trying to figure out the most flexible output markup (RDF schema?), one that would allow the widest use of the web service in addition to outputting HTML markup for a mobile site page. I've googled and found a few things, but nothing that really seems to fit. Most of them (e.g. the RDF OpeningHoursUseCase on W3C [1]) are more about rules for recurring intervals. My interest is not in representing the totality of the schedule (again, because of all the exception dates/times) but in representing one day (i.e. today). So I don't care about representing recurring intervals. And actually, the Outsider Comments use cases at the bottom of the OpeningHoursUseCase site mentioned above are almost exactly what I'm trying to satisfy (just substitute library where you see shop or restaurant): quote I'm looking for exactly this xml, but this seems to be very complex,and going off in different tangents. Here are my use cases: - I wish to go to a shop or restaurant, and I wish to know if it's open for the next few hours. - It's late at night, and I need to go to the drug store or a small market. I wish to be able to search for a business that is open right now. The search should happen on a mapping site, or a web search site. - I have business with a microbusiness that's open only a few days a week. It's important enough for me to bring their schedule into my calendar, temporarily, so I can get there when they're open. - I want to coordinate a trip and run a few errands. I would like to get all the hours for relevant businesses on a specific day. I can sort through the hours myself. /quote I also saw that opening times in RDF was listed as a use case in the Code4Lib wiki Library Ontology page [2]. However in the Relevant formats and models section the links just complete the loop back to things like the OpeningHoursUseCase previously mentioned. Anyone done anything like this? Any ideas? Suggestions? (This is my first baby-step into RDF, so don't assume any prior knowledge on my part.) -- Michael [1] http://www.w3.org/wiki/OpeningHoursUseCase [2] http://wiki.code4lib.org/index.php/Library_Ontology # Michael Doran, Systems Librarian # University of Texas at Arlington # 817-272-5326 office # 817-688-1926 mobile # do...@uta.edu # http://rocky.uta.edu/doran/
Re: [CODE4LIB] RDF for opening times/hours?
There was a time, about 5 years ago, when I assumed that microformats were the way to go and spent a bit of time looking at hCalendar for representing iCalendar-formatted event information. http://microformats.org/wiki/hcalendar Not long after that, there was a lot of talk about RDF and RDFa for this same purpose. Now I was confused as to whether to change my strategy or not, but RDF Calendar seemed to be a good idea. The latter also was nice because it could be used to syndicate event information via RSS. http://pemberton-vandf.blogspot.com/2008/06/how-to-do-hcalendar-in-rdfa.html http://www.w3.org/TR/rdfcal/ These days it seems to be all about HTML5 microdata, especially because of Rich Snippets and Google's support for this approach. http://html5doctor.com/microdata/#microdata-action All three approaches allow you to embed iCalendar formatted event information on a web page. All three of them do it differently. I'm even more confused now than I was 5 years ago. This should not be this hard, yet there is still no definitive way to deploy this information and preserve the semantics of the event information. Part of this may be because the iCalendar format, although widely used, is itself insufficient. Tom
Re: [CODE4LIB] RDF for opening times/hours?
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 Owen On 7 Jun 2011, at 23:05, Tom Keays tomke...@gmail.com wrote: There was a time, about 5 years ago, when I assumed that microformats were the way to go and spent a bit of time looking at hCalendar for representing iCalendar-formatted event information. http://microformats.org/wiki/hcalendar Not long after that, there was a lot of talk about RDF and RDFa for this same purpose. Now I was confused as to whether to change my strategy or not, but RDF Calendar seemed to be a good idea. The latter also was nice because it could be used to syndicate event information via RSS. http://pemberton-vandf.blogspot.com/2008/06/how-to-do-hcalendar-in-rdfa.html http://www.w3.org/TR/rdfcal/ These days it seems to be all about HTML5 microdata, especially because of Rich Snippets and Google's support for this approach. http://html5doctor.com/microdata/#microdata-action All three approaches allow you to embed iCalendar formatted event information on a web page. All three of them do it differently. I'm even more confused now than I was 5 years ago. This should not be this hard, yet there is still no definitive way to deploy this information and preserve the semantics of the event information. Part of this may be because the iCalendar format, although widely used, is itself insufficient. Tom
Re: [CODE4LIB] RDF for opening times/hours?
Honestly, the API and schema are second to UX to manage the hours. The actual API to the web service is trivial and just a matter of deciding on an interface and schema that you like and that most future-proofs your work. Personally, I would probably disregard it unless it has a JSONP format so that I can easily include it on pages using JavaScript. If it was some overly complex RDF thing I'd only consider it if it had amazing management of the hours. Which brings me to my main point... It needs to be simple and flexible such that a layman can manage it. Currently tools are designed for easy data transfer to databases, e.g. a list of defaults for a given date range and then dozens of exceptions for specific dates. Most people are overwhelmed that. Consequently, changing hours often involves not only administrative changes but also assistance from technical people. It needs to be simple for admin assistants to refactor the hours. Lastly, from my experience the biggest problem is propagating changes throughout multiple systems. Yes, not all changes can be done by administrative assistants from some single management tool (e.g. systems staff may have to modify the ILS calendar) but there needs to be an easy way to determine the specific changes between each change... Like a diff, so that changes are easy to delegate to appropriate staff. Looking over my email, such features would be incredibly difficult to implement well, but at least from my experience they're the actual problems that plague libraries. Honestly, we'll conform to whatever technical implementation you choose (hell, I'd accept some bizarre MARC-encoded hours) so long as you actually tackle the real problems. Otherwise, it's just some web service that can be easily implemented in an hour and is useless. Brice Stacey UMass Boston Sent from my iPad On Jun 7, 2011, at 5:28 PM, Doran, Michael D do...@uta.edu wrote: I am building a little web service that spits out info on when the libraries (a central library and two branches) are open and what the hours are for that day. As those who work in academic libraries know, it's not the *regular* hours, but all the exception dates/hours that are important (Spring break, Maymester, intersession, Christmas holidays, yadda, yadda). This app knows all the exceptions. The basic idea is that it provides real-time, is it open right now info for *today* (as well as today's hours). If this sounds mobile-y, it's because it was originally conceived as an addition to our Library's mobile website. I'm trying to figure out the most flexible output markup (RDF schema?), one that would allow the widest use of the web service in addition to outputting HTML markup for a mobile site page. I've googled and found a few things, but nothing that really seems to fit. Most of them (e.g. the RDF OpeningHoursUseCase on W3C [1]) are more about rules for recurring intervals. My interest is not in representing the totality of the schedule (again, because of all the exception dates/times) but in representing one day (i.e. today). So I don't care about representing recurring intervals. And actually, the Outsider Comments use cases at the bottom of the OpeningHoursUseCase site mentioned above are almost exactly what I'm trying to satisfy (just substitute library where you see shop or restaurant): quote I'm looking for exactly this xml, but this seems to be very complex,and going off in different tangents. Here are my use cases: - I wish to go to a shop or restaurant, and I wish to know if it's open for the next few hours. - It's late at night, and I need to go to the drug store or a small market. I wish to be able to search for a business that is open right now. The search should happen on a mapping site, or a web search site. - I have business with a microbusiness that's open only a few days a week. It's important enough for me to bring their schedule into my calendar, temporarily, so I can get there when they're open. - I want to coordinate a trip and run a few errands. I would like to get all the hours for relevant businesses on a specific day. I can sort through the hours myself. /quote I also saw that opening times in RDF was listed as a use case in the Code4Lib wiki Library Ontology page [2]. However in the Relevant formats and models section the links just complete the loop back to things like the OpeningHoursUseCase previously mentioned. Anyone done anything like this? Any ideas? Suggestions? (This is my first baby-step into RDF, so don't assume any prior knowledge on my part.) -- Michael [1] http://www.w3.org/wiki/OpeningHoursUseCase [2] http://wiki.code4lib.org/index.php/Library_Ontology # Michael Doran, Systems Librarian # University of Texas at Arlington # 817-272-5326 office # 817-688-1926 mobile #
Re: [CODE4LIB] RDF for opening times/hours?
I wonder if you could get by using Google Calendar as the 'interface', consumed via client and then published in whatever human-readable and semantic formats you wanted. I _think_ Google Calendar lets you create repeating events, which should then be exposed by it's iCal API. I think of this because there was in fact a Code4Lib Journal article about that, although I forget the details: http://journal.code4lib.org/articles/46 From: Code for Libraries [CODE4LIB@LISTSERV.ND.EDU] on behalf of Brice Stacey [brice.sta...@umb.edu] Sent: Tuesday, June 07, 2011 11:27 PM To: CODE4LIB@LISTSERV.ND.EDU Subject: Re: [CODE4LIB] RDF for opening times/hours? Honestly, the API and schema are second to UX to manage the hours. The actual API to the web service is trivial and just a matter of deciding on an interface and schema that you like and that most future-proofs your work. Personally, I would probably disregard it unless it has a JSONP format so that I can easily include it on pages using JavaScript. If it was some overly complex RDF thing I'd only consider it if it had amazing management of the hours. Which brings me to my main point... It needs to be simple and flexible such that a layman can manage it. Currently tools are designed for easy data transfer to databases, e.g. a list of defaults for a given date range and then dozens of exceptions for specific dates. Most people are overwhelmed that. Consequently, changing hours often involves not only administrative changes but also assistance from technical people. It needs to be simple for admin assistants to refactor the hours. Lastly, from my experience the biggest problem is propagating changes throughout multiple systems. Yes, not all changes can be done by administrative assistants from some single management tool (e.g. systems staff may have to modify the ILS calendar) but there needs to be an easy way to determine the specific changes between each change... Like a diff, so that changes are easy to delegate to appropriate staff. Looking over my email, such features would be incredibly difficult to implement well, but at least from my experience they're the actual problems that plague libraries. Honestly, we'll conform to whatever technical implementation you choose (hell, I'd accept some bizarre MARC-encoded hours) so long as you actually tackle the real problems. Otherwise, it's just some web service that can be easily implemented in an hour and is useless. Brice Stacey UMass Boston Sent from my iPad On Jun 7, 2011, at 5:28 PM, Doran, Michael D do...@uta.edu wrote: I am building a little web service that spits out info on when the libraries (a central library and two branches) are open and what the hours are for that day. As those who work in academic libraries know, it's not the *regular* hours, but all the exception dates/hours that are important (Spring break, Maymester, intersession, Christmas holidays, yadda, yadda). This app knows all the exceptions. The basic idea is that it provides real-time, is it open right now info for *today* (as well as today's hours). If this sounds mobile-y, it's because it was originally conceived as an addition to our Library's mobile website. I'm trying to figure out the most flexible output markup (RDF schema?), one that would allow the widest use of the web service in addition to outputting HTML markup for a mobile site page. I've googled and found a few things, but nothing that really seems to fit. Most of them (e.g. the RDF OpeningHoursUseCase on W3C [1]) are more about rules for recurring intervals. My interest is not in representing the totality of the schedule (again, because of all the exception dates/times) but in representing one day (i.e. today). So I don't care about representing recurring intervals. And actually, the Outsider Comments use cases at the bottom of the OpeningHoursUseCase site mentioned above are almost exactly what I'm trying to satisfy (just substitute library where you see shop or restaurant): quote I'm looking for exactly this xml, but this seems to be very complex,and going off in different tangents. Here are my use cases: - I wish to go to a shop or restaurant, and I wish to know if it's open for the next few hours. - It's late at night, and I need to go to the drug store or a small market. I wish to be able to search for a business that is open right now. The search should happen on a mapping site, or a web search site. - I have business with a microbusiness that's open only a few days a week. It's important enough for me to bring their schedule into my calendar, temporarily, so I can get there when they're open. - I want to coordinate a trip and run a few errands. I would like to get all the hours for relevant businesses on a specific day. I can sort through the hours