Snapquery Query Experiment 2025-12-03
Jump to navigation
Jump to search
Prompt
Given https://gitingest.com/ of https://github.com/WolfgangFahl/pyLodStorage and the example query In which films directed by Garry Marshall was Julia Roberts starring? from the paper Understanding the structure of knowledge graphs with ABSTAT profiles https://journals.sagepub.com/doi/pdf/10.3233/SW-223181 create an endpoints.yaml with potential sources such as wikidata and dbpedia and a queries.yaml with parameterized queries that allow to specify director and actor.
⚠️ LLM-generated content notice: Parts of this page may have been created or edited with the assistance of a large language model (LLM). The prompts that have been used might be on the page itself, the discussion page or in straight forward cases the prompt was just "Write a mediawiki page on X" with X being the page name. While the content has been reviewed it might still not be accurate or error-free.
Results
Gemin3 Pro Preview
Based on the pyLodStorage repository structure and the example query about films directed by Garry Marshall starring Julia Roberts, here are the two YAML configuration files:
Endpoints.yaml
# SPARQL Endpoints Configuration
endpoints:
wikidata:
name: wikidata
endpoint: https://query.wikidata.org/sparql
website: https://query.wikidata.org
lang: sparql
method: POST
database: wikidata
prefixes: |
PREFIX wd: <http://www.wikidata.org/entity/>
PREFIX wdt: <http://www.wikidata.org/prop/direct/>
PREFIX wikibase: <http://wikiba.se/ontology#>
PREFIX bd: <http://www.bigdata.com/rdf#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
dbpedia:
name: dbpedia
endpoint: https://dbpedia.org/sparql
website: https://dbpedia.org/sparql
lang: sparql
method: POST
database: dbpedia
prefixes: |
PREFIX dbo: <http://dbpedia.org/ontology/>
PREFIX dbr: <http://dbpedia.org/resource/>
PREFIX dbp: <http://dbpedia.org/property/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
queries.yaml
# Query Definitions
queries:
films_by_director_and_actor_wd:
name: films_by_director_and_actor_wd
title: Films by Director and Actor (Wikidata)
description: |
Finds films directed by a specific director and starring a specific actor.
Example: In which films directed by Garry Marshall was Julia Roberts starring?
lang: sparql
endpoint: wikidata
formats:
- "*:wikidata"
params:
- name: director
type: string
default: "Garry Marshall"
- name: actor
type: string
default: "Julia Roberts"
query: |
SELECT DISTINCT ?film ?filmLabel ?year WHERE {
?directorEntity rdfs:label ?directorLabel .
FILTER(LANG(?directorLabel) = "en" && LCASE(STR(?directorLabel)) = LCASE("$director$"))
?actorEntity rdfs:label ?actorLabel .
FILTER(LANG(?actorLabel) = "en" && LCASE(STR(?actorLabel)) = LCASE("$actor$"))
?film wdt:P31 wd:Q11424 . # instance of film
?film wdt:P57 ?directorEntity . # director
?film wdt:P161 ?actorEntity . # cast member
OPTIONAL { ?film wdt:P577 ?pubDate .
BIND(YEAR(?pubDate) AS ?year) }
SERVICE wikibase:label { bd:serviceParam wikibase:language "en" . }
}
ORDER BY ?year
films_by_director_and_actor_dbpedia:
name: films_by_director_and_actor_dbpedia
title: Films by Director and Actor (DBpedia)
description: |
Finds films directed by a specific director and starring a specific actor using DBpedia.
Example: In which films directed by Garry Marshall was Julia Roberts starring?
lang: sparql
endpoint: dbpedia
params:
- name: director
type: string
default: "Garry_Marshall"
- name: actor
type: string
default: "Julia_Roberts"
query: |
SELECT DISTINCT ?film ?title ?year WHERE {
?film a dbo:Film ;
dbo:director dbr:$director$ ;
dbo:starring dbr:$actor$ .
OPTIONAL { ?film rdfs:label ?title . FILTER(LANG(?title) = "en") }
OPTIONAL { ?film dbo:releaseDate ?releaseDate .
BIND(YEAR(?releaseDate) AS ?year) }
}
ORDER BY ?year
films_by_director_and_actor_generic:
name: films_by_director_and_actor_generic
title: Films by Director and Actor (Generic)
description: |
Generic parameterized query to find films by director and actor.
Can be used with different SPARQL endpoints.
lang: sparql
params:
- name: director
type: string
required: true
description: "Name of the film director"
- name: actor
type: string
required: true
description: "Name of the actor/actress"
- name: limit
type: integer
default: 100
description: "Maximum number of results"
query: |
# Query to be adapted based on endpoint
# This is a template - modify based on your chosen endpoint
SELECT DISTINCT ?film ?filmLabel ?year WHERE {
# Add endpoint-specific patterns here
# Use $director$ and $actor$ as parameter placeholders
}
LIMIT $limit$
Grok 4
Endpoints.yaml
# endpoints.yaml
# Configuration for SPARQL endpoints
wikidata:
name: Wikidata
endpoint: https://query.wikidata.org/sparql
lang: sparql
website: https://query.wikidata.org/
method: GET
dbpedia:
name: DBpedia
endpoint: http://dbpedia.org/sparql
lang: sparql
website: https://dbpedia.org/sparql
method: GET
queries.yaml
# Parameterized queries for films directed by a specified director starring a specified actor
films_by_director_starring_actor_wikidata:
title: Films directed by {director} starring {actor}
query: |
SELECT ?film ?filmLabel WHERE {
?film wdt:P31 wd:Q11424 . # instance of film
?film wdt:P57 wd:{director} .
?film wdt:P161 wd:{actor} .
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
}
lang: sparql
endpoints:
- wikidata
parameters:
- director
- actor
films_by_director_starring_actor_dbpedia:
title: Films directed by {director} starring {actor}
query: |
SELECT ?film WHERE {
?film a dbo:Film .
?film dbo:director dbr:{director} .
?film dbo:starring dbr:{actor} .
}
lang: sparql
endpoints:
- dbpedia
parameters:
- director
- actor
GPT-5
Endpoints.yaml
# SPARQL endpoints for common open knowledge graph sources
endpoints:
wikidata:
name: wikidata
website: https://query.wikidata.org
endpoint: https://query.wikidata.org/sparql
method: POST
# Optional: will be prepended if you run with --prefixes
prefixes: |-
PREFIX wd: <http://www.wikidata.org/entity/>
PREFIX wdt: <http://www.wikidata.org/prop/direct/>
PREFIX wikibase: <http://wikiba.se/ontology#>
PREFIX p: <http://www.wikidata.org/prop/>
PREFIX ps: <http://www.wikidata.org/prop/statement/>
PREFIX pq: <http://www.wikidata.org/prop/qualifier/>
PREFIX bd: <http://www.bigdata.com/rdf#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
dbpedia:
name: dbpedia
website: https://dbpedia.org/sparql
endpoint: https://dbpedia.org/sparql
method: GET
prefixes: |-
PREFIX dbo: <http://dbpedia.org/ontology/>
PREFIX dbr: <http://dbpedia.org/resource/>
PREFIX dbp: <http://dbpedia.org/property/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
queries.yaml
# Parameterized SPARQL queries (director / actor)
# Placeholders:
# {director} - a case-insensitive full label match for the director
# {actor} - a case-insensitive full label match for the actor
language: sparql
queries:
films_by_director_and_actor_wikidata:
title: Films by director and actor (Wikidata)
description: >
Returns films where an actor starred and the film was directed by the specified director,
resolved by English labels on Wikidata.
endpoint: wikidata
# Optional: Use Wikidata-aware value formatting in pyLoDStorage result docs
formats:
- "*:wikidata"
parameters:
director:
example: Garry Marshall
actor:
example: Julia Roberts
query: |-
PREFIX wd: <http://www.wikidata.org/entity/>
PREFIX wdt: <http://www.wikidata.org/prop/direct/>
PREFIX bd: <http://www.bigdata.com/rdf#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT ?film ?filmLabel ?publicationDate
WHERE {
?film wdt:P31 wd:Q11424 ; # instance of film
wdt:P57 ?dir ; # director
wdt:P161 ?actor . # cast member
# match director by English label (case-insensitive exact match)
?dir rdfs:label ?dirName .
FILTER(LANG(?dirName) = "en")
FILTER(LCASE(STR(?dirName)) = LCASE("{director}"))
# match actor by English label (case-insensitive exact match)
?actor rdfs:label ?actorName .
FILTER(LANG(?actorName) = "en")
FILTER(LCASE(STR(?actorName)) = LCASE("{actor}"))
OPTIONAL { ?film wdt:P577 ?publicationDate. }
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
}
ORDER BY ?filmLabel
films_by_director_and_actor_dbpedia:
title: Films by director and actor (DBpedia)
description: >
Returns films where an actor starred and the film was directed by the specified director,
resolved by English labels on DBpedia.
endpoint: dbpedia
parameters:
director:
example: Garry Marshall
actor:
example: Julia Roberts
query: |-
PREFIX dbo: <http://dbpedia.org/ontology/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT DISTINCT ?film ?filmLabel ?releaseDate
WHERE {
?film a dbo:Film ;
dbo:director ?dir ;
dbo:starring ?actor .
# match director/actor by English label (case-insensitive exact match)
?dir rdfs:label ?dirLabel .
FILTER(LANGMATCHES(LANG(?dirLabel), "en"))
FILTER(LCASE(STR(?dirLabel)) = LCASE("{director}"))
?actor rdfs:label ?actorLabel .
FILTER(LANGMATCHES(LANG(?actorLabel), "en"))
FILTER(LCASE(STR(?actorLabel)) = LCASE("{actor}"))
OPTIONAL {
?film rdfs:label ?filmLabel .
FILTER(LANGMATCHES(LANG(?filmLabel), "en"))
}
OPTIONAL { ?film dbo:releaseDate ?releaseDate . }
}
ORDER BY ?filmLabel