Skip to content

Use wikidata id to represent tags #352

Description

  • PeerTube version or commit: 1.0.0-alpha.8

  • What is the expected behaviour?

Tags will only be useful if videos about the same topic all use the same tag. It would be good to be able to list all tags and to be able to delete or “rename” a tag.

  • What do you see instead?

There is currently no way to browse tags. Changing a tag in multiple videos requires to visit the metadata page for each video, which can be pretty tedious.

Activity

  1. maxlath commented on Mar 29, 2018

    @maxlath

    Following up on the conversation with @Chocobozzz at the JDLL and on mastodon, here is how I think the task of deduplicating tags could be eased by the use of Wikidata items:

    Each Wikidata item represents a concept: as a first approximation, 1 Wikipedia article => 1 Wikidata item.
    Example:

    • the city of London, a.k.a. Londres in French or Londra in Italian, is uniquely identified in Wikidata as Q84
    • exoplanets, a.k.a. extrasolar planets, Экзапланета in Belarusian, or كوكب خارج المجموعة الشمسية in Arab have the unique id Q44559

    This means that you can search for any of those terms in any of those languages and be gently redirected to the uniquely identified concept:

    This is thank to the fact that each of those items can have one main label and a series of aliases in each languages.

    This disambiguation makes it a great base for a tagging system, the hard work of deduplicating concepts being done by the Wikidata community.

    It also gives structured relationships between topics: see how Quora uses it

    But building PeerTube tagging system on top of Wikidata would have another major virtue: it would link the tags to the Wikidata-aware web of data! We could for instance easily link to each others between PeerTube and Inventaire:

    I would love to be able to suggest a list of videos on a given topic on those different Inventaire pages: if there was a way to query PeerTube instances APIs to aggregate such a list using Wikidata items ids, that would be crazily awesome :D

    As a bonus (I don't see an application in PeerTube yet, but let's see), out of this possibility to link between systems using the Wikidata ids, Wikidata also provides you with identifiers in many databases: it can tell you that Q84 equivalent in OpenStreetMap is 65606 or 119861367 at BNF, etc. which allows to crosswalk from one identifier system to another:

    As you can see, I'm quite enthusiastic about it, so feel free to ask for any further explanation ^^

    Limits

    The limit of this idea is that you depend on what is in Wikidata: for instance, you couldn't tag a video with a JDLL 2018 tag (there is JDLL (Q3187082) but not JDLL 2018) or a [insert your unknown association/school/new concept] tag (see Wikidata notability criteria). A suggestion to work around it: make the tag input autosuggest Wikidata items when typing, but if none is selected, still allow to create the tag: it will just be a plain string, not linked to anything but the other plain string tags.

    Further readings

  2. nicolasmaia commented on Jun 9, 2018

    @nicolasmaia

    I second this, using Wikidata tags would greatly enrich the content metadata.

  3. changed the title [-]Allow moderators or administrators to curate tags[/-] [+]Use wikidata id to represent tags[/+] on Dec 13, 2018
  4. 3risian commented on Mar 3, 2020

    @3risian
    Contributor

    I think this is a great idea. If no progress has been made, I might try and prototype something like it.

    How I am thinking of implementing this: (critique wanted)

    • User uploads video. When typing a tag, the client checks for either aliases or search results on WikiData and lists them for the user to see (there can be an option to ignore the suggestions).
    • If a user selects a WikiData suggestion, the tag becomes something like "wikidata:Q50938515", which the client renders as the localized name of that tag (so an English client will see the tag as "PeerTube"), with a visible hyperlink to the associated Wikipedia page.
    • A list of WikiData aliases for that tag is then added to a new database row of 'wikidata_tags', which function like tags but are managed automatically by the server, hidden from the uploader or viewers. This way, searching does not become any more complicated for the end user and should now work with aliases and localizations.

    The only side effect I can think of is that the WikiData aliases may change (I already found one that needs fixing!) which should eventually result in the wikidata_tags changing to match it. The server could be set to update wikidata tags weekly or monthly?

  5. Poslovitch commented on Jul 18, 2021

    @Poslovitch
    Contributor

    The only side effect I can think of is that the WikiData aliases may change (I already found one that needs fixing!) which should eventually result in the wikidata_tags changing to match it. The server could be set to update wikidata tags weekly or monthly?

    That's what I'd recommend doing. While most of the time the labels/aliases of the Wikidata items won't change much, there's always the possibility that someone adds a label for a language, or that they remove an alias that's actually not referring to the proper "concept".


    Overall, I second this feature request. @maxlath explained in great length what possibilities it'd bring to make PeerTube "Wikidata-aware". And while they're talking of books, in my case I'm interested about the video games. I'd love to replicate those "cards" that YouTube puts in the description of the video games video that takes you to a YouTube Gaming "channel" of all the videos made on said game. But that would be the job of a plugin, right?

    I'd love to work on that issue though. If I do, I'll link my branch to this issue so that if I give up, anyone could start back on what I'd have already created.

  6. cscott commented on Nov 21, 2022

    @cscott

    See also a discussion about/spec for wikidata tagging on mastodon at https://wikidata.org/wiki/Wikidata:Mastodon_tags_with_QIDs

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions