[foaf-protocols] [foaf-dev] Resurrecting FOAF "wishlist" Effort

Jon Hanna jon at hackcraft.net
Thu Jan 15 11:41:32 CET 2009


Some time ago I played around with the idea of defining a class that 
could be the object of a statement with <foaf:tipJar> as its predicate 
and some related properties and classes.

At the time I had it quite nicely retrieving information from some of 
amazon's sites along with thinkgeek.com (so as to have at least two 
different sources with different formats imported, to demonstrate it not 
being tied to either) and rendering the resultant file.

Forgotten about, the code has rotted and stopped functioning at some 
point during an change to Amazon's API, and/or during a move of source 
files. Nor can I find the schema (though I'm sure I wrote one at some 
point). However, http://www.hackcraft.net/amwish/example.xml is an 
example of the RDF/XML produced should you find any of it of any interest.

Not having time to re-write the schema now, I'll quickly summarise:

Classes:

wish:Jar - a container of wishlists and other means of rewarding people 
(paypal account details, and details of ones favourite charities were 
forseen as further information that could be included). It was seen that 
wish:Jar files would be considered documents, and be used in statements 
with foaf:tipjar.

wish:List - a list of items one might enjoy recieving. A subclass of rdf:Bag

wish:Gift - an object (physical, virtual or conceptual) one might wish 
to receive.

wish:Book, wish:Electronics - subclasses of wish:Gift. I'm not sure that 
was a good idea, though wish:Book was also a subclass of dc:Document and 
I was more interested in playing about with metadata about books at the 
time than about wishlists.

Properties:

wish:rewards. Domain: wish:Jar. Range: foaf:Agent. The inverse of a 
subproperty of foaf:tipjar (with the domain restricted to wish:Jar, 
where the inverse of foaf:tipjar would have a domain of foaf:Document).

wish:hasList. Domain: wish:Jar. Range wish:List. States that the list 
referenced is part of the over-all tipjar.

wish:retailer. Domain: wish:List, Range foaf:Agent. The shop, 
online-store or other entity with whom the list is kept (Amazon keeping 
an amazon wishlist, bricks-and-mortar shops keeping wedding lists, etc.)

wish:price. Domain: wish:Gift, Range literal. How much the thing costs.

wish:rrp. Domain: wish:Gift, Range literal. Recommended Retail Price. 
Keeping one eye out for the marketing side :)

wish:availability: Domain: wish:Gift, Range literal (ideally more 
tightly spec'd than that). Is the thing available? If not, when will it be?

wish:description: Domain: wish:Gift, Range: literal. A description of 
the item. Probably better to use another element like dc:description, I 
think I was just a tad unsure of the semantics of some existing elements.



More information about the foaf-protocols mailing list