RestaurantsInAddressbooks

From W3C Wiki

The thing about RestaurantRecommendation and the SemanticWeb is having practical ways of storing and sharing review data.

Here's an entry from DanConnolly's palm address book, converted using PalmAgent and edited lightly. The fact that I bothered to put in into my PDA suggests that I like it. The fact that I didn't mark it as private suggests that I'm willing to share it.


  <rdf:Description rdf:about='#8725181'>
    <pa:company>Carmello's Italian Restaurant</pa:company>
    <pa:address>504 E. 5th Street</pa:address>
    <pa:city>Austin</pa:city>
    <pa:state>TX</pa:state>
    <pa:Fax>512-477-1620</pa:Fax>
    <pa:Work>512-477-7497</pa:Work>
    <pa:zipCode>78701</pa:zipCode>
    <pa:custom1>1999-08-12</pa:custom1>
    <pa:note>gift certificate from Miyo christmas 1998</pa:note>
    <pdb:id>8725181</pdb:id>
    <pdb:category>5</pdb:category>
    <pdb:private>0</pdb:private>
    <pa:display
    rdf:resource='http://www.w3.org/2000/08/palm56/addr#Work' />
  </rdf:Description>


Hmm... suppose I wanted to use my PDA to manage/author some restaurant recommendations... maybe every time I sync, I want my restaurantRecommendations.rdf thingy in the web to be updated w.r.t. the stuff in my palmpilot. I could use PalmAgent to get the data in .rdf, then cwm with something like...



{
  <addrBook.rdf> [ log:semantics [ log:includes {
    ?R pa:company ?N; pa:address ?STADDR; pa:city ?CITY; pa:state ?ST; pa:zipCode ?ZIP; pa:Work ?PH.
    ?N [ str:includes "Restaurant" ].
  } ] ].
} => {
    ?R a findFood:Restaurant.
    ?WHO findFood:recommends ?R.
    ?R pa:company ?N; pa:address ?STADDR; pa:city ?CITY; pa:state ?ST; pa:zipCode ?ZIP; pa:Work ?PH.
}.


I'm making findFood: up here, of course.

It might be nice to generalize these rules so they'd work in a wider context than just my address book. But while rules like "businesses with 'Restauratant' in their names are restaurants" are useful in the context of my PDA, we don't really mean them to apply to the general case, since "Bob's Restaurant Inspection Service" is a name for a business that probably isn't a restaurant.

Of course, we should be able to relate some of these data to GeoInfo... that's not actually a city but a city name (ThingsVersusTheirNames). Hmm... weather underground (LinkMe) is a great source of geo and timezone info. We could use it to get the lat/long of the city. We could use the yahoo yellow pages to get the lat/long of the restaurant itself in lots of cases.

Hmm... how far can we exploit the fact that restaurants and phone numbers are pretty much 1-1? Can we squeeze "the restaurant you get by calling 512-477-7497" into a really useful URI? Perhaps use it as the basis of a backlink-based discovery service?

Other ideas... personal addressbooks aren't the only relevant sources here... the yahoo yellow pages is a great source of objective information. We can correlate stuff like phone numbers from PDAs to sources like yahoo to get driving directions.