Introduction to Link Traversal-Based Query Processing

Ruben Taelman

KNoWS, 26 February 2021

Introduction to
Link Traversal-Based
Query Processing

Ghent University – imec – IDLab, Belgium

Assumption: Data is decentralized

How to query over this?

Necessary if we want to build applications

Example: Find names of my friends

SELECT ?name WHERE {
    <https://www.rubensworks.net/#me> foaf:knows ?person.
    ?person foaf:name ?name.
}
Live example

Differences LTQP and traditional querying

🕰️ Brief History of LTQP

Pioneered by Olaf Hartig
  • Executing SPARQL queries over the web of linked data. (ISWC 2009)

    Introduction of the LTQP concept
    A non-blocking iterator-based pipeline for querying
  • Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversal Based Query Execution. (ESWC 2011)

    Formalization of LTQP
    Query plan selection rules

🕰️ Brief History of LTQP (2)

🧐 Open Problems with LTQP

🤝 Content Policies Define Trust Scopes

🌲 Exploiting Linking Structure

Alice stores her pictures by year.

🧬 Hybrid Query Execution

🏋 How to evaluate and test all of this?

👨‍💻 Current status

Backup Slides

🤝 Content Policies: Example

SCL: Subweb Constraint Language
FOLLOW (?friend WITH POLICIES) {
  <https://alice.pods.org/profile#me> foaf:knows ?friend.
} INCLUDE {
  ?friend ?p ?o.
}
  1. Identifies what links to FOLLOW
  2. Identifies what triples to INCLUDE from followed documents

Carol's data:

✅ <https://carol.org/#me> foaf:name "Carol" .
✅ <https://carol.org/#me> foaf:knows <https://alice.pods.org/profile#me> .
❌ <https://bob.pods.org/profile#me> foaf:name "Not Bob" .

🏋 LDBC SNB Schema