Socket
Socket
Sign inDemoInstall

wikidata-plain-sparql

Package Overview
Dependencies
3
Maintainers
1
Alerts
File Explorer

Install Socket

Detect and block malicious and high-risk dependencies

Install

    wikidata-plain-sparql

Query WikiData in plain SPARQL and display the result as a map or data frame


Maintainers
1

Readme

WikiData Plain SPARQL Client

This package allows to query the WikiData database. For example this package is intended for people who need to be able to query WikiData in plain SPARQL while staying whithin a Jupyter Notebook.

Currently data can be returned as a dataframe or as a map. See examples

Install

pip install wikidata_plain_sparql

Usage

The module only has one function which is named query which has two parameters:

  • query: a sparql query
  • view: should data be displayed as a map, function will return a data frame if view is None (see examples for map use)
# import the module
import wikidata_plain_sparql as wikidata

wikidata.query(query, view=None)

Examples

The following examples are also available on Google Colab and can be executed without any additional setup: https://colab.research.google.com/github/jelleschutter/wikidata-plain-sparql/blob/assets/wikidata_plain_sparql_examples.ipynb

Data Frame

# query WikiData
wikidata.query('''
SELECT ?actor ?actorLabel
WHERE
{
  # tv series "Person of Interest" has actor
  wd:Q564345 wdt:P161 ?actor.
  # actor has won a Golden Globe Award
  ?actor wdt:P166 wd:Q1011547.
  SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
}
''')

Which will result in the following pandas data frame:

actoractorLabel
http://www.wikidata.org/entity/Q3295000Sterling K. Brown

Map

The following query was copied from the offical WikiData Examples and shows all places within 1km of the Empire State Building:

# query WikiData
wikidata.query('''
#Places within 1km of the Empire State Building
SELECT ?place ?placeLabel ?location ?instanceLabel
WHERE
{
  wd:Q9188 wdt:P625 ?loc .
  SERVICE wikibase:around {
      ?place wdt:P625 ?location .
      bd:serviceParam wikibase:center ?loc .
      bd:serviceParam wikibase:radius "1" .
  }
  OPTIONAL {    ?place wdt:P31 ?instance  }
  SERVICE wikibase:label { bd:serviceParam wikibase:language "en" }
  BIND(geof:distance(?loc, ?location) as ?dist)
} ORDER BY ?dist
''', view='map')

Which will result in the following map: Map Example

Credits

  • requests - used for sending query to WikiData server
  • bokeh - used for displaying map data
  • pandas - used for returning data as data frame
  • @jelleschutter - development of this package

FAQs


Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc