Wikidata: Empowering Knowledge with Structured Data
Wikidata - это открытая база данных знаний, которая содержит структурированные данные, общедоступные для всех пользователей в Интернете. Эта база данных проектировалась с целью хранения знаний обо всех важнейших темах мира: истории, науке, искусстве, политике, спорте и многом другом. Данные в Wikidata могут использоваться для различных проектов в Интернете, включая разработку приложений, аналитику исследований, создание новых статей в википедии и другое.
Примеры кода, которые могут использоваться для доступа к Wikidata, включают библиотеки программирования, такие как Pywikibot и Wikidata-sdk. Pywikibot - это Python библиотека, которая предоставляет инструменты для доступа к данным Wikidata и автоматизации задач, таких как добавление данных в страницы википедии. Пример кода, использующий Pywikibot:
python
import pywikibot
# Создание объекта, позволяющего доступ к Wikidata
site = pywikibot.Site("wikidata", "wikidata")
repo = site.data_repository()
# Получение идентификатора сущности (entity) из Wikidata
entity_id = "Q1234"
# Получение сущности из Wikidata
entity = pywikibot.ItemPage(repo, entity_id)
# Печать названия сущности
print(entity.title())
# Печать свойств сущности и их значений
for claim in entity.claims.values():
property_id = claim[0].getTarget().id
value = claim[0].getTarget().toPython()
print("Property: " + property_id + ", Value: " + str(value))
Wikidata-sdk это библиотека JavaScript, позволяющая делать запросы к Wikidata API и получать структурированные данные в формате JSON. Пример кода, использующий Wikidata-sdk:
javascript
const wdk = require('wikidata-sdk');
// Получение идентификатора сущности (entity) из Wikidata
const entity_id = 'Q1234';
// Создание запроса для получения сущности
const query = wdk.getEntities({
ids: entity_id,
languages: ['en', 'fr'],
props: ['labels', 'descriptions', 'claims']
});
// Отправка запроса и обработка результатов
fetch(`https://www.wikidata.org/w/api.php?action=${query}`).then(response => {
return response.json();
}).then(data => {
// Печать названия сущности на английском и французском языках
console.log(data.entities[entity_id].labels.en.value);
console.log(data.entities[entity_id].labels.fr.value);
// Печать свойств сущности и их значений
for (const claim of data.entities[entity_id].claims) {
const property_id = claim.mainsnak.property;
const value = claim.mainsnak.datavalue.value;
console.log(`Property: ${property_id}, Value: ${value}`);
}
});
В обоих примерах используются различные библиотеки и API, что иллюстрирует, как разработчики могут получать доступ к Wikidata и использовать ее данные для различных целей. В целом, Wikidata представляет собой ценный источник открытых данных, который может быть использован для разнообразных проектов.