Logo of Wikidata

Welcome to Wikidata, Facenapalm!

Wikidata is a free knowledge base that you can edit! It can be read and edited by humans and machines alike and you can go to any item page now and add to this ever-growing database!

Need some help getting started? Here are some pages you can familiarize yourself with:

  • Introduction – An introduction to the project.
  • Wikidata tours – Interactive tutorials to show you how Wikidata works.
  • Community portal – The portal for community members.
  • User options – including the 'Babel' extension, to set your language preferences.
  • Contents – The main help page for editing and using the site.
  • Project chat – Discussions about the project.
  • Tools – A collection of user-developed tools to allow for easier completion of some tasks.

Please remember to sign your messages on talk pages by typing four tildes (~~~~); this will automatically insert your username and the date.

If you have any questions, don't hesitate to ask on Project chat. If you want to try out editing, you can use the sandbox to try. Once again, welcome, and I hope you quickly feel comfortable here, and become an active editor for Wikidata.

Best regards! Liuxinyu970226 (talk) 10:36, 8 January 2016 (UTC)Reply

Additions of country of origin (P495) based on OGDB edit

 

Noticed Special:Diff/1573737146 − looks good! Do you think you can add the ID (like on the image on the right and stated in Help:Sources#Databases)? That’s helpful if IDs are moved around, we can still figure out the source of the data. Jean-Fred (talk) 13:33, 6 February 2022 (UTC)Reply

@Jean-Frédéric, greetings! I was considering adding IDs to sources as well, but I wasn't sure about it, so I asked around. As far as I understood, stated in (P248) itself is enough for verifiability, and whether you should or should not duplicate ID at each reference is controversial, some consider it excessful and thereforce bad. As far as I'm concerned, people usually do not state database IDs at each reference (Józef Abramowicz (Q110820531) as an example) unless it's dubious. If I'm wrong and there's a strict consensus about that, please correct me.
Since I wasn't processing video games with more than one OGDB ID stated, I think it's pretty unambiguous so I sticked to stated in (P248) only. Facenapalm (talk) 14:32, 6 February 2022 (UTC)Reply
Thanks for the answer! Hmmm, I thought this was completely standard but I guess this is indeed more controversial than I though it was… :-/ No worries then :)
Thanks for the cool additions (both the country from OGDB and the IGDB numeric IDs) :)
Jean-Fred (talk) 15:00, 6 February 2022 (UTC)Reply
@Jean-Frédéric, thank you for kind words. :)
If you insist, I can include IDs next time I'll import something from databases. At least it's much easier to delete unnecessary ID rather than add missing one.
There's one case I've come up with: if there's an ID that was added to the wrong element, we'd better track it in all added statements. In that case we would be able to detect and revert all wrong statements. And that's clearly not the case for newly created items with only one reference (like Józef Abramowicz (Q110820531)). Facenapalm (talk) 15:22, 6 February 2022 (UTC)Reply

Отличная работа! edit

Привет! Я видел, как ты почти закончил вручную добавлять числовой идентификатор для свойства Internet Game Database game ID (P5794) к невероятному количеству элементов. Большое спасибо за проделанную работу! Несмотря на то, что данное свойство необязательно, оно пригодится, когда однажды IGDB перейдёт на числовые идентификаторы, и благодаря проделанной работе мы сможем очень быстро заменить ими URL-слаги. Ещё раз спасибо. Кстати, я предложил сделать то же самое и для Канобу (см. здесь). С уважением Kirilloparma (talk) 02:56, 8 February 2022 (UTC)Reply

@Kirilloparma, привет. Не вручную, я скрипт на Python написал. Теперь думаю насчёт того, чтобы пройтись про элементам с уже проставленным числовым идентификатором и проверить, не изменились ли где-то строковые. Facenapalm (talk) 12:39, 8 February 2022 (UTC)Reply
Здо́рово! Я сначала просто подумал, что ты вручную это сделал, так как в правках не было метки, теперь всё понятно. Теперь думаю насчёт того, чтобы пройтись про элементам с уже проставленным числовым идентификатором и проверить, не изменились ли где-то строковые. Кстати, это хорошая идея, потому что URL-слаги всегда нестабильны и могут быть изменены в любое время. Kirilloparma (talk) 21:59, 8 February 2022 (UTC)Reply

