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-8e685b8276…
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