Jump to content

PetScan

From Meta, a Wikimedia project coordination wiki
This page is a translated version of the page PetScan and the translation is 37% complete.
Outdated translations are marked like this.
Coolest Tool Award 2022 logo
PetScan

2022 Coolest Tool
Award Winner

in the category
Reusable

PetScan це потужний інструмент запитів. Запит готується в спеціальній формі для запитів PetScan. Також можете подивитися механізм роботи цього інструменту.

Вступ

PetScan може генерувати переліки сторінок Вікіпедії (та сестринських проєктів) чи елементів Вікіданих, які відповідають певним критеріям, як наприклад усі сторінки в певній категорії, чи всі елементи з певною властивістю. PetScan також може комбінувати деякі тимчасові переліки (які тут мають назву "джерела") багатьма шляхами, для того щоб створити новий перелік. До джерел належать:

Сторінки з Вікі(п/м)едії

These are defined in the Categories, Page properties, and Templates&links tabs. You can ask for pages in category trees, with specific templates, or links from/to specific pages; limit your results to certain namespaces, bot/human edits, recent edits/page creation, etc. These three tabs represent the former CatScan2 functionality. Their query result is subsequently canned as the "category source".

Інші джерела

In this tab, you can add more sources, such as Wikidata SPARQL (WDQS) queries, or PagePile lists. You can also define how to combine multiple sources; by default, the subset (that is, only pages that occur in all sources) is returned in the final result. You can also specify which wiki you want your list to point to, e.g. if you combine Wikipedia and Wikidata results.

Вікідані

In this tab, you can annotate or filter your results further, e.g., return only Wikidata items that have no statements. Using any of these filters will convert your list to Wikidata.

Вивід

Тут ви можете задати параметри для вашого списку, наприклад формат (веб-сторінка, Wiki, PagePile, і т.д.). Ви також можете додатково відфільтрувати свої результати, наприклад з допомогою регулярних виразів на заголовках сторінок/мітках елементів. Ви також можете замінити список результатів ранжованим списком відсутніх тем («червоні посилання»).

Визначення вашого запиту

У формі запиту можна задати такі поля:

Поле Значення За замовчуванням Примітка
Мова Виберіть мовний код проєкту, наприклад «uk» для Української або «en» для Англійської.

Виберіть «commons» для Вікісховища || "en" ||

Проєкт Wikimedia project to be searched (wikipedia, wiktionary, wikiversity, etc.) "wikipedia" NOTE: If you choose "Commons," be sure to go to the "Page properties" tab and check the "File" namespace to get useful results.
Глибина Глибина дерева категорій для пошуку. «0» означає, що пошук за підкатегоріями не здійснюється. "0"
Категорії Список категорій, по одній на строку (вказувати «category:» не потрібно). Пусто Додавання закінчення '|' та числа виставить глибину для дерева цієї категорії, перезаписуючи значення яке було вибране в полі «Глибина»
Виключені Категорії Список категорій, як і вище. Приймаються лише статті, які не входять до цих категорій. Пусто
Поєднання Як слід використовувати наведені вище категорії:
  • Список категорій: перерахуйте підкатегорії
  • Перетин: усі сторінки які трапляються в усіх деревах категорій одночасно
  • Об'єднання: усі сторінки, що знаходяться принаймні в одному з дерев категорій
  • Відмінність: усі сторінки лише в одному з дерев категорій
  • Принаймні (N): усі сторінки, що належать принаймні до N дерев категорій

Наразі доступні тільки «Перетин» або «Об’єднання».

«Перетин»
Namespaces The namespaces to use as potential pages Статті
Перенаправлення Either
Шаблони

Use only pages that

  • Box 1: contain all of the given templates
  • Box 2: contain one of the given templates
  • Box 3: contain none of the given templates

Enter one template per line, without "template:" prefix. Each box may be qualified by selecting "Use talk page instead"

Пусто This option seems only compatible with templates defined in "template:" namespace. It cannot be used with templates defined in "User:" namespace. It cannot be used in the "Creator:" or "Institution:" namespaces that are used at Wikimedia Commons
Linked from:
Востаннє редаговано Показати сторінки, останнє редагування яких було або не було зроблено ботом, анонімним користувачем або позначено прапорцем Either, either, either
Last change Date or time period of the last change on the page in the format YYYYMMDDHHMMSS (shorter allowed) "Only pages created during the above time window" allows you to look for first change instead
Розмір Розмір файлу або діапазон розмірів у байтах Пусто Allows selection of articles whose files are greater than one cutoff and/or less than another cutoff
Links Number or range of internal links on the page Пусто Allows selection of articles with many or few links
Червоні посилання
Top categories Feature which is not yet available.
Sort Feature which is not yet available, which would set sorting criteria for output.
Manual list Allows providing a list of (namespace prefixed) page names or Wikidata items from specified project

