[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