UVL qualifiers edit

Thanks! Doing something like that was on the back of my mind for a while − very glad to see you are doing it :) Jean-Fred (talk) 07:52, 4 April 2022 (UTC)Reply

@Jean-Frédéric, glad you appreciate it. ;)
What do you think about Original Chip Set (Q1969923), Advanced Graphics Architecture (Q379575) and Google Stadia (Q60309635)? UVL considers these a platforms, we don't, so adding them as a qualifier would result in warning.
So far I used Commodore Amiga (Q100047) instead of Original Chip Set (Q1969923) and skipped the other two, but I'm not sure about it. Facenapalm (talk) 10:44, 4 April 2022 (UTC)Reply

Epic Games Store IDs edit

Hey there,

Cool idea to add Epic IDs based on RAWG! Noticed Special:Diff/1623051786 which does not seem quite correct though :)

Jean-Fred (talk) 05:43, 22 April 2022 (UTC)Reply

Thank you for the notification! Already fixed the bug, but somehow didn't noticed this particular ID when I reverted uncorrect edits. Looks like that was the last one tho. Facenapalm (talk) 11:46, 22 April 2022 (UTC)Reply
Thanks! Jean-Fred (talk) 11:32, 24 April 2022 (UTC)Reply

Importing publication dates from Steam edit

I noticed that you used a script to import publication dates from Steam (e.g. Supermash (Q109458464)). I think this should probably be avoided due to its inaccuracy. For one, games are often released on other platforms _before_ PC/Steam (as is the case for Supermash, which actually released in 2019 according to IGDB). Then there's the problem of timed exclusives on other stores, like many games that release on the Epic Games Store first.

And then there are older games that were released in the 2000s, but were only published on Steam relatively recently.

There's also the problem of Early Access games and how release dates should be handled for those.

Generally, I think Steam should probably be avoided for publication dates specifically, or at least should be cross-checked with another source like IGDB before being used. Nicereddy (talk) 23:38, 21 June 2022 (UTC)Reply

