Skip to main content

Visualization library for SPARQL query results

Project description

VizKG

Open In Colab Python Versions PyPI Version PyPI License

VizKG, a visualization library for SPARQL query results over KGs. VizKG links SPARQL query results and external visualization libraries by mapping query variables to the visualization components needed, currently allowing for 24 types of visualizations. Not only that, VizKG also provides visualization recommendations for arbitrary SPARQL query result.

Installation

Use the package manager pip to install VizKG.

pip install VizKG

Usage

# Import the library
import VizKG.visualize as vkg

Visualization Recommendation

VizKG returns the automated visualization when there is no chart type preference given.

#Wikidata: Covid-19 Recoveries, Cases, and Death Growth
sparql_query = """
SELECT ?time ?Recoveries ?Cases ?Deaths WHERE {
  {
    SELECT ?time ?Recoveries WHERE {
      wd:Q84263196 p:P8010 ?countRes .
      FILTER NOT EXISTS { ?countRes pq:P276 ?loc }
      ?countRes ps:P8010 ?Recoveries ;
                   pq:P585 ?time .
    }
  } 
  {
    SELECT ?time ?Cases WHERE {
      wd:Q84263196 p:P1603 ?countRes .
      FILTER NOT EXISTS { ?countRes pq:P276 ?loc }
       ?countRes ps:P1603 ?Cases ;
                   pq:P585 ?time .
    }
  } 
  {
    SELECT ?time ?Deaths WHERE {
      wd:Q84263196 p:P1120 ?countRes .
      FILTER NOT EXISTS { ?countRes pq:P276 ?loc }
       ?countRes ps:P1120 ?Deaths ;
                   pq:P585 ?time .
    }
  }
}
"""
sparql_service_url = "https://query.wikidata.org/sparql"
chart = vkg(sparql_query=sparql_query, sparql_service_url=sparql_service_url)
chart.plot()

WD:COVID-19 Growth

Use Case Examples

Wikidata: COVID-19 Vaccine Origins

sparql_query = """
SELECT DISTINCT ?vaccineLabel ?originCountry  {
  ?vaccine wdt:P1924 wd:Q84263196 .
  ?vaccine wdt:P178 ?developer.
  ?vaccine rdfs:label ?vaccineLabel .
  ?developer wdt:P17 ?origin . 
  ?origin rdfs:label ?originCountry .
  FILTER (LANG(?vaccineLabel) = 'en').
  FILTER (LANG(?originCountry) = 'en').
}LIMIT 25
"""
#to query another endpoint, change the URL for the service and the query
sparql_service_url = "https://query.wikidata.org/sparql"
chart = vkg(sparql_query=sparql_query, sparql_service_url=sparql_service_url, chart='sunburst')
chart.plot()

WD:COVID-19 Vaccine origins

DBpedia: Map of Temples in Indonesia

sparql_query = """
SELECT * WHERE {
  ?item dbo:wikiPageWikiLink dbr:Candi_of_Indonesia;
        geo:geometry ?geo .
  ?item rdfs:label ?itemLabel.
  FILTER((LANG(?itemLabel)) = "en")
}
"""
#to query another endpoint, change the URL for the service and the query
sparql_service_url = "https://dbpedia.org/sparql/"
chart = vkg(sparql_query=sparql_query, sparql_service_url=sparql_service_url, chart='map')
chart.plot()

DBpedia:Map of Temples in Indonesia

OU_UK: Number of Employees by Job Title

sparql_query = """
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX schema: <http://schema.org/jobTitle>

SELECT DISTINCT ?jobTitle (COUNT(?jobTitle) as ?count) WHERE {?s a foaf:Person .
  ?s <http://schema.org/jobTitle> ?jobTitle .
  FILTER (lang(?jobTitle) != 'en')
}
GROUP BY ?jobTitle
HAVING (?count > 10)
"""
#to query another endpoint, change the URL for the service and the query
sparql_service_url = "https://data.open.ac.uk/sparql"
chart = vkg(sparql_query=sparql_query, sparql_service_url=sparql_service_url, chart='TreeMap')
chart.plot()

