2015-01-31 23 views
8

Sử dụng truy vấn Freebase này làm ví dụ, làm cách nào tôi có thể chạy cùng một truy vấn bằng cách sử dụng api Wikidata?Làm cách nào để chuyển đổi truy vấn Freebase thành truy vấn Wikidata?

[{ 
    "id": null, 
    "name": null, 
    "type": "/film/film", 
    "/film/film/directed_by": "Steven Spielberg", 
    "/film/film/genre": "Drama", 
    "/film/film/story_by": [], 
    "starring": [{ 
    "actor": [{ 
     "name": "Tom Hanks", 
     "key": [{ 
     "namespace": "/authority/imdb/name", 
     "value": null 
     }] 
    }] 
    }], 
    "/film/film/initial_release_date>": "2000", 
    "/film/film/initial_release_date<": "2003" 
}] 

Cảm ơn bạn.

+0

Bạn đã kiểm tra https://www.wikidata.org/wiki/Wikidata:Data_access chưa? – Nemo

Trả lời

0

Theo như tôi biết, không thể tạo truy vấn chi tiết như vậy đối với Wikipedia-API. Nhưng bạn có thể tìm kiếm các trang Wikipedia theo tiêu đề, nội dung, id, danh mục, thời gian tạo ra và nhiều tiêu chí khác.

Đối với ví dụ cơ bản, xem MediaWiki tổng quan về API:

https://www.mediawiki.org/wiki/API:Main_page

Ngoài ra, xem hoàn chỉnh tài liệu MediaWiki API:

https://www.mediawiki.org/w/api.php

Ngoài ra, bạn có thể lấy thông tin cơ bản về các bộ phim từ bài viết của infoBox (xem thisthis Q & A).

1

Bạn không thể làm điều đó với API Wikidata, tuy nhiên bạn có thể làm điều đó với Wikidata Query Service. Dưới đây là một truy vấn mẫu:

PREFIX wd: <http://www.wikidata.org/entity/> 
PREFIX wdt: <http://www.wikidata.org/prop/direct/> 
PREFIX wikibase: <http://wikiba.se/ontology#> 
SELECT ?film ?filmLabel ?date WHERE { 
# Is a film 
    ?film wdt:P31 wd:Q11424 . 
# Director is Steven Spielberg 
    ?film wdt:P57 wd:Q8877 . 
# genre is drama film 
# ?film wdt:P136 wd:Q130232 . 
# Starring Tom Hanks 
    ?film wdt:P161 wd:Q2263 . 
    SERVICE wikibase:label { 
    bd:serviceParam wikibase:language "en" . 
    } 
# published on date 
    ?film wdt:P577 ?date . 
    FILTER(year(?date)>2000 && year(?date)<2003) 
} 

Bạn có thể dùng thử here. Lưu ý rằng tôi đã nhận xét về kiểm tra thể loại. Điều này là do wikidata không có bất kỳ bộ phim với tiêu chí của bạn và thể loại "phim truyền hình", nhưng không có một bộ phim được công bố tại ngày nhất định và được quay bởi Spielberg và bao gồm Tom Hanks:

wd:Q208108* Catch Me If You Can 2002-01-01T00:00:00Z 

Bạn có thể tìm thêm liên kết tới tài liệu tại số service home pageuser manual và cũng là Query Service community pages.

Các vấn đề liên quan