@Nicereddy, greetings. Well, the main reason I started to import release dates is because of Steam's property constraints. I was clearing P1733 constraint violations, and I'm also importing release date (among other data) while creating new items mainly because if the desire to minimize issues count. If we don't consider Steam to be trustworthy enough for release dates, I think we should start with a discussion whether we should disable this constraint. Just like we don't have a constraint for publisher (P123) or developer (P178), even though we usually can get this information from steam page, it just requires human attention.
Hovewer, in most cases date importing looks perfectly fine to me:
1. If the game was published on another platform like Nintendo Switch before PC/Steam, we should add both dates to publication date (P577), with platform (P400) as a qualifier. So basically the edit ain't wrong, it's just incomplete.
2. Older games that were only published relatively recently, as far as I am concerned, usually have original release date stated on the store page (Etherlords as an example). Exceptions are remasters that should have separate element (like Baldur's Gate II: Enhanced Edition), or ports that should once again have several publication date (P577) values. On the other hand, some ports are basically the original game launched through emulator (like Daggefall), I'm not sure what we should do in that case.
3. If the game is unreleased or currently in early access, I'm not importing any date. Maybe one day I'll start to import early access release dates with qualifier object has role (P3831)=early access (Q17042291), but it's not set in stone yet.
Releasing the game on another store before Steam might be a problem tho. But then again, what's general solution to the case when different sources state different dates? Don't we add all of them to Wikidata and then use ranks to get rid of incorrect/unaccurate values? Since I'm stating the source of data, I'm still thinking it's fine. Facenapalm (talk) 00:28, 22 June 2022 (UTC)Reply

E-sports players and mains edit

Let's say we have an e-sports player who mains Mercy in Overwatch

Let's say we have an e-sports player who mains Scout, Demoman and Soldier in Team Fortress 2

Let's say we have an e-sports player who mains Jinx in League of Legends

How do we model this? Trade (talk) 22:07, 22 June 2022 (UTC)Reply

@Trade, greetings. I was wondering the same thing and haven't came up with the sultion yet. And, well, different genres would probably have diffrerent models.
As far as I know, there's no such thing as "maining Jinx in League of Legends". MOBA players main a certain role. For League of Legends, it's Top/Mid/Bot/Support/Jungle. For Heroes of the Storm, it's Tank/Carry/Support/Sololaner. Sure, some players have their "signature" characters, but it's impossible to main just a couple of them because of the pick/ban system. Some players don't even stick to one role and play as flex / substitute. I guess we can use position played on team / speciality (P413), and I guess a separate property for "signature characters" might be too much, because it would be extremely hard to find sources to fill that property for most of the players. Please correct me if I'm wrong.
In RTS, players stick to one race. For StarCraft, it's Terran/Zerg/Protoss. For WarCraft III, it's Human/Orc/Night Elf/Undead. I don't know the correct property to describe it, but describing this is crucial.
In TCGs, as far as I know, every player has to pretty much play everything, so no additinal properties required.
And I don't know anything about shooters and fighting games. Are there roles? Are players sticking to their own set or characters or are they forced to play everything? Facenapalm (talk) 22:48, 22 June 2022 (UTC)Reply
In the Team Fortress 2 competitive scene only 4 of the 9 classes are used in the most popular competitive format ('6vs6) and as such people typically only have one main
In Overwatch the competitive matchmaking are divided into DPS, Tanks, Supports or Flex (maining heros from all three roles) while some only main a specific hero
In fighting games people usually have one main, while in tag-team fighting games people are expected to create teams of multiple characters (usually 2 or 3) that they switch between during matches
I don't think position played on team / speciality (P413) is appropriate here. We need something like 'competes in e-sports game' and 'specializes in role/signature character(s)'
'Please correct me if I'm wrong' We can just use Liquipedia as source. --Trade (talk) 23:25, 22 June 2022 (UTC)Reply
@Trade: looks like Overwatch is the same to MOBA games in that regard. I'd name it "position played on team" and I see no problems with P413.
Signature characters should have a separate property in my opinion, since MOBA players would have both "position on team" and "signature characters" (if any), and using a single property for both of them would result in a model that's extremely hard to use because you'd have to distinguish these two classes.
And I still don't know what to do with RTS races. That's not a position on team since most RTS are solo disciplines. That's not a signature character. I'm not sure if "specialization" is a correct word either. It's pretty much a toolset that you choose at the beggining of your career, and you can't simply switch to another race because the mechanics are way different. Facenapalm (talk) 23:49, 22 June 2022 (UTC)Reply

So do you think we should have a property to 'competes in e-sports game'?--Trade (talk) 20:16, 26 June 2022 (UTC)Reply

@Trade, If you want to specify the games, I think sports discipline competed in (P2416) is enough, like here. I've already set instance of (P31) to esports discipline (Q112144412) in all items about popular e-sports games, so no constraints are violated in that case.
If you want to somehow specify roles/characters/races using this property, then the property name sounds misleading, and, as I said, one property is probably not enough. Facenapalm (talk) 21:46, 26 June 2022 (UTC)Reply

Basic games edit

I have heard 41.77.89.202 15:33, 12 July 2022 (UTC)Reply

Regarding new games imported from Steam edit

I noticed you're running a mass-import of games from Steam. Thank you! :) I'm not sure how many you plan on importing, but whenever you're done could you ping me? I'll run my scripts to pull in IGDB IDs and PCGamingWiki IDs for these items. Thanks, Nicereddy (talk) 02:56, 24 August 2022 (UTC)Reply

@Nicereddy, greetings. I've done importing 8floor (Q113587382)'s games, there should be about 200 new items.
I'm planning to continue importing other publishers / just newly released games when I get spare time, although I'm not sure if it would be as massive. (: In theory, I can launch a script to import everything that Steam have, but I'm afraid of duplicates so I'm keeping lauching it manually on smaller portions, checking every game beforehand. Facenapalm (talk) 13:23, 24 August 2022 (UTC)Reply
Yeah, I definitely think it's better to go at it in smaller chunks to avoid duplicates and other issues! I'll run my scripts later today :) Nicereddy (talk) 13:25, 24 August 2022 (UTC)Reply
FYI the God of War (Q817369) item looks like it has the wrong Steam ID. It's for the 2005 God of War game, but the Steam ID is for the more recent God of War reboot. So I'm going to remove a few things that were imported based on that incorrect Steam ID. Nicereddy (talk) 13:36, 24 August 2022 (UTC)Reply
Yeah, looks like the issue was in the Lutris database.
There's quite a few "Unique value" constraint violations, hope we'll resolve them one day. I'm working on them occasionally, but I can't find the strength to do much. Facenapalm (talk) 13:49, 24 August 2022 (UTC)Reply

New languages for steam_parser edit

Hey, I've stumbled upon MicroWorks (Q113861578) which required me to add the following languages to your steam_parser script :

        "Hebrew": get_item("Q9288"),
        "Lithuanian": get_item("Q9083"),

Thanks a lot for that parser, it's been extremely useful so far  . Poslovitch (talk) 10:11, 9 September 2022 (UTC)Reply

@Poslovitch: Updated the code, thanks! Also I'm extremely glad you're using the script. :)
I've also wrote some scripts to fill external IDs based on steam ID, you can find them handy as well. I personally create new items using this batch file (I'm running Windows):
python steam_parser.py input.txt %* -o temp.txt
python lutris_seek_id.py temp.txt
python mailru_seek_id.py temp.txt
python rawg_seek_id.py 1 temp.txt
python hltb_seek_id.py temp.txt
python riotpixels_seek_id.py temp.txt
del temp.txt
For Retimed (Q113833100), it resulted in this.
I should've probably set a proper git repository for people to download and update them in one click. Facenapalm (talk) 11:47, 9 September 2022 (UTC)Reply

