[Wikia-l] Can wiki article voting data (wkvoteart) be leveraged in SMW queries ?

najevi najevi najevi at hotmail.com
Sat Jul 11 00:41:35 UTC 2009


A user may vote on each wiki article. (i.e. the 5 star "Rate this article" feature at the bottom of each wiki page) 

According to the the php.api documentation, that voting data appears to be stored in a list called wkvoteart.


Goal:  
When browsing and/or querying semantic data at a wiki it would be powerful to be able to use 
(i) the community's average vote for an article     and/or 
(ii) the current user's personal vote for an article

e.g. 

{{#ask: [[Category:Skins]] [[Averagevote::>4.5]] |?  = Page }}  
- to list all skin articles that have an average rating of higher than 4.5

or
 
{{#ask: [[Personalvote::>3]] |?Category:Skins |?Category:Boats }} 
- to list all skin and boat articles that the current user has given a 4 or 5 star rating but not a 3 star rating ... and to identify which pages belong to the category Skins and which belong to the category Boats.

The ideal solution:
For an given article title I can see how to find both 
(i) the community's average vote "votesavg" and 
(ii) the current user's personal vote "uservote" using:

api.php?action=query&list=wkvoteart&wkuservote&titles=<page-name>

So it would be nice if those two pieces of information could become accessible to semantic queries. 
Can any SMW expert see a way to achieving this?


Hacker's solution: 
A crude way of achieving almost the same result might be to create a semantic property "has_user_vote" with two values [[has type:: String; Number]] and then invite users to add their (username, vote) to a list of values annotated with "has_user_vote"

The problems with this approach are 
(1) paranoid users might not want to add their username to the semantic data for an article and 
(2) the list of users could become unwieldy and 
(3) a user adding/changing/deleting their personal vote could accidentally (or maliciously) edit another user's vote.

If I could leverage data in the wkvoteart list then user privacy is better protected and yet the current user could still select pages based on how they have personally voted.

Can anyone suggest a better way of doing this?






_________________________________________________________________
Bing™ finds low fares by predicting when to book. Try it now.
http://www.bing.com/travel/deals/airline-ticket-deals.do?form=MTRHPG&publ=WLHMTAG&crea=TXT_MTRHPG_Travel_Travel_TravelDeals_1x1
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.wikia.com/pipermail/wikia-l/attachments/20090711/d16f1250/attachment.html 


More information about the Wikia-l mailing list