The tricky part is specifying projects the correct codes are:

  • English Wikipedia: enwiki
  • German Wikisource: dewikisource or dewikisourcewiki
  • Greek Wiktionary: elwiktionarywiki
  • English Wikinews: enwikinews
  • Wikidata: wikidatawiki
Wikidata Get Wikidata, if available.
Format Output format of the search results:
HTML: webpages
CSV: values in quotation marks, separated by commas
TSV: Tab Separated Values
WIKI: as Wikitable
PHP: as a PHP file
XML: as an XML file
Do it! Hit this to run the submission you have defined.

Know-how

PetScan ID (PSID)

As of 2016-04-04, every query that gets run in PetScan is recorded (anonymously!) and assigned a unique, stable, numeric identifier called PSID. You can use the PSID to

  • run this PetScan query as an input in tools that support PSID (such as WD-FIST)
  • fill in a "short URL": https://petscan.wmflabs.org/?psid=PSID will run the query with PSID, with all its settings
  • expand programmatically on a previous query, by "overwriting" parameters: https://petscan.wmflabs.org/?format=wiki&psid=PSID will run the same query as before, but the output format will be wiki (instead of default HTML, or whatever was chosen originally).

Notes:

  • Only the query will be stored, not its results!
  • Large queries (e.g. with many manual items) will not be stored. In that case, no PSID will be shown.
  • Results with an empty checkbox have possible matches within the Wikidata set.
  • the interwiki link petscan: can be used to generate shortcuts for permanent queries, eg. [[petscan:PSID]]
  • queries recorded are not deduplicated, so a new PSID will be generated each time unless an existing PSID is called without modification.

Create Wikidata items for Wikipedia articles that don't have one yet (Creator functionality)

  • Set up a query that returns a list of Wikipedia (or other, non-Wikidata project) pages, or paste a list into "Other sources/Manual list"
  • Under the "Page properties" tab, you should select "Redirects=No" This is done automatically now; you can change it back if you really want redirects in your list!
  • Under the "Wikidata" tab, select "Only pages without item" for the "Wikidata" option
  • Run query
  • Your results will have additional elements next to the "results" header (unless you are not logged into WiDaR, in which case you will see an appropriate link instead)
  • All pages for which there is no exact match in any label or alias on Wikidata are checked by default.
  • You can check/uncheck boxes manually now, if required.
  • You can add default statements into the statements box, which will be added to all your new items. So, if you only create items for people, add P31:Q5. You can add multiple statements this way (one per line). Do note that the case of P/Q needs to be in upper case – otherwise it will fail quietly.
  • You can add default descriptions to new items, such as Dde:"some description" for a German description.
  • Click the green "Start QS" button. This will open a new page.
  • You can click "Run" to run a batch in your browser, or "Run in background" to run them from a Wikimedia server. See Help:QuickStatements for more information.


Add/remove statements for Wikidata items

It is possible to add or remove statements for Wikidata items with PetScan. For this it is crucial that you choose "Wikidata" in "Other sources -> Use Wiki". Then you will see the command box next to the number and can continue as described in the previous section.

Referrer

(V2 only) If you open PetScan from another tool to let the user create a query, you can pass the referrer_url and referrer_name (defaults to referrer_url) parameters. referrer_url should have a {PSID} string which will be replaced with the PSID the user sees. Once a query was run, a box at the top of the page will prompt the user to return to the original tool, using the PSID-modified referrer_url.

Приклади

Articles in a WikiProject

A request on the Talk page of this Manual: Find all mainspace articles within "WikiProject UK geography". Starting with a default PetScan submission form, just add "WikiProject UK geography" to the first box of the Templates row, and, just below, select "Use talk pages instead". Here is the query filled out. Hit "Do it!" at bottom. When run on 16 August 2015, the query required 1.5 seconds to run, and yielded a list of 21,408 articles. The list appears BELOW the submission form (which remains on your screen), so you have to scroll down to see the results.