I have made myself a small shell script (I'm a Linuxer) that runs the parser. I can add these additional scripts to it. I'll check them out, thank you for these as well. Poslovitch (talk) 13:58, 9 September 2022 (UTC)Reply

FYI for both of you, Steam added a bunch of new languages last month that you might want to update the script with :) And the list of all languages that games can support is here. Nicereddy (talk) 14:51, 28 September 2022 (UTC)Reply

Format of input.txt edit

I wanted to try out the Python scripts you'd recommended to create a new video game item, but I was curious about this part. In steam.bat, you pass an input.txt file into the script. What is the format of that file? Is it literally just the Steam ID number for the game? Nicereddy (talk) 01:09, 2 November 2022 (UTC)Reply

@Nicereddy, input.txt is a list of steam IDs (a number) or Wikidata item IDs (Qnnn), one per line. Mixed input is supported For example:
220
Q114995020
1051890
For Wikidata items, script would extract Steam ID from P1733 and try to use it to fill missing properties. For Steam IDs, script would create new items.
If you need to upload one game, then it's just one Steam ID number, yeah.
(I should probably make it possible to pass it as an argument instead of filename for that case. :D) Facenapalm (talk) 01:15, 2 November 2022 (UTC)Reply
Might be a good idea to have a README in your repo with basic instructions on installing the pywikibot package (or I guess a link to the pywikibot docs for that), setting up the input.txt, and setting up the config file, but I got it to work and created Dave the Diver (Q114995908) with it :) Thanks! Nicereddy (talk) 01:31, 2 November 2022 (UTC)Reply
Oh, also I just ran into an issue trying to import this game. I hit "1898790: Unknown date format: `Oct 27, 2022`". I think the script is only able to handle "27 Oct, 2022", but Steam in the US will render the date in the format "Oct 27, 2022". I opened a PR to fix that :) https://github.com/Facenapalm/WikidataBot/pull/2 Nicereddy (talk) 01:58, 2 November 2022 (UTC)Reply
@Nicereddy, and I was unsuccessfully trying to figure out where's the issue with your unfinished item. :D
Thank you very much for fixing that! Facenapalm (talk) 02:04, 2 November 2022 (UTC)Reply
Thankfully the fix was pretty simple, so I managed to hack it together even though I'm not very good at Python ^_^ Nicereddy (talk) 02:13, 2 November 2022 (UTC)Reply
@Nicereddy, regarding your second PR: I haven't created a bash script because I was afraid I wouldn't be able to maintain it. So I have a couple of questions:
1. Is touch temp.txt just creating an empty file? If so, that's not needed - the script would create an empty file regardless of whether it existed or not.
2. Is there a way to pass command line arguments to script? I sometimes use my batch file like that: steam -d Q114994534 -p Q114994534. That expands into python steam_parser.py input.txt -d Q114994534 -p Q114994534 -o temp.txt and forces the script to set Developer and Publisher to the value I've passed. It's handy when you're creating items for a bunch of games from same developer and/or publisher.
Also I've set my local git repository to ignore *.txt. Maybe it's a good idea to move it into the .gitignore file? Facenapalm (talk) 02:25, 2 November 2022 (UTC)Reply
The "touch" line is indeed just creating a blank file. I'm sure there's a way to pass arbitrary command line arguments to a bash script, but I'm not familiar enough with bash to do anything other than hardcoded arguments. I don't feel strongly about adding the sh script to the repo, since I need to make some local modifications to it myself anyway (with the way I've installed python, the command is actually "python3" instead of "python"). I think if we can just add a "my-steam.sh" to the gitignore, that'd be sufficient for my purposes and I can just maintain my own version locally.
And yeah, it'd probably be a good idea to move the .txt ignore line into the .gitignore file. Nicereddy (talk) 02:30, 2 November 2022 (UTC)Reply
@Nicereddy, I think it's better for you to add "my-steam.sh" to your local exclude file (WikidataBot/.git/info/exclude) rather than uploading it into repository.
And yeah, "python" usually means "python 2.x" in Unix systems. I think it's better for me not to include any batchfiles unless I'm using them myself, because I can never be sure they aren't broken. Facenapalm (talk) 02:38, 2 November 2022 (UTC)Reply
👍 fair point, I've removed the my-steam.sh from the gitignore. Nicereddy (talk) 02:40, 2 November 2022 (UTC)Reply

Call for participation in a task-based online experiment edit

Dear Facenapalm,

I hope you are doing well,

I am Kholoud, a researcher at King's College London, and I am working on a project as part of my PhD research, in which I have developed a personalised recommender model that suggests Wikidata items for the editors based on their past edits.

I am inviting you to a task-based study that will ask you to provide your judgments about the relevance of the items suggested by our model based on your previous edits. Participation is completely voluntary, and your cooperation will enable us to evaluate the accuracy of the recommender system in suggesting relevant items to you. We will analyse the results anonymised, and they will be published to a research venue.

The study should take no more than 15 minutes.

If you agree to participate in this study, please either contact me at kholoud.alghamdi@kcl.ac.uk or use this form https://docs.google.com/forms/d/e/1FAIpQLSees9WzFXR0Vl3mHLkZCaByeFHRrBy51kBca53euq9nt3XWog/viewform?usp=sf_link

Then, I will contact you with the link to start the study.

For more information about the study, please read this post: https://www.wikidata.org/wiki/User:Kholoudsaa In case you have further questions or require more information, don't hesitate to contact me through my mentioned email.

Thank you for considering taking part in this research.

Regards Kholoudsaa (talk) 17:10, 17 February 2023 (UTC)Reply

Steam early access edit

Would it be possibly for you to add early access to items based on their Steam page? Trade (talk) 22:45, 1 July 2023 (UTC)Reply

@Trade, greetings.
Are you talking about business model (P7936)=early access (Q17042291), or early access release date? My script extracts the latter for the games that are still in early access (example). It might be possible to add it for released games as well, but I feel like I tried to do that and I've encountered an issue that I don't really remember. I can try to dig into it, although I doubt I'll find time for that in near future. Facenapalm (talk) 23:39, 1 July 2023 (UTC)Reply
Th first Trade (talk) 00:44, 2 July 2023 (UTC)Reply
I've added it to my TODO list, but I'm not sure when I'll have time/energy to implement it, probably next month. Facenapalm (talk) 10:45, 2 July 2023 (UTC)Reply
Thanks you spend time looking into it. Was thinking of it looking like this. And probably with P582 for games out of EA if Steam API stores that Trade (talk) 11:55, 12 July 2023 (UTC)Reply

Portal: First Slice (Q122658378) edit

This is the Metacritic page for Portal, not for the demo itself Trade (talk) 02:24, 21 September 2023 (UTC)Reply

P1712 edit

Привет! По поводу последних правок (пример), пожалуйста, обрати внимание, что начиная с октября 2023 года мы больше не используем свойство Metacritic ID (P1712) для игр. Его применение теперь допускается (в основном) для review score (P444) в источниках, поэтому потребуется изменить Metacritic ID (P1712) на Metacritic game ID (P12054) в скрипте. Для случаев, когда P1712 используется не по назначению, я добавил несколько автофиксов (см. 1, 2), которые должны помочь, а также так называемое «комплексное ограничение». После твоих правок, бот начал оперативно проверять дубликаты и значения старого формата (пример), но почему-то оставляет добавленное скриптом ненужное свойство-квалификатор platform (P400). Оно не нужно, так как Metacritic перешёл на новый формат (прошу учесть это). См. подробнее:

@Kirilloparma, привет, извини за очень поздний ответ, всё никак не находил время/силы углубиться в вопрос.
Правильно ли я понял, что идентификаторы нового формата всегда совпадают со старыми с точностью до префикса? Там, где в Стиме осталась ссылка старого формата (скажем, https://www.metacritic.com/game/pc/elden-ring), могу ли я в скрипте отбрасывать всё по /game/pc/ включительно и быть уверенным в том, что elden-ring будет корректным идентификатором нового формата? A particle for world to form (talk) 12:45, 14 April 2024 (UTC)Reply
>Правильно ли я понял, что идентификаторы нового формата всегда совпадают со старыми с точностью до префикса?
Привет! Не совсем. Некоторые идентификаторы, такие как lilycle-rainbow-stage!!!, n++, tony-hawks-pro-skater-1-+-2, kraken-academy!!, itrp-_-gas-prison и.т, по-прежнему используют старый формат. Metacritic решил отказаться от этой идеи, то есть вместо использования любых символов между значениями теперь используется только единственный дефис в качестве разделителя для идентификатора. Несмотря на это, идентификаторы, использующие любые символы, кроме тире, всё равно корректно перенаправляются на новый формат, хотя и не все ([1], [2]), но я не думаю, что это проблема и это можно исправить.
> могу ли я в скрипте отбрасывать всё по /game/pc/ включительно и быть уверенным в том, что elden-ring будет корректным идентификатором нового формата?
Да, можешь, но, как я уже отметил выше, следует быть поосторожнее с идентификаторами, использующими такие символы, как !+_(). Их следует преобразовать в текущий формат, то есть [a-z\d]+(\-[a-z\d]+)*. С уважением Kirilloparma (talk) 01:44, 15 April 2024 (UTC)Reply