Lab: SPARQL: Difference between revisions
No edit summary |
No edit summary |
||
Line 22: | Line 22: | ||
===Installing and running GraphDB=== | ===Installing and running GraphDB=== | ||
When you have received the download link in an email from the ''GraphDB Team'', you can proceed to install and run GraphDB | When you have received the download link in an email from the ''GraphDB Team'', you can proceed to install and run GraphDB in the following manner, depending on your system: | ||
* On Windows: | |||
** Download the GraphDB Desktop .msi installer file. | |||
** Double-click the application file and follow the on-screen installer prompts. | |||
** Locate the GraphDB Desktop application in the Windows Start menu and start it. The GraphDB Workbench opens at http://localhost:7200/. | |||
* On MacOS | |||
** Download the GraphDB Desktop .dmg file. | |||
** Double-click it and get a virtual disk on your desktop. Copy the program from the virtual disk to your hard disk Applications folder, and you’re set. | |||
** Start GraphDB Desktop by clicking the application icon. The GraphDB Workbench opens at http://localhost:7200/. | |||
* On Linux | |||
** Download the GraphDB Desktop .deb or .rpm file. | |||
** Install the package with sudo dpkg -i or sudo rpm -i and the name of the downloaded package. Alternatively, you can double-click the package name. | |||
** Start GraphDB Desktop by clicking the application icon. The GraphDB Workbench opens at http://localhost:7200/. | |||
For more information about setting up GraphDB you can check out their quick start guide: | |||
[https://graphdb.ontotext.com/documentation/10.0/quick-start-guide.html Quick Start Guide]. | |||
===Setting up a repository=== | ===Setting up a repository=== | ||
Follow the ''Create a Repository'' section in the [https://graphdb.ontotext.com/documentation/10.0/quick-start-guide.html Quick Start Guide]. | |||
Create a new GraphDB Repository called, for example, ''info216_lab3_NN'', where ''NN'' are your initials. Choose ''No inference'' for now. | Create a new GraphDB Repository called, for example, ''info216_lab3_NN'', where ''NN'' are your initials. Choose ''No inference'' for now. | ||
Otherwise, the default parameters are fine. | Otherwise, the default parameters are fine. | ||
Line 38: | Line 54: | ||
===Graph visualisation=== | ===Graph visualisation=== | ||
Go to ''Explore'' -> ''Visual graph'' and create an ''Easy graph'' around the resource ''http://example.org# | Go to ''Explore'' -> ''Visual graph'' and create an ''Easy graph'' around the resource ''http://example.org#investigation_0''. Double-click on nodes to expand them. Are there any more investigations related to ''Richard Nixon''? | ||
===SPARQL tasks=== | ===SPARQL tasks=== | ||
Line 56: | Line 72: | ||
* For each investigation with multiple indictments, list the number of indictments made, sorted with the most indictments first. | * For each investigation with multiple indictments, list the number of indictments made, sorted with the most indictments first. | ||
* For each president, list the numbers of convictions and of pardons made after conviction. | * For each president, list the numbers of convictions and of pardons made after conviction. | ||
==If you have more time== | ==If you have more time== | ||
'''Task:''' Try to program some of the queries in a Python program (this will be the topic of later labs). You have two options: | '''Task:''' Try to program some of the queries in a Python program (this will be the topic of later labs). You have two options: | ||
Latest revision as of 10:46, 11 February 2024
Topics
- Setting up GraphDB
- SPARQL queries and updates
Useful materials
GraphDB documentation:
SPARQL reference:
Tasks
Registering for GraphDB Free
To retrieve a download link for Ontotext's GraphDB Free tool, you first need to register. Here is the registration link (or search for "ontotext graphdb registration").
If you do not like registering for proprietary software, it is still possible to do most of the exercises using Blazegraph, which you can download here (requires Java). Blazegraph is a powerful open-source tool, but GraphDB offers even more functionality and is what the lab leaders will prepare for this semester.
Installing and running GraphDB
When you have received the download link in an email from the GraphDB Team, you can proceed to install and run GraphDB in the following manner, depending on your system:
- On Windows:
- Download the GraphDB Desktop .msi installer file.
- Double-click the application file and follow the on-screen installer prompts.
- Locate the GraphDB Desktop application in the Windows Start menu and start it. The GraphDB Workbench opens at http://localhost:7200/.
- On MacOS
- Download the GraphDB Desktop .dmg file.
- Double-click it and get a virtual disk on your desktop. Copy the program from the virtual disk to your hard disk Applications folder, and you’re set.
- Start GraphDB Desktop by clicking the application icon. The GraphDB Workbench opens at http://localhost:7200/.
- On Linux
- Download the GraphDB Desktop .deb or .rpm file.
- Install the package with sudo dpkg -i or sudo rpm -i and the name of the downloaded package. Alternatively, you can double-click the package name.
- Start GraphDB Desktop by clicking the application icon. The GraphDB Workbench opens at http://localhost:7200/.
For more information about setting up GraphDB you can check out their quick start guide: Quick Start Guide.
Setting up a repository
Follow the Create a Repository section in the Quick Start Guide. Create a new GraphDB Repository called, for example, info216_lab3_NN, where NN are your initials. Choose No inference for now. Otherwise, the default parameters are fine.
Connect to the new repository and pin it as your default repository.
Load data
Download the Turtle file File:Russia investigation kg.txt, and save it with the correct extension, as russia_investigation_kg.ttl (not .txt). (You can also experiment with the Turtle file you saved after exercises 1 and 2.) Load the Russia_investigation data through the GraphDB Workbench as described in the QuickStart guide.
You can use http://example.org/ as Base IRI.
Graph visualisation
Go to Explore -> Visual graph and create an Easy graph around the resource http://example.org#investigation_0. Double-click on nodes to expand them. Are there any more investigations related to Richard Nixon?
SPARQL tasks
Go to the SPARQL Query & Update tab.
Task: Using the data in russia_investigation_kg.ttl, write the following SPARQL SELECT queries. ( This page explains the Russian investigation KG a bit more.)
- List all triples in your graph.
- List the first 100 triples in your graph.
- Count the number of triples in your graph.
- Count the number of indictments in your graph.
- List everyone who pleaded guilty, along with the name of the investigation.
- List everyone who were convicted, but who had their conviction overturned by which president.
- For each investigation, list the number of indictments made.
- For each investigation with multiple indictments, list the number of indictments made.
- For each investigation with multiple indictments, list the number of indictments made, sorted with the most indictments first.
- For each president, list the numbers of convictions and of pardons made after conviction.
If you have more time
Task: Try to program some of the queries in a Python program (this will be the topic of later labs). You have two options:
Using rdflib: Read the Turtle file into an rdflib Graph and use the query() method.
g = Graph() g.parse(..., format='ttl') r = g.query(...your_query_string...)
The hard part is picking the results out of the object r...
Using SPARQLwrapper: You can use SPARQLwrapper (another Python API) to connect to your running GraphDB endpoint. See the Python example page for how to do this.
Task: If you want to explore more, try out the Wikidata Query Service (WDQS):
WDQS tutorials: