Hi there,
As of yesterday, lib.reviews supports searching Wikidata, so you can quickly write a review (think "1-5 stars") of anything with a Wikidata entry. See more here:
https://lib.reviews/team/developers/post/b2245981-0e59-427f-a7fe-8e685b82765...
lib.reviews is an open source, free content, multilingual, nonprofit platform for reviewing anything (except living people). Registration still needs invite codes (until we have better anti-spam and moderation tools) -- feel free to email me offlist if you want one.
== Implementation ==
Autocompletion is done via the wbsearchentities API, and individual entries are looked up via wbgetentities. We perform client-side filtering to remove results that include phrases such as "Wikimedia disambiguation page", which are not relevant in this context. (This is done via a regex blacklist that can be different for each language.) The client performs a "shallow" lookup for only the information the user cares about, while upon save, the server performs a "deep" lookup, e.g., it gets descriptions in languages the user doesn't care about.
Each review is associated with a "thing" (similar to an item in Wikidata), and when you review via Wikidata, labels and descriptions in all supported lib.reviews languages are loaded automatically. We don't "sync" this data regularly yet -- that's an upcoming feature.
You can either use the search box, or put a Wikidata URL directly into the URL input field -- the information is looked up either way. And if you don't have JavaScript enabled, we still fetch all the item metadata server-side for any Wikidata URL.
== What's Next ==
In addition to automatic synchronization, we'll provide increasing support for metadata that's relevant to reviews. These features are intricately linked: as much as possible, we want to avoid duplicating work, so pulling from free/open databases and keeping that information up to date is our preferred way of handling review subject metadata.
The system we use for plugging into Wikidata is meant to evolve into a generic "adapter" architecture. The next adapter will likely be OpenStreetMap, so it's possible to select an object on a map (e.g., a restaurant) and use that as a starting point for a review. OSM has a lot of data that Wikidata doesn't, e.g., opening times for shops and restaurants.
If more people start using it, it may also make sense to write a bot to back-link from Wikidata to lib.reviews (there's already a property for this: https://www.wikidata.org/wiki/Property:P3308 ).
== Questions and Notes ==
- Is there a better way to exclude disambiguation pages and similar meta-content from an autocompletion than what I'm currently doing (client-side filtering)? I didn't find a way to restrict wbsearchentities results by claim, for example.
- Progress on https://phabricator.wikimedia.org/T97566 would help a lot to clean up descriptions on some items. For applications like this one, items with descriptions like "for the best-known species, see Q10757112; for the genus, see Q8666090" are really problematic.
== Getting Involved ==
The most important thing for the success of the project right now is slowly growing the community of reviewers. So, if you want to review books, movies, etc., please ask me for a code and get involved! If you've written reviews on sites like IMDB or Goodreads, I wrote a browser extension called https://freeyourstuff.cc/ a while ago that lets you export these -- there's no automatic import feature for lib.reviews yet, but it should still save some time when copying things over. Besides, FYS provides online backup to a community-mirrored database, so it's a good way to liberate your content either way.
As for development, the project is fully open and there are lots of areas that any motivated person can work on. For example, improving the rich-text editor component, improving file uploads, adding image thumbnail generation, etc.
Find us here: - Main site: https://lib.reviews/ - GitHub: https://github.com/eloquence/lib.reviews - IRC: #lib.reviews on irc.freenode.net (also a fine place to ask for an invite code)
This is all still in early development & bug reports are always welcome.
Cheers :)
Erik