Editors working on disambiguation seek to enlist members of a content area WikiProject, specifically WikiProject Canada, to help. A PetScan report is designed to find all articles having ambiguous links that are within the given WikiProject. Criteria applied:

  1. Articles having ambiguous links are within "Category:All articles with links needing disambiguation", so paste "All articles with links needing disambiguation" into the PetScan Categories field.
  2. Depth is set arbitrarily to 9, meaning that articles as far as 9 subcategories down from the "needing disambiguation" parent category will be found. (Searching to that depth is not necessary in this case but doesn't hurt.)
  3. Articles within WikiProject Canada have "Template:WikiProject Canada" on their talk pages, so paste "WikiProject Canada" into PetScan's "Has any of these templates" field, and just below select "Use talk pages instead" as a qualifier.
  4. Only regular articles, not disambiguation pages, are wanted, and disambiguation pages are distinguished by having template:disambiguation, so paste "Disambiguation" into PetScan's "Has none of these templates" field, and make sure "Use talk pages instead" is not selected.
  • These criteria are implemented by this PetScan submission form, filled out. To submit the query, select "Do it!" at the bottom.
  • When submitted on 16 August 2015, the query took 31 seconds to run, and results were a list of 255 articles. The results show BELOW the PetScan submission form, which remains in place, so you may see no change on your screen. You have to know to scroll down to find the results! That request was run with default Output format "HTML".
  • To obtain the results in a Wikitable, in order to share them at a subpage of the WikiProject, the request could be revised to select Format "WIKI". This time the results, in wikitable markup, replace the PetScan submission form on your screen.
  • To make a more useful list for disambiguators, set up so that DabSolver will open up on any item clicked, a several step process can be followed. Here the results were saved to Tab-Separated format instead, then brought into Excel, then a column was composed which concatenated simple text strings with the results, then that resulting column was copy-pasted. The results were pasted over to the English language Wikipedia page w:Wikipedia:Canadian Wikipedians' notice board/ArticlesNeedingDisambiguation2015-08-17 and were posted also within a scrolling window in discussion at the WikiProject Canada talk page. --Doncram (talk) 19:50, 24 August 2015 (UTC) link adjusted. DexDor (talk) 06:58, 29 March 2016 (UTC)

Detecting pages that have an anomalous combination of namespace and category/ies

PetScan can be used to find pages that are in a category (or combination of categories) that is not appropriate for pages in a particular namespace - e.g. Wikipedia administration pages that are in a category that should only contain encyclopedic articles. This can then be fixed (e.g. by moving an article to the correct namespace or by editing a discussion to insert a missing ":" where a category is being referred to). The first step in this process is to identify (using PetScan) categories that cause incorrect categorization (e.g. Wikipedia administration categories that are in article categories).

Find uncategorized photo contributions in Commons in a given language

(Based on Grants:Learning patterns/Treasures or landmines: detecting uncategorized, language-specific uploads in Commons. See the motivation and full explanation there! Thank you to wikimedia user User:Spiritia and other contributors/commenters there for contributing this! )

Запустити запит використовуючи PetScan із такими налаштуваннями:

Language = commons
Project = wikimedia
Depth = 1
Categories = Uncategorized files
Combination = ☑ Subset
Namespaces = ☑ File
Templates : Has all of these templates = <мовний код> 
Format:  ☑ Extended data for files     ☑ File usage data

Код української мови «uk»; код для румунської мови «ro». Для того, щоб знайти не категоризовані фотографії, які були завантажені користувачами, що користуються румунською мовою, ваш запит (з вибраним HTML форматом і без автоапуску) буде мати вигляд:

https://petscan.wmflabs.org/?language=commons&project=wikimedia&depth=1&categories=Uncategorized+files&ns%5B6%5D=1&templates_yes=ro&ext_image_data=1&file_usage_data=1

As of 15 March 2016, after hitting "run" the query requires about 105 seconds to finish, and yields 1748 uncategorized photos.

Notes:

  1. The "Language =" field is not used to select the desired language; the desired language code is set in the "Template" field instead.
  2. The language code is case-sensitive in the query! So for example use "ro" not "RO".
  3. To generate the results there, Format: ☑ Wiki was chosen, instead of the default output of Html.

Enjoy! Thanks again to User:Spiritia especially!

Items with no statements

The option "Has no statements" can be used to find:

Steps to import the template, some with PetScan.

  • Indicate the project on the 'Categories' tab. E.g. de for Language and wikipedia in Project to use the German language edition of Wikipedia.
  • In Other sources enter your SPARQL query
  • Make sure to select From categories from the Use wiki options
  • Press Do it

This could be useful to get the pageviews of a specific set of pages, based on a SPARQL query. You can save this to a Pagepile (check the Output tab), then enter that Pagepile ID in Massviews Analysis (select 'Page Pile' from the Source dropdown).

Get a list of Wikidata items with exclusions based on a SPARQL query

Let's say you got a list of people with Wikidata ID's (QIDs) that you want to add an occupation (P106) of 'jewellery designer' (Q2519376) to, maybe with a tool like QuickStatements. However, you don't want to add this occupation to items that already have that occupation. Here's how to do that with PetScan:

  • Have your list of QIDs in a text file, with each QID on a new line
  • In the tab 'Other sources', paste this text into the field called 'Manual list'
  • In the form 'Wiki' enter the string wikidatawiki
  • In the field 'SPARQL' enter your SPARQL query. In this example, this query will give all humans with an occupation of 'jewellery designer':
  • select ?item where { ?item wdt:P31 wd:Q5; wdt:P106 wd:Q2519376. }
  • Finally, you want to make an exclusion, so in the field 'Combination' add the string manual NOT sparql to get all the QIDs from the 'manual list', but without the items from the SPARQL query.
  • Hit 'Do it!'

Add your example here...

Bug reports, feature requests, code base

See also