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
_______________________________________________
Wikia Community Mailing List. 

For information and subscriptions see 
http://lists.wikia.com/mailman/listinfo/wikia-l

Need staff help? Try http://www.wikia.com/wiki/Special:Contact

Reply via email to