OU_UK:Number of Employees by Job Title

Budaya KB: Number of Temples by Indonesian Regencies

sparql_query = """
prefix bkb: <https://budayakb.cs.ui.ac.id/ns#>
prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>


SELECT ?provLabel (COUNT(?temple) AS ?numTemple) WHERE {
  ?temple a bkb:Candi .
  ?temple bkb:locationInProvince ?prov .
  ?prov rdfs:label ?provLabel.
  FILTER (lang(?provLabel) = 'id')

} GROUP BY ?provLabel
ORDER BY DESC(?numTemple)
"""
#to query another endpoint, change the URL for the service and the query
sparql_service_url = "https://budayakb.cs.ui.ac.id/budaya/sparql"
chart = vkg(sparql_query=sparql_query, sparql_service_url=sparql_service_url, chart='bubble')
chart.plot()

BudayaKB:Number of Temples by Indonesian Regencies

Supported Visualizations

  • Table
  • ImageGrid
  • Map
  • Graph
  • Tree
  • Dimensions
  • Timeline
  • WordCloud
  • Histogram
  • Density Plot
  • Box Plot
  • Violin Plot
  • Line Chart
  • Bar Chart
  • Area Chart
  • Stacked Area Chart
  • Bubble Chart
  • Scatter Chart
  • HeatMap
  • Radar Chart
  • Tree Map
  • SunBurst Chart
  • Pie Chart
  • Donut Chart

Related Work

Tool Framework Data Source Input Type Number of Chart Types
Wikidata Query Service Web-based Wikidata only SPARQL SELECT 14
Dataviz Web-based Wikidata only SPARQL SELECT 23
YASGUI Web-based Generic SPARQL SELECT and SPARQL CONSTRUCT 11
LDVizWiz Web-based Generic SPARQL SELECT/ASK and RDF Data 27
Sparklis Web-based Generic Text 4
Quedi Web-based Generic Text 16
Voyager Web-based Generic Tabular Data 5
S-Paths Web-based Generic RDF Data 10
Gastrodon Python Library Generic RDF Data -
kglab Python Library Generic RDF Data 1
Autoviz Python Library Generic Tabular Data 5
Visualizer Python Library Generic Tabular Data 20

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

VizKG-1.0.8.tar.gz (20.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

VizKG-1.0.8-py3-none-any.whl (33.7 kB view details)

Uploaded Python 3

File details

Details for the file VizKG-1.0.8.tar.gz.

File metadata

  • Download URL: VizKG-1.0.8.tar.gz
  • Upload date:
  • Size: 20.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.7.0 pkginfo/1.7.0 requests/2.21.0 requests-toolbelt/0.9.1 tqdm/4.58.0 CPython/3.7.8

File hashes

Hashes for VizKG-1.0.8.tar.gz
Algorithm Hash digest
SHA256 8c65071164d845a08c4ca37a03bb2cb930ca8d39623af155108001e1494d2168
MD5 2f1138b6a4892237c9dd1f8d6a7b1e39
BLAKE2b-256 0ae6a0421f3f4ca34df83f6ea1a88291479b4afe07ac8869196a8fd8b897bc24

See more details on using hashes here.

File details

Details for the file VizKG-1.0.8-py3-none-any.whl.

File metadata

  • Download URL: VizKG-1.0.8-py3-none-any.whl
  • Upload date:
  • Size: 33.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.7.0 pkginfo/1.7.0 requests/2.21.0 requests-toolbelt/0.9.1 tqdm/4.58.0 CPython/3.7.8

File hashes

Hashes for VizKG-1.0.8-py3-none-any.whl
Algorithm Hash digest
SHA256 62e358b1677ed52662b774dff9c0f7655b623385fb0f95e145e15da68b5ede9b
MD5 caebcaa8b2a44dcd75c36c35b1bb5f9b
BLAKE2b-256 431e7905d56954b0d0d81212a10b68e115ceced5f43520267913320147f6e9fa

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page