2015-01-31 24 views
8

Utilizzando questa query di Freebase come esempio, come posso eseguire la stessa query utilizzando l'API di Wikidata?Come posso convertire una query di Freebase in una query di 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" 
}] 

Grazie.

+0

Hai controllato https://www.wikidata.org/wiki/Wikidata:Data_access? – Nemo

risposta

0

Per quanto ne so, non è possibile creare una query di dettaglio con l'API di Wikipedia. Ma puoi cercare le pagine di Wikipedia per titolo, contenuto, id, categoria, tempo creato e molti altri criteri.

Per esempi di base, vedere MediaWiki panoramica API:

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

Inoltre, si veda la documentazione completa MediaWiki API:

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

Inoltre, è possibile recuperare le informazioni di base sui film da articolo di infoBox (vedi this e this Q & A).

1

Non è possibile farlo con l'API di Wikidata, tuttavia è possibile farlo con Wikidata Query Service. Ecco un esempio di query:

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) 
} 

Si può provare here. Si noti che ho commentato il controllo del genere. Questo perché Wikidata non ha film con i criteri ed i genere "dramma", ma ha un film che è pubblicato in certa data ed è stato girato da Spielberg e comprende Tom Hanks:

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

È possibile trovare maggiori collegamenti alla documentazione allo service home page e allo user manual e anche allo Query Service community pages.