PREFIX wd: <http://www.wikidata.org/entity/>
PREFIX wdt: <http://www.wikidata.org/prop/direct/>
SELECT ?language WHERE {
  wd:Q843 wdt:P37 ?language
}

Using entities:
- Pakistan (wd:Q843), also known as Islamic Republic of Pakistan, PAK, pk, Republic of Pakistan: is instance of sovereign state / is instance of country / republic in Asia / republic in Asia / sovereign state in South Asia

Using properties:
- official language (wd:P37 as wdt), also known as language official, language spoken, speaking, spoken in, P37: is subproperty of language used / language designated as official by this item / language designated as official by this item / language designated as official by this item / language designated as official by this item

Answer: Pakistan has 2 official languages: Urdu and English.

Pakistan has 2 official languages: Urdu and English.

SPARQL query over wikidata:
PREFIX wd: <http://www.wikidata.org/entity/>
PREFIX wdt: <http://www.wikidata.org/prop/direct/>
SELECT ?language WHERE {
  wd:Q843 wdt:P37 ?language
}

Using entities:
- Pakistan (wd:Q843), also known as Islamic Republic of Pakistan, PAK, pk, Republic of Pakistan: is instance of sovereign state / is instance of country / republic in Asia / republic in Asia / sovereign state in South Asia

Using properties:
- official language (wd:P37 as wdt), also known as language official, language spoken, speaking, spoken in, P37: is subproperty of language used / language designated as official by this item / language designated as official by this item / language designated as official by this item / language designated as official by this item

Execution result:
Got 2 rows and 1 column:
| language           |
| ------------------ |
| Urdu (wd:Q1617)    |
| English (wd:Q1860) |

[System]
You are a question answering assistant. Your job is to generate a SPARQL query to answer a given user question.

You should follow a step-by-step approach to generate the SPARQL query:
1. Determine possible entities and properties implied by the user question.
2. Search for the entities and properties in the knowledge graphs. Where applicable, constrain the searches with already identified entities and properties.
3. Gradually build up the SPARQL query using the identified entities and properties. Start with simple queries and add more complexity as needed. Execute intermediate queries to get feedback and to verify your assumptions. You may need to refine or rethink your current plan based on the query results and go back to step 2 if needed, possibly multiple times.
4. Use the answer or cancel function to finalize your answer and stop the generation process.

Available knowledge graphs:
- wikidata at https://qlever.dev/api/wikidata with prefix index for entities and similarity index for properties, and notes:
  - P106 = occupation. Use wdt:P106 to get occupations and fetch English labels with rdfs:label + FILTER(LANG(?label)='en'). When returning human occupations confirm the subject is human (wdt:P31 wd:Q5) to avoid non-human items. For 'main business' prefer more specific occupation items (e.g., real estate entrepreneur Q7301138) over broad labels like business magnate.
  - Population (P1082) and tabular (P4179): use wdt:P1082 for direct values; for time-series use p:P1082 + ps:P1082 + pq:P585 and ORDER BY pq:P585 DESC. Inspect qualifiers (e.g., 'applies to part') and references (pr:P854) to detect scope. When computing density with area (wdt:P2046) confirm area unit/datatype (usually km²), ensure population and area present and >0, and BIND(?population/?area AS ?density).
  - Spouse nationality: do not rely only on P27. Check the spouse's place of birth (P19) and then the birthplace's country (P17) or admin parents (wdt:P131*). Many pre-unification German spouses appear under historical states—map those to modern countries when needed.
  - For languages on countries: prefer wdt:P37 (official language) and wdt:P2936 (language used). wdt:P1412 (languages spoken/written/signed) is more often used for peoples/individuals and may be empty for countries. Try P37 and P2936 first, then fall back to P1412/P407. Fetch English labels with rdfs:label + FILTER(LANG(?l)='en').
  - When filtering by date of birth (P569) use xsd:dateTime comparisons (e.g. >= "1900-01-01T00:00:00Z"^^xsd:dateTime). Inception (P571) often uses Jan-01 placeholders for year-only dates; inspect p:P571 -> ps:P571 and check qualifiers/references for precision. For independence dates, also search for related event statements/items (e.g., 'declaration of independence') and prefer qualifiers/references over assuming day/month from year-only values.
  - To retrieve qualifiers (e.g., award year) use the statement/qualifier pattern: p:Pxxx / ps:Pxxx / pq:P585. Use wdt:Pxxx for normalized/direct values when you don't need qualifiers. Example: p:P166 + pq:P585 gives award year.
  - P166 = award received. Use wdt:P166 for normalized/direct values when you only need award items. To get award years or qualifiers use p:P166 / ps:P166 / pq:P585. Many statements lack pq:P585 — use OPTIONAL { ?stmt pq:P585 ?date } and ORDER BY DESC(?date). When listing award winners, filter ?person wdt:P31 wd:Q5 to ensure humans.
  - Population time-series: use p:P1082 ?stmt . ?stmt ps:P1082 ?pop . OPTIONAL { ?stmt pq:P585 ?date } . To get the most recent value prefer a subquery to compute MAX(?date) per subject and join back to the statement to retrieve the matching population. Avoid HAVING(MAX(?date)=?date) — QLever can error. Inspect qualifiers/references for scope (city-proper vs metro).
  - wdt:P131* can be expensive and may be incomplete. First try direct wdt:P131 for immediate administrative parent(s). If missing, check wdt:P17 (country) and wdt:P625 (coordinates) or the place item's own statements. Prefer bounded traversal (1-2 hops) or explicit parent patterns and use DISTINCT/ORDER/LIMIT to de-duplicate rather than broad P131*.
  - Use search_property_of_entity to find candidate properties but always verify the property's semantics (domain/range) and whether it links to the office, office-holder, or related entity. Test with a small query before relying on results. For creative works, after locating candidate properties, filter results by instance-of (e.g., films wd:Q11424; board games wd:Q131436) to avoid non-work items.
  - Use search_property_of_entity to find relevant properties. Political parties are modelled inconsistently (P1142, P1313, P463, P39/P106). Fallback: inspect party pages/lists and MEP group memberships; document assumptions. For country government type prefer P122 (basic form of government); P1288 is inconsistent. To exclude historical states filter NOT EXISTS { ?item wdt:P576 ?d }.
  - Inspect statement references and qualifiers: use prov:wasDerivedFrom on p: statements to find sources, and check qualifiers (e.g., 'applies to part' or other scope qualifiers) to disambiguate city vs metro vs admin area. Reference labels can be empty; inspect reference node properties for URLs or publication dates.
  - Place of burial (P119): use wdt:P119 to get the direct burial place. If you need the city, follow P119 / wdt:P131 or check the burial place's wdt:P17 (country) or wdt:P625 (coordinates) if P131 is missing. Use p:P119 / ps:P119 / pq: qualifiers when you need burial-date or scope details and inspect references for source/context.
  - P118 (league/competition) is used inconsistently: sometimes on clubs, sometimes directly on players. When finding clubs use ?club wdt:P118 wd:Q... and verify ?club wdt:P31 wd:Q483394. If P118 returns players, filter by ?item wdt:P31 wd:Q5 to detect humans and avoid false positives. To get current players prefer club→p:P54 statements: ?player p:P54 ?stmt; ?stmt ps:P54 ?club. OPTIONAL{ ?stmt pq:P582 ?end } FILTER(!BOUND(?end)). Verify qualifiers/references and DOBs for plausibility.
  - Querying holders of offices (P39): prefer p:P39 / ps:P39 patterns to access qualifiers. To find current holder use: ?person p:P39 ?stmt. ?stmt ps:P39 wd:Q... . OPTIONAL{ ?stmt pq:P582 ?end } FILTER(!BOUND(?end)). Watch for duplicate statements (re-elections)  use DISTINCT or ORDER BY DESC(?start) LIMIT 1 on pq:P580. Avoid HAVING(MAX(...)=...) on QLever; prefer subqueries with ORDER/LIMIT.
  - Headquarters: use wdt:P159 for org HQs. If P159 gives a building follow that building's wdt:P131* (bounded hops). If P159 points to a place, verify its wdt:P31. Don't rely only on P17 for org-country—also check P159 and P276. Use UNION/nested patterns to cover ?org wdt:P17 wd:Q... OR ?org wdt:P159|wdt:P276 ?place . ?place wdt:P17 wd:Q... or ?place wdt:P131* wd:Q...

Index types used for entities and properties:
- Prefix index: Retrieves items by overlap between query keywords and item words. The query keywords can match item words exactly or as prefixes.
- Similarity index: Retrieves items by cosine similarity between their embeddings and the query embedding.

General notes across knowledge graphs:
- Use rdfs:label + FILTER(LANG(?label)='en') for labels; avoid SERVICE wikibase:label. If a query using SERVICE fails (e.g., HTTP 301 redirect), switch to rdfs:label + FILTER(LANG(...)) and/or schema:name. Language items (e.g., results from P2936) often lack rdfs:label@en; expect many hits without English labels—prefer P37 for official languages or map major languages by known QIDs.
- Practical query patterns: use rdfs:label + FILTER(LANG(...)) for labels. Use wdt:Pxxx for direct values; p:Pxxx/ps:Pxxx/pq:Pxxx for qualifiers. For roles: films use P161 (actor), directors P57; space missions use P1029 (crew). Query reverse and filter by instance-of film (wd:Q11424) or human (wd:Q5). For 'city' classification prefer ?x wdt:P31/wdt:P279* wd:Q515; use wdt:P2046 for area but check units/duplicates.
- When selecting latest qualifier-dated values (e.g., pq:P585 for award year or population), prefer a subquery to compute MAX(date) per subject and join back to get the matching statement/value. Avoid HAVING(MAX(?date)=?date) patterns on QLever (can cause engine errors). Use OPTIONAL for qualifiers when dates may be missing and GROUP_CONCAT for multi-values.
- Use search_entity to resolve names and verify instance-of (e.g., wdt:P31=wd:Q5). Note: search_entity can return class/designation items or noisy matches; constrain with instance-of, or search the related entity (e.g., country) and query its members. Use search_property_of_entity/search_autocomplete as fallback and always confirm P31 programmatically before trusting the top match.
- Use search_property to confirm property identifiers (e.g., "country" -> P17) before embedding them in queries. This prevents mistakes from assuming an ID and helps pick the best property if multiple choices exist.
- QLever endpoints do not support SERVICE wikibase:label — use rdfs:label + FILTER(LANG(...))='en'. Common SPARQL pitfalls: avoid '||' outside patterns (use UNION), put AND '&&' only inside FILTER, prefer VALUES over IN, and use rdfs:label filters to constrain language. When testing existence prefer FILTER EXISTS { ... } or OPTIONAL { ?s wdt:Pxx ?v . FILTER(?v = wd:Q...) } — writing OPTIONAL { ?s wdt:Pxx wd:Q... } creates no ?v for BOUND(?v). When execute() fails, simplify the query and test with list(...).
- Use list(...) to inspect all triples on an entity for exploration, but expect large results for notable items. Prefer wdt: properties or targeted p:/ps:/pq: patterns in SPARQL when you need normalized values or qualifiers, respectively.
- Before embedding property or item IDs in SPARQL, use search_property, search_property_of_entity, and search_object_of_property to discover the appropriate P/PID or object QIDs. This reduces errors from guessing IDs and surfaces better property alternatives and qualifiers. Also verify ambiguous item QIDs (e.g., currencies or template items) by checking rdfs:label and instance-of with list(...) before use.
- search_constrained and search_autocomplete can return no results for constrained queries or when the index is large. If they fail, fallback to search_entity + verify P31 (or use search_property_of_entity). Constrain with instance-of (wdt:P31) or other properties in the SPARQL to improve matches.
- When selecting awards by year, prefer xsd:dateTime range filters (e.g., >= "2001-01-01T00:00:00Z"^^xsd:dateTime && < "2002-01-01T00:00:00Z"^^xsd:dateTime) instead of YEAR() for portability and precision.
- When selecting award winners via wdt:P166, filter ?person wdt:P31 wd:Q5 to ensure humans — fictional characters or non-humans may have award claims. If you need award years use p:P166 / ps:P166 / pq:P585 and OPTIONAL { ?stmt pq:P585 ?year } to retrieve qualifier years.
- Use wdt:P625 (coordinates) together with wdt:P131* and wdt:P17 checks to validate a place's modern country or to filter by geography. When country labels mismatch historically, inspect admin parents and coordinates to resolve whether the item refers to historical/colonial scope or current boundaries.
- Prefer wdt:Pxxx for normalized/direct values when qualifiers aren't needed. Use p:Pxxx / ps:Pxxx / pq:Pxxx to access qualifiers (e.g., pq:P585 for award year). Always fetch labels with rdfs:label + FILTER(LANG(?label) = "en"). When computing derived metrics (density/rates) confirm unit consistency (area units) and datatypes and do calculations inside SPARQL.
- If search_autocomplete returns too many candidates or errors, retry with constraints (e.g., SELECT * WHERE { ?search wdt:P31 wd:Q5 }) or narrower query text. If still failing, fallback to search_entity and verify wdt:P31 for type checks.
- For award-year queries use p:P166 / ps:P166 / pq:P585 to access award statements and year qualifiers. Filter by xsd:dateTime ranges (e.g., >= "2020-01-01T00:00:00Z"^^xsd:dateTime && < "2021-01-01T00:00:00Z"^^xsd:dateTime) instead of YEAR() for robustness.
- Use search_property_of_entity to surface relevant properties for an entity (e.g., 'birth' -> P569/P19; 'cause of death' -> P509; 'manner of death' -> P1196). list(...) can inspect triples but may return large results for notable items—prefer targeted wdt: patterns (wdt:Pxxx) or p:/ps:/pq: patterns when you need qualifiers.

SPARQL prefixes for use in function calls:
- bd: <http://www.bigdata.com/rdf#
- cc: <http://creativecommons.org/ns#
- data: <https://www.wikidata.org/wiki/Special:EntityData/
- dc: <http://purl.org/dc/elements/1.1/
- dct: <http://purl.org/dc/terms/
- foaf: <http://xmlns.com/foaf/0.1/
- geo: <http://www.opengis.net/ont/geosparql#
- geof: <http://www.opengis.net/def/function/geosparql/
- gn: <http://www.geonames.org/ontology#
- hint: <http://www.bigdata.com/queryHints#
- imdb: <https://www.imdb.com/
- math: <http://www.w3.org/2005/xpath-functions/math#
- ontolex: <http://www.w3.org/ns/lemon/ontolex#
- owl: <http://www.w3.org/2002/07/owl#
- p: <http://www.wikidata.org/prop/
- pq: <http://www.wikidata.org/prop/qualifier/
- pqn: <http://www.wikidata.org/prop/qualifier/value-normalized/
- pqv: <http://www.wikidata.org/prop/qualifier/value/
- pr: <http://www.wikidata.org/prop/reference/
- prn: <http://www.wikidata.org/prop/reference/value-normalized/
- prov: <http://www.w3.org/ns/prov#
- prv: <http://www.wikidata.org/prop/reference/value/
- ps: <http://www.wikidata.org/prop/statement/
- psn: <http://www.wikidata.org/prop/statement/value-normalized/
- psv: <http://www.wikidata.org/prop/statement/value/
- qb: <http://purl.org/linked-data/cube#
- qfn: <http://qlever.cs.uni-freiburg.de/function#
- ql: <http://qlever.cs.uni-freiburg.de/builtin-functions/
- qlss: <https://qlever.cs.uni-freiburg.de/spatialSearch/
- rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#
- rdfs: <http://www.w3.org/2000/01/rdf-schema#
- ref: <http://www.wikidata.org/reference/
- s: <http://www.wikidata.org/entity/statement/
- schema: <http://schema.org/
- skos: <http://www.w3.org/2004/02/skos/core#
- v: <http://www.wikidata.org/value/
- void: <http://rdfs.org/ns/void#
- wd: <http://www.wikidata.org/entity/
- wdno: <http://www.wikidata.org/prop/novalue/
- wdt: <http://www.wikidata.org/prop/direct/
- wdtn: <http://www.wikidata.org/prop/direct-normalized/
- wikibase: <http://wikiba.se/ontology#
- xsd: <http://www.w3.org/2001/XMLSchema#

Additional rules to follow:
- Explain your thought process before and after each step and function call.
- Do not just use or make up entity or property identifiers without verifying their existence in the knowledge graphs first.
- Do not ask the user for clarifications without first attempting to complete the task. If the task input is incomplete or ambiguous, try to make reasonable assumptions and document them.
- Do not use "SERVICE wikibase:label { bd:serviceParam wikibase:language ..." in SPARQL queries. It is not SPARQL standard and unsupported by the used QLever SPARQL endpoints. Use rdfs:label or similar properties to get labels instead.
- Always execute your final SPARQL query before giving an answer to make sure it returns the expected results.
- The SPARQL query should always return the actual identifiers / IRIs of the items in its result. It additionally may return labels or other human-readable information, but they are optional and should be put within optional clauses unless explicitly requested by the user.
- Do not stop early if there are still obvious improvements to be made to the SPARQL query. For example, keep refining your SPARQL query if its result contains irrelevant items or is missing items you expected.
- Do not perform additional computation (e.g. filtering, sorting, calculations) on the result of the SPARQL query to determine the answer. All computation should be done solely within SPARQL.
- For questions with a "True" or "False" answer the SPARQL query should be an ASK query.

[User] How many official languages has Pakistan ?

[Assistant]
To determine the number of official languages in Pakistan, I need to find the official languages of Pakistan using the Wikidata knowledge graph.

### Step 1: Identify the entity for Pakistan
I will first search for the entity corresponding to Pakistan.

Question: Pakistan

Top 10 entity alternatives:
1. Pakistan (wd:Q843), also known as Islamic Republic of Pakistan, PAK, pk, Republic of Pakistan: is instance of sovereign state / sovereign state in South Asia / is instance of country / republic in Asia / republic in Asia
2. Dominion of Pakistan (wd:Q2006542, matched via Pakistan), also known as Pakistan: period of Pakistani history between 1947 to 1956 / is instance of dominion of the British Empire / is instance of historical country / is instance of dominion
3. West Pakistan (wd:Q2342822, matched via Pakistan), also known as Pakistan: Western Wing of Pakistan between 1947–1970 / is instance of historical country
4. Pakistan (wd:Q4121082): village in Purnia district, Bihar, India / is instance of village in India / village in India / village in India
5. Urdu 1 (wd:Q2786023, matched via Pakistan), also known as Pakistan: Pakistani Urdu-language television network / is instance of television network
6. Pakistan (wd:Q122963846): 2023 single by D-Block Europe and Clavish / is instance of musical work/composition
7. Khan Bela (wd:Q31308479, matched via Pakistan), also known as Liaqatpur, Pakistan, Rahim Yar Khan: Khan Bela is a city in Rahim Yar Khan District, Punjab, ... {{cvt|90|km|mile}} from Khan Bela and Bahawalpur is {{cvt|105 / is instance of human settlement
8. Pakistan (wd:Q57206806): is instance of village of Cameroon / is instance of village / village in Cameroon
9. Pakistan (wd:Q123373611): 1954 film produced by Milan Herzog / is instance of short film
10. Pakistan (wd:Q125997316): scientific article published in 2012 / is instance of scholarly article / is instance of academic article

[Assistant]
The correct entity for Pakistan is `wd:Q843`, which is the sovereign state known as the Islamic Republic of Pakistan.

### Step 2: Find the property for official languages
I need to find the property that represents official languages of a country. From the guidelines, I know that `wdt:P37` is the property for "official language" and `wdt:P2936` is for "language used". I will first check `wdt:P37` as it is preferred for official languages.

I will query for the official languages of Pakistan using `wdt:P37`.

execute

SELECT ?language WHERE { wd:Q843 wdt:P37 ?language }

[Assistant]
The query returned two official languages for Pakistan:
1. Urdu (`wd:Q1617`)
2. English (`wd:Q1860`)

### Step 3: Confirm the count of official languages
The result shows that Pakistan has **two official languages**: Urdu and English.

### Final Answer
Pakistan has **2 official languages**: Urdu and English.

I will now provide the final SPARQL query and answer.

answer

SELECT ?language WHERE { wd:Q843 wdt:P37 ?language }

Answer: Pakistan has 2 official languages: Urdu and English.


PREFIX wd: <http://www.wikidata.org/entity/>
PREFIX wdt: <http://www.wikidata.org/prop/direct/>
SELECT ?creator WHERE {
  wd:Q16889037 wdt:P170 ?creator
}

Using entities:
- Unbreakable Kimmy Schmidt (wd:Q16889037): is instance of serial / is instance of television series / American comedy streaming television series

Using properties:
- creator (wd:P170 as wdt), also known as art by, artist (non-musical), art work by, artwork by, by, etc.: maker of a creative work or other object (where no more specific property exists) / maker of this creative work or other object (where no more specific property exists) / maker of this creative work or other object (where no more specific property exists)

Answer: The creators of Unbreakable Kimmy Schmidt are Tina Fey and Robert Carlock.

The creators of Unbreakable Kimmy Schmidt are Tina Fey and Robert Carlock.

SPARQL query over wikidata:
PREFIX wd: <http://www.wikidata.org/entity/>
PREFIX wdt: <http://www.wikidata.org/prop/direct/>
SELECT ?creator WHERE {
  wd:Q16889037 wdt:P170 ?creator
}

Using entities:
- Unbreakable Kimmy Schmidt (wd:Q16889037): is instance of serial / is instance of television series / American comedy streaming television series

Using properties:
- creator (wd:P170 as wdt), also known as art by, artist (non-musical), art work by, artwork by, by, etc.: maker of a creative work or other object (where no more specific property exists) / maker of this creative work or other object (where no more specific property exists) / maker of this creative work or other object (where no more specific property exists)

Execution result:
Got 2 rows and 1 column:
| creator                      |
| ---------------------------- |
| Tina Fey (wd:Q14540)         |
| Robert Carlock (wd:Q7342763) |

[System]
You are a question answering assistant. Your job is to generate a SPARQL query to answer a given user question.

You should follow a step-by-step approach to generate the SPARQL query:
1. Determine possible entities and properties implied by the user question.
2. Search for the entities and properties in the knowledge graphs. Where applicable, constrain the searches with already identified entities and properties.
3. Gradually build up the SPARQL query using the identified entities and properties. Start with simple queries and add more complexity as needed. Execute intermediate queries to get feedback and to verify your assumptions. You may need to refine or rethink your current plan based on the query results and go back to step 2 if needed, possibly multiple times.
4. Use the answer or cancel function to finalize your answer and stop the generation process.

Available knowledge graphs:
- wikidata at https://qlever.dev/api/wikidata with prefix index for entities and similarity index for properties, and notes:
  - P106 = occupation. Use wdt:P106 to get occupations and fetch English labels with rdfs:label + FILTER(LANG(?label)='en'). When returning human occupations confirm the subject is human (wdt:P31 wd:Q5) to avoid non-human items. For 'main business' prefer more specific occupation items (e.g., real estate entrepreneur Q7301138) over broad labels like business magnate.
  - Population (P1082) and tabular (P4179): use wdt:P1082 for direct values; for time-series use p:P1082 + ps:P1082 + pq:P585 and ORDER BY pq:P585 DESC. Inspect qualifiers (e.g., 'applies to part') and references (pr:P854) to detect scope. When computing density with area (wdt:P2046) confirm area unit/datatype (usually km²), ensure population and area present and >0, and BIND(?population/?area AS ?density).
  - Spouse nationality: do not rely only on P27. Check the spouse's place of birth (P19) and then the birthplace's country (P17) or admin parents (wdt:P131*). Many pre-unification German spouses appear under historical states—map those to modern countries when needed.
  - For languages on countries: prefer wdt:P37 (official language) and wdt:P2936 (language used). wdt:P1412 (languages spoken/written/signed) is more often used for peoples/individuals and may be empty for countries. Try P37 and P2936 first, then fall back to P1412/P407. Fetch English labels with rdfs:label + FILTER(LANG(?l)='en').
  - When filtering by date of birth (P569) use xsd:dateTime comparisons (e.g. >= "1900-01-01T00:00:00Z"^^xsd:dateTime). Inception (P571) often uses Jan-01 placeholders for year-only dates; inspect p:P571 -> ps:P571 and check qualifiers/references for precision. For independence dates, also search for related event statements/items (e.g., 'declaration of independence') and prefer qualifiers/references over assuming day/month from year-only values.
  - To retrieve qualifiers (e.g., award year) use the statement/qualifier pattern: p:Pxxx / ps:Pxxx / pq:P585. Use wdt:Pxxx for normalized/direct values when you don't need qualifiers. Example: p:P166 + pq:P585 gives award year.
  - P166 = award received. Use wdt:P166 for normalized/direct values when you only need award items. To get award years or qualifiers use p:P166 / ps:P166 / pq:P585. Many statements lack pq:P585 — use OPTIONAL { ?stmt pq:P585 ?date } and ORDER BY DESC(?date). When listing award winners, filter ?person wdt:P31 wd:Q5 to ensure humans.
  - Population time-series: use p:P1082 ?stmt . ?stmt ps:P1082 ?pop . OPTIONAL { ?stmt pq:P585 ?date } . To get the most recent value prefer a subquery to compute MAX(?date) per subject and join back to the statement to retrieve the matching population. Avoid HAVING(MAX(?date)=?date) — QLever can error. Inspect qualifiers/references for scope (city-proper vs metro).
  - wdt:P131* can be expensive and may be incomplete. First try direct wdt:P131 for immediate administrative parent(s). If missing, check wdt:P17 (country) and wdt:P625 (coordinates) or the place item's own statements. Prefer bounded traversal (1-2 hops) or explicit parent patterns and use DISTINCT/ORDER/LIMIT to de-duplicate rather than broad P131*.
  - Use search_property_of_entity to find candidate properties but always verify the property's semantics (domain/range) and whether it links to the office, office-holder, or related entity. Test with a small query before relying on results. For creative works, after locating candidate properties, filter results by instance-of (e.g., films wd:Q11424; board games wd:Q131436) to avoid non-work items.
  - Use search_property_of_entity to find relevant properties. Political parties are modelled inconsistently (P1142, P1313, P463, P39/P106). Fallback: inspect party pages/lists and MEP group memberships; document assumptions. For country government type prefer P122 (basic form of government); P1288 is inconsistent. To exclude historical states filter NOT EXISTS { ?item wdt:P576 ?d }.
  - Inspect statement references and qualifiers: use prov:wasDerivedFrom on p: statements to find sources, and check qualifiers (e.g., 'applies to part' or other scope qualifiers) to disambiguate city vs metro vs admin area. Reference labels can be empty; inspect reference node properties for URLs or publication dates.
  - Place of burial (P119): use wdt:P119 to get the direct burial place. If you need the city, follow P119 / wdt:P131 or check the burial place's wdt:P17 (country) or wdt:P625 (coordinates) if P131 is missing. Use p:P119 / ps:P119 / pq: qualifiers when you need burial-date or scope details and inspect references for source/context.
  - P118 (league/competition) is used inconsistently: sometimes on clubs, sometimes directly on players. When finding clubs use ?club wdt:P118 wd:Q... and verify ?club wdt:P31 wd:Q483394. If P118 returns players, filter by ?item wdt:P31 wd:Q5 to detect humans and avoid false positives. To get current players prefer club→p:P54 statements: ?player p:P54 ?stmt; ?stmt ps:P54 ?club. OPTIONAL{ ?stmt pq:P582 ?end } FILTER(!BOUND(?end)). Verify qualifiers/references and DOBs for plausibility.
  - Querying holders of offices (P39): prefer p:P39 / ps:P39 patterns to access qualifiers. To find current holder use: ?person p:P39 ?stmt. ?stmt ps:P39 wd:Q... . OPTIONAL{ ?stmt pq:P582 ?end } FILTER(!BOUND(?end)). Watch for duplicate statements (re-elections)  use DISTINCT or ORDER BY DESC(?start) LIMIT 1 on pq:P580. Avoid HAVING(MAX(...)=...) on QLever; prefer subqueries with ORDER/LIMIT.
  - Headquarters: use wdt:P159 for org HQs. If P159 gives a building follow that building's wdt:P131* (bounded hops). If P159 points to a place, verify its wdt:P31. Don't rely only on P17 for org-country—also check P159 and P276. Use UNION/nested patterns to cover ?org wdt:P17 wd:Q... OR ?org wdt:P159|wdt:P276 ?place . ?place wdt:P17 wd:Q... or ?place wdt:P131* wd:Q...

Index types used for entities and properties:
- Prefix index: Retrieves items by overlap between query keywords and item words. The query keywords can match item words exactly or as prefixes.
- Similarity index: Retrieves items by cosine similarity between their embeddings and the query embedding.

General notes across knowledge graphs:
- Use rdfs:label + FILTER(LANG(?label)='en') for labels; avoid SERVICE wikibase:label. If a query using SERVICE fails (e.g., HTTP 301 redirect), switch to rdfs:label + FILTER(LANG(...)) and/or schema:name. Language items (e.g., results from P2936) often lack rdfs:label@en; expect many hits without English labels—prefer P37 for official languages or map major languages by known QIDs.
- Practical query patterns: use rdfs:label + FILTER(LANG(...)) for labels. Use wdt:Pxxx for direct values; p:Pxxx/ps:Pxxx/pq:Pxxx for qualifiers. For roles: films use P161 (actor), directors P57; space missions use P1029 (crew). Query reverse and filter by instance-of film (wd:Q11424) or human (wd:Q5). For 'city' classification prefer ?x wdt:P31/wdt:P279* wd:Q515; use wdt:P2046 for area but check units/duplicates.
- When selecting latest qualifier-dated values (e.g., pq:P585 for award year or population), prefer a subquery to compute MAX(date) per subject and join back to get the matching statement/value. Avoid HAVING(MAX(?date)=?date) patterns on QLever (can cause engine errors). Use OPTIONAL for qualifiers when dates may be missing and GROUP_CONCAT for multi-values.
- Use search_entity to resolve names and verify instance-of (e.g., wdt:P31=wd:Q5). Note: search_entity can return class/designation items or noisy matches; constrain with instance-of, or search the related entity (e.g., country) and query its members. Use search_property_of_entity/search_autocomplete as fallback and always confirm P31 programmatically before trusting the top match.
- Use search_property to confirm property identifiers (e.g., "country" -> P17) before embedding them in queries. This prevents mistakes from assuming an ID and helps pick the best property if multiple choices exist.
- QLever endpoints do not support SERVICE wikibase:label — use rdfs:label + FILTER(LANG(...))='en'. Common SPARQL pitfalls: avoid '||' outside patterns (use UNION), put AND '&&' only inside FILTER, prefer VALUES over IN, and use rdfs:label filters to constrain language. When testing existence prefer FILTER EXISTS { ... } or OPTIONAL { ?s wdt:Pxx ?v . FILTER(?v = wd:Q...) } — writing OPTIONAL { ?s wdt:Pxx wd:Q... } creates no ?v for BOUND(?v). When execute() fails, simplify the query and test with list(...).
- Use list(...) to inspect all triples on an entity for exploration, but expect large results for notable items. Prefer wdt: properties or targeted p:/ps:/pq: patterns in SPARQL when you need normalized values or qualifiers, respectively.
- Before embedding property or item IDs in SPARQL, use search_property, search_property_of_entity, and search_object_of_property to discover the appropriate P/PID or object QIDs. This reduces errors from guessing IDs and surfaces better property alternatives and qualifiers. Also verify ambiguous item QIDs (e.g., currencies or template items) by checking rdfs:label and instance-of with list(...) before use.
- search_constrained and search_autocomplete can return no results for constrained queries or when the index is large. If they fail, fallback to search_entity + verify P31 (or use search_property_of_entity). Constrain with instance-of (wdt:P31) or other properties in the SPARQL to improve matches.
- When selecting awards by year, prefer xsd:dateTime range filters (e.g., >= "2001-01-01T00:00:00Z"^^xsd:dateTime && < "2002-01-01T00:00:00Z"^^xsd:dateTime) instead of YEAR() for portability and precision.
- When selecting award winners via wdt:P166, filter ?person wdt:P31 wd:Q5 to ensure humans — fictional characters or non-humans may have award claims. If you need award years use p:P166 / ps:P166 / pq:P585 and OPTIONAL { ?stmt pq:P585 ?year } to retrieve qualifier years.
- Use wdt:P625 (coordinates) together with wdt:P131* and wdt:P17 checks to validate a place's modern country or to filter by geography. When country labels mismatch historically, inspect admin parents and coordinates to resolve whether the item refers to historical/colonial scope or current boundaries.
- Prefer wdt:Pxxx for normalized/direct values when qualifiers aren't needed. Use p:Pxxx / ps:Pxxx / pq:Pxxx to access qualifiers (e.g., pq:P585 for award year). Always fetch labels with rdfs:label + FILTER(LANG(?label) = "en"). When computing derived metrics (density/rates) confirm unit consistency (area units) and datatypes and do calculations inside SPARQL.
- If search_autocomplete returns too many candidates or errors, retry with constraints (e.g., SELECT * WHERE { ?search wdt:P31 wd:Q5 }) or narrower query text. If still failing, fallback to search_entity and verify wdt:P31 for type checks.
- For award-year queries use p:P166 / ps:P166 / pq:P585 to access award statements and year qualifiers. Filter by xsd:dateTime ranges (e.g., >= "2020-01-01T00:00:00Z"^^xsd:dateTime && < "2021-01-01T00:00:00Z"^^xsd:dateTime) instead of YEAR() for robustness.
- Use search_property_of_entity to surface relevant properties for an entity (e.g., 'birth' -> P569/P19; 'cause of death' -> P509; 'manner of death' -> P1196). list(...) can inspect triples but may return large results for notable items—prefer targeted wdt: patterns (wdt:Pxxx) or p:/ps:/pq: patterns when you need qualifiers.

SPARQL prefixes for use in function calls:
- bd: <http://www.bigdata.com/rdf#
- cc: <http://creativecommons.org/ns#
- data: <https://www.wikidata.org/wiki/Special:EntityData/
- dc: <http://purl.org/dc/elements/1.1/
- dct: <http://purl.org/dc/terms/
- foaf: <http://xmlns.com/foaf/0.1/
- geo: <http://www.opengis.net/ont/geosparql#
- geof: <http://www.opengis.net/def/function/geosparql/
- gn: <http://www.geonames.org/ontology#
- hint: <http://www.bigdata.com/queryHints#
- imdb: <https://www.imdb.com/
- math: <http://www.w3.org/2005/xpath-functions/math#
- ontolex: <http://www.w3.org/ns/lemon/ontolex#
- owl: <http://www.w3.org/2002/07/owl#
- p: <http://www.wikidata.org/prop/
- pq: <http://www.wikidata.org/prop/qualifier/
- pqn: <http://www.wikidata.org/prop/qualifier/value-normalized/
- pqv: <http://www.wikidata.org/prop/qualifier/value/
- pr: <http://www.wikidata.org/prop/reference/
- prn: <http://www.wikidata.org/prop/reference/value-normalized/
- prov: <http://www.w3.org/ns/prov#
- prv: <http://www.wikidata.org/prop/reference/value/
- ps: <http://www.wikidata.org/prop/statement/
- psn: <http://www.wikidata.org/prop/statement/value-normalized/
- psv: <http://www.wikidata.org/prop/statement/value/
- qb: <http://purl.org/linked-data/cube#
- qfn: <http://qlever.cs.uni-freiburg.de/function#
- ql: <http://qlever.cs.uni-freiburg.de/builtin-functions/
- qlss: <https://qlever.cs.uni-freiburg.de/spatialSearch/
- rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#
- rdfs: <http://www.w3.org/2000/01/rdf-schema#
- ref: <http://www.wikidata.org/reference/
- s: <http://www.wikidata.org/entity/statement/
- schema: <http://schema.org/
- skos: <http://www.w3.org/2004/02/skos/core#
- v: <http://www.wikidata.org/value/
- void: <http://rdfs.org/ns/void#
- wd: <http://www.wikidata.org/entity/
- wdno: <http://www.wikidata.org/prop/novalue/
- wdt: <http://www.wikidata.org/prop/direct/
- wdtn: <http://www.wikidata.org/prop/direct-normalized/
- wikibase: <http://wikiba.se/ontology#
- xsd: <http://www.w3.org/2001/XMLSchema#

Additional rules to follow:
- Explain your thought process before and after each step and function call.
- Do not just use or make up entity or property identifiers without verifying their existence in the knowledge graphs first.
- Do not ask the user for clarifications without first attempting to complete the task. If the task input is incomplete or ambiguous, try to make reasonable assumptions and document them.
- Do not use "SERVICE wikibase:label { bd:serviceParam wikibase:language ..." in SPARQL queries. It is not SPARQL standard and unsupported by the used QLever SPARQL endpoints. Use rdfs:label or similar properties to get labels instead.
- Always execute your final SPARQL query before giving an answer to make sure it returns the expected results.
- The SPARQL query should always return the actual identifiers / IRIs of the items in its result. It additionally may return labels or other human-readable information, but they are optional and should be put within optional clauses unless explicitly requested by the user.
- Do not stop early if there are still obvious improvements to be made to the SPARQL query. For example, keep refining your SPARQL query if its result contains irrelevant items or is missing items you expected.
- Do not perform additional computation (e.g. filtering, sorting, calculations) on the result of the SPARQL query to determine the answer. All computation should be done solely within SPARQL.
- For questions with a "True" or "False" answer the SPARQL query should be an ASK query.

[User] Who was the creator of Unbreakable Kimmy Schmidt ?

[Assistant]
To find the creator of "Unbreakable Kimmy Schmidt," I need to identify the relevant entity for the TV show and then find the property that links it to its creator.

### Step 1: Search for the entity "Unbreakable Kimmy Schmidt"
I'll start by searching for the TV show "Unbreakable Kimmy Schmidt" in Wikidata to find its entity identifier.

Question: Unbreakable Kimmy Schmidt

Top 10 entity alternatives:
1. Unbreakable Kimmy Schmidt (wd:Q16889037): American comedy streaming television series / is instance of television series / is instance of serial
2. Unbreakable Kimmy Schmidt, season 1 (wd:Q21186375): is instance of television series season / season of television series / is instance of series
3. Unbreakable Kimmy Schmidt, season 3 (wd:Q30158232): is instance of television series season / season of television series / is instance of series
4. Unbreakable Kimmy Schmidt, season 2 (wd:Q25093973): is instance of television series season / season of television series / is instance of series
5. Unbreakable Kimmy Schmidt, season 4 (wd:Q54847377): is instance of television series season / season of television series / is instance of series
6. Unbreakable Kimmy Schmidt theme song (wd:Q28787990): is instance of theme music / song
7. Unbreakable Kimmy Schmidt: Kimmy vs. the Reverend (wd:Q98708760), also known as Kimmy vs. the Reverend, Unbreakable Kimmy Schmidt: Kimmy vs the Reverend: 2020 interactive film directed by Claire Scanlon / is instance of television special / is instance of interactive film
8. Kimmy Schmidt (wd:Q23017207), also known as Kimberly Cougar Schmidt, Kimberly Schmidt: fictional Protagonist of Unbreakable Kimmy Schmidt / is instance of television character / is instance of fictional human
9. Helmut Schmidt (wd:Q2516), also known as Helmut Heinrich Waldemar Schmidt, H. Schmidt, Schmidt, Helmut Heinrich Waldemar: Chancellor of West Germany from 1974 to 1982 / Chancellor of West Germany 1974-1982 / has occupation non-fiction writer / has occupation civil service / has occupation civil servant / has occupation statesperson / has occupation politician / has occupation publisher / has occupation economist / has occupation Economist / has occupation minister / has occupation writer / is instance of human
10. Max Stirner (wd:Q76725, matched via Johann Kaspar Schmidt), also known as Johann Kaspar Schmidt: has occupation professor of philosophy / has occupation gymnasial teacher / German philosopher (1806-1856) / German philosopher (1806-1856) / German philosopher (1806-1856) / has occupation Philosopher / has occupation philosopher / has occupation journalist / has occupation translator / has occupation educator / has occupation writer / is instance of human / German philosopher

[Assistant]
The main entity for "Unbreakable Kimmy Schmidt" is `wd:Q16889037`, which represents the American comedy streaming television series.

### Step 2: Find the property for "creator"
Now, I need to find the property that links the TV series to its creator. I'll search for properties related to "creator" for this entity.

Question: creator

Top 10 property alternatives:
1. creator (wd:P170 as p/wdt), also known as art by, artist (non-musical), art work by, artwork by, by, etc.: maker of this creative work or other object (where no more specific property exists) / maker of this creative work or other object (where no more specific property exists) / maker of a creative work or other object (where no more specific property exists)
2. producer (wd:P162 as p/wdt, matched via creative producer), also known as creative producer, film producer, musical producer, music producer, produced by, etc.: person(s) who produced the film, musical work, theatrical ... [for production company, use P272, video games - use P178] / producer(s) of this film or music work (film: not executive producers, associate producers, etc.)
3. composer (wd:P86 as p/wdt, matched via songwriter), also known as composed by, film score by, musical score by, music by, songwriter, etc.: person(s) who wrote the music [for lyricist, use "lyrics by" (P676)] / person(s) who wrote the music; also use P676 for lyricist / person(s) who wrote the music; also use P676 for lyricist / is subproperty of creator
4. cast member (wd:P161 as p/wdt, matched via actor), also known as actor, actress, contestant of a play, feat., film starring, etc.: actor in the subject production [use "character role" (P453) ... "recorded participant" (P11108) for non-fiction productions] / actor in the subject production [use "character role" (P453) ... as qualifiers] [use "voice actor" (P725) for voice-only role] / actor performing live for a camera or audience [use ... as qualifier] [use "voice actor" (P725) for voice-only role] / is subproperty of significant person / is subproperty of performer
5. production company (wd:P272 as p/wdt, matched via producer (company)), also known as ballet company, broadcasting company, film studio, motion picture studio, movie studio, etc.: company that produced this film, audio or performing arts work / company that produced this film, audio or performing arts work
6. has part(s) (wd:P527 as p/wdt, matched via created from), also known as amalgamation of, assembled from, assembled out of, composed of, comprised of, etc.: part of this subject; inverse property of "part of" (P361). See also "has parts of the class" (P2670). / part of this subject; inverse property of "part of" (P361). See also "has parts of the class" (P2670). / part of this subject, also valuable subclass or exemplar. Inverse property of "part of".
7. genre (wd:P136 as p/wdt), also known as artistic genre, art style, film genre, genre of literature, genre of music, etc.: creative work's genre or an artist's field of work (P101). Use main subject (P921) to relate creative works to their topic / genre of a creative work or genre in which an artist works
8. social media followers (wd:P8687 as p/wdt, matched via followers), also known as follow count, follower count, follower number, followers, follow number, etc.: number of subscribers on a particular social media website ... time" and property for account. For Twitter, use numeric id.
9. topic's main category (wd:P910 as p/wdt, matched via category), also known as article's main category, category, category for this topic, catmain, has category, etc.: main category of this topic / main Wikimedia category
10. distribution format (wd:P437 as p/wdt, matched via edition), also known as book format, distribution, distribution method, edition, format, etc.: method (or type) of distribution for the subject / method (or type) of distribution for the subject

No other items found

[Assistant]
The property `wdt:P170` (creator) is the most relevant one for identifying the creator of a creative work like a TV series.

### Step 3: Query for the creator of "Unbreakable Kimmy Schmidt"
Now I will query Wikidata to find the creator of "Unbreakable Kimmy Schmidt" using the entity `wd:Q16889037` and the property `wdt:P170`.

execute

SELECT ?creator WHERE { wd:Q16889037 wdt:P170 ?creator }

[Assistant]
The TV series "Unbreakable Kimmy Schmidt" has two creators: Tina Fey and Robert Carlock.

### Final Answer
The creators of "Unbreakable Kimmy Schmidt" are Tina Fey and Robert Carlock.

I will now provide the final SPARQL query and answer.

answer

SELECT ?creator WHERE { wd:Q16889037 wdt:P170 ?creator }

Answer: The creators of Unbreakable Kimmy Schmidt are Tina Fey and Robert Carlock.


PREFIX wd: <http://www.wikidata.org/entity/>
PREFIX wdt: <http://www.wikidata.org/prop/direct/>
SELECT ( COUNT( ?movie ) AS ?count ) WHERE {
  wd:Q8006 wdt:P800 ?movie .
  ?movie wdt:P31 wd:Q11424
}

Using entities:
- film (wd:Q11424), also known as cinema, cinematic work, films, flick, motion picture, etc.: is subclass of moving image / is subclass of audiovisual work / is subclass of visual artwork / sequence of images that give the impression of movement / sequence of images that give the impression of movement / sequence of images that give the impression of movement, stored on film stock / sequence of images that give the impression of movement, stored on film stock
- Akira Kurosawa (wd:Q8006), also known as Kurosawa, Kurosawa Akira: has occupation Film producer / has occupation film editor / has occupation film screenwriter / has occupation producer / has occupation writer / has occupation overseer / has occupation director / has occupation painter / has occupation film producer / has occupation screenwriter / has occupation film director / is instance of human / Japanese filmmaker (1910–1998)

Using properties:
- instance of (wd:P31 as wdt), also known as example of, has type, is a, is an, is of type, etc.: that class of which this subject is a particular example and ... a subclass of mountain (and an instance of volcanic landform) / type to which this subject corresponds/belongs. Different ... instance of mountain; volcanoes form a subclass of mountains / type to which this subject corresponds/belongs. Different ... is an instance of mountain; volcano is a subclass of mountain
- notable work (wd:P800 as wdt), also known as artwork, author of, bibliography, books by, creator of, etc.: notable scientific, artistic or literary work, or other work of significance among subject's works / notable scientific, artistic or literary work, or other work of significance among subject's works

Got 1 row and 1 column:
| count       |
| ----------- |
| 8 (xsd:int) |

Answer: Akira Kurosawa directed 8 movies.

Akira Kurosawa directed 8 movies.

SPARQL query over wikidata:
PREFIX wd: <http://www.wikidata.org/entity/>
PREFIX wdt: <http://www.wikidata.org/prop/direct/>
SELECT ( COUNT( ?movie ) AS ?count ) WHERE {
  wd:Q8006 wdt:P800 ?movie .
  ?movie wdt:P31 wd:Q11424
}

Using entities:
- film (wd:Q11424), also known as cinema, cinematic work, films, flick, motion picture, etc.: is subclass of moving image / is subclass of audiovisual work / is subclass of visual artwork / sequence of images that give the impression of movement / sequence of images that give the impression of movement / sequence of images that give the impression of movement, stored on film stock / sequence of images that give the impression of movement, stored on film stock
- Akira Kurosawa (wd:Q8006), also known as Kurosawa, Kurosawa Akira: has occupation Film producer / has occupation film editor / has occupation film screenwriter / has occupation producer / has occupation writer / has occupation overseer / has occupation director / has occupation painter / has occupation film producer / has occupation screenwriter / has occupation film director / is instance of human / Japanese filmmaker (1910–1998)

Using properties:
- instance of (wd:P31 as wdt), also known as example of, has type, is a, is an, is of type, etc.: that class of which this subject is a particular example and ... a subclass of mountain (and an instance of volcanic landform) / type to which this subject corresponds/belongs. Different ... instance of mountain; volcanoes form a subclass of mountains / type to which this subject corresponds/belongs. Different ... is an instance of mountain; volcano is a subclass of mountain
- notable work (wd:P800 as wdt), also known as artwork, author of, bibliography, books by, creator of, etc.: notable scientific, artistic or literary work, or other work of significance among subject's works / notable scientific, artistic or literary work, or other work of significance among subject's works

Execution result:
Got 1 row and 1 column:
| count       |
| ----------- |
| 8 (xsd:int) |

[System]
You are a question answering assistant. Your job is to generate a SPARQL query to answer a given user question.

You should follow a step-by-step approach to generate the SPARQL query:
1. Determine possible entities and properties implied by the user question.
2. Search for the entities and properties in the knowledge graphs. Where applicable, constrain the searches with already identified entities and properties.
3. Gradually build up the SPARQL query using the identified entities and properties. Start with simple queries and add more complexity as needed. Execute intermediate queries to get feedback and to verify your assumptions. You may need to refine or rethink your current plan based on the query results and go back to step 2 if needed, possibly multiple times.
4. Use the answer or cancel function to finalize your answer and stop the generation process.

Available knowledge graphs:
- wikidata at https://qlever.dev/api/wikidata with prefix index for entities and similarity index for properties, and notes:
  - P106 = occupation. Use wdt:P106 to get occupations and fetch English labels with rdfs:label + FILTER(LANG(?label)='en'). When returning human occupations confirm the subject is human (wdt:P31 wd:Q5) to avoid non-human items. For 'main business' prefer more specific occupation items (e.g., real estate entrepreneur Q7301138) over broad labels like business magnate.
  - Population (P1082) and tabular (P4179): use wdt:P1082 for direct values; for time-series use p:P1082 + ps:P1082 + pq:P585 and ORDER BY pq:P585 DESC. Inspect qualifiers (e.g., 'applies to part') and references (pr:P854) to detect scope. When computing density with area (wdt:P2046) confirm area unit/datatype (usually km²), ensure population and area present and >0, and BIND(?population/?area AS ?density).
  - Spouse nationality: do not rely only on P27. Check the spouse's place of birth (P19) and then the birthplace's country (P17) or admin parents (wdt:P131*). Many pre-unification German spouses appear under historical states—map those to modern countries when needed.
  - For languages on countries: prefer wdt:P37 (official language) and wdt:P2936 (language used). wdt:P1412 (languages spoken/written/signed) is more often used for peoples/individuals and may be empty for countries. Try P37 and P2936 first, then fall back to P1412/P407. Fetch English labels with rdfs:label + FILTER(LANG(?l)='en').
  - When filtering by date of birth (P569) use xsd:dateTime comparisons (e.g. >= "1900-01-01T00:00:00Z"^^xsd:dateTime). Inception (P571) often uses Jan-01 placeholders for year-only dates; inspect p:P571 -> ps:P571 and check qualifiers/references for precision. For independence dates, also search for related event statements/items (e.g., 'declaration of independence') and prefer qualifiers/references over assuming day/month from year-only values.
  - To retrieve qualifiers (e.g., award year) use the statement/qualifier pattern: p:Pxxx / ps:Pxxx / pq:P585. Use wdt:Pxxx for normalized/direct values when you don't need qualifiers. Example: p:P166 + pq:P585 gives award year.
  - P166 = award received. Use wdt:P166 for normalized/direct values when you only need award items. To get award years or qualifiers use p:P166 / ps:P166 / pq:P585. Many statements lack pq:P585 — use OPTIONAL { ?stmt pq:P585 ?date } and ORDER BY DESC(?date). When listing award winners, filter ?person wdt:P31 wd:Q5 to ensure humans.
  - Population time-series: use p:P1082 ?stmt . ?stmt ps:P1082 ?pop . OPTIONAL { ?stmt pq:P585 ?date } . To get the most recent value prefer a subquery to compute MAX(?date) per subject and join back to the statement to retrieve the matching population. Avoid HAVING(MAX(?date)=?date) — QLever can error. Inspect qualifiers/references for scope (city-proper vs metro).
  - wdt:P131* can be expensive and may be incomplete. First try direct wdt:P131 for immediate administrative parent(s). If missing, check wdt:P17 (country) and wdt:P625 (coordinates) or the place item's own statements. Prefer bounded traversal (1-2 hops) or explicit parent patterns and use DISTINCT/ORDER/LIMIT to de-duplicate rather than broad P131*.
  - Use search_property_of_entity to find candidate properties but always verify the property's semantics (domain/range) and whether it links to the office, office-holder, or related entity. Test with a small query before relying on results. For creative works, after locating candidate properties, filter results by instance-of (e.g., films wd:Q11424; board games wd:Q131436) to avoid non-work items.
  - Use search_property_of_entity to find relevant properties. Political parties are modelled inconsistently (P1142, P1313, P463, P39/P106). Fallback: inspect party pages/lists and MEP group memberships; document assumptions. For country government type prefer P122 (basic form of government); P1288 is inconsistent. To exclude historical states filter NOT EXISTS { ?item wdt:P576 ?d }.
  - Inspect statement references and qualifiers: use prov:wasDerivedFrom on p: statements to find sources, and check qualifiers (e.g., 'applies to part' or other scope qualifiers) to disambiguate city vs metro vs admin area. Reference labels can be empty; inspect reference node properties for URLs or publication dates.
  - Place of burial (P119): use wdt:P119 to get the direct burial place. If you need the city, follow P119 / wdt:P131 or check the burial place's wdt:P17 (country) or wdt:P625 (coordinates) if P131 is missing. Use p:P119 / ps:P119 / pq: qualifiers when you need burial-date or scope details and inspect references for source/context.
  - P118 (league/competition) is used inconsistently: sometimes on clubs, sometimes directly on players. When finding clubs use ?club wdt:P118 wd:Q... and verify ?club wdt:P31 wd:Q483394. If P118 returns players, filter by ?item wdt:P31 wd:Q5 to detect humans and avoid false positives. To get current players prefer club→p:P54 statements: ?player p:P54 ?stmt; ?stmt ps:P54 ?club. OPTIONAL{ ?stmt pq:P582 ?end } FILTER(!BOUND(?end)). Verify qualifiers/references and DOBs for plausibility.
  - Querying holders of offices (P39): prefer p:P39 / ps:P39 patterns to access qualifiers. To find current holder use: ?person p:P39 ?stmt. ?stmt ps:P39 wd:Q... . OPTIONAL{ ?stmt pq:P582 ?end } FILTER(!BOUND(?end)). Watch for duplicate statements (re-elections)  use DISTINCT or ORDER BY DESC(?start) LIMIT 1 on pq:P580. Avoid HAVING(MAX(...)=...) on QLever; prefer subqueries with ORDER/LIMIT.
  - Headquarters: use wdt:P159 for org HQs. If P159 gives a building follow that building's wdt:P131* (bounded hops). If P159 points to a place, verify its wdt:P31. Don't rely only on P17 for org-country—also check P159 and P276. Use UNION/nested patterns to cover ?org wdt:P17 wd:Q... OR ?org wdt:P159|wdt:P276 ?place . ?place wdt:P17 wd:Q... or ?place wdt:P131* wd:Q...

Index types used for entities and properties:
- Prefix index: Retrieves items by overlap between query keywords and item words. The query keywords can match item words exactly or as prefixes.
- Similarity index: Retrieves items by cosine similarity between their embeddings and the query embedding.

General notes across knowledge graphs:
- Use rdfs:label + FILTER(LANG(?label)='en') for labels; avoid SERVICE wikibase:label. If a query using SERVICE fails (e.g., HTTP 301 redirect), switch to rdfs:label + FILTER(LANG(...)) and/or schema:name. Language items (e.g., results from P2936) often lack rdfs:label@en; expect many hits without English labels—prefer P37 for official languages or map major languages by known QIDs.
- Practical query patterns: use rdfs:label + FILTER(LANG(...)) for labels. Use wdt:Pxxx for direct values; p:Pxxx/ps:Pxxx/pq:Pxxx for qualifiers. For roles: films use P161 (actor), directors P57; space missions use P1029 (crew). Query reverse and filter by instance-of film (wd:Q11424) or human (wd:Q5). For 'city' classification prefer ?x wdt:P31/wdt:P279* wd:Q515; use wdt:P2046 for area but check units/duplicates.
- When selecting latest qualifier-dated values (e.g., pq:P585 for award year or population), prefer a subquery to compute MAX(date) per subject and join back to get the matching statement/value. Avoid HAVING(MAX(?date)=?date) patterns on QLever (can cause engine errors). Use OPTIONAL for qualifiers when dates may be missing and GROUP_CONCAT for multi-values.
- Use search_entity to resolve names and verify instance-of (e.g., wdt:P31=wd:Q5). Note: search_entity can return class/designation items or noisy matches; constrain with instance-of, or search the related entity (e.g., country) and query its members. Use search_property_of_entity/search_autocomplete as fallback and always confirm P31 programmatically before trusting the top match.
- Use search_property to confirm property identifiers (e.g., "country" -> P17) before embedding them in queries. This prevents mistakes from assuming an ID and helps pick the best property if multiple choices exist.
- QLever endpoints do not support SERVICE wikibase:label — use rdfs:label + FILTER(LANG(...))='en'. Common SPARQL pitfalls: avoid '||' outside patterns (use UNION), put AND '&&' only inside FILTER, prefer VALUES over IN, and use rdfs:label filters to constrain language. When testing existence prefer FILTER EXISTS { ... } or OPTIONAL { ?s wdt:Pxx ?v . FILTER(?v = wd:Q...) } — writing OPTIONAL { ?s wdt:Pxx wd:Q... } creates no ?v for BOUND(?v). When execute() fails, simplify the query and test with list(...).
- Use list(...) to inspect all triples on an entity for exploration, but expect large results for notable items. Prefer wdt: properties or targeted p:/ps:/pq: patterns in SPARQL when you need normalized values or qualifiers, respectively.
- Before embedding property or item IDs in SPARQL, use search_property, search_property_of_entity, and search_object_of_property to discover the appropriate P/PID or object QIDs. This reduces errors from guessing IDs and surfaces better property alternatives and qualifiers. Also verify ambiguous item QIDs (e.g., currencies or template items) by checking rdfs:label and instance-of with list(...) before use.
- search_constrained and search_autocomplete can return no results for constrained queries or when the index is large. If they fail, fallback to search_entity + verify P31 (or use search_property_of_entity). Constrain with instance-of (wdt:P31) or other properties in the SPARQL to improve matches.
- When selecting awards by year, prefer xsd:dateTime range filters (e.g., >= "2001-01-01T00:00:00Z"^^xsd:dateTime && < "2002-01-01T00:00:00Z"^^xsd:dateTime) instead of YEAR() for portability and precision.
- When selecting award winners via wdt:P166, filter ?person wdt:P31 wd:Q5 to ensure humans — fictional characters or non-humans may have award claims. If you need award years use p:P166 / ps:P166 / pq:P585 and OPTIONAL { ?stmt pq:P585 ?year } to retrieve qualifier years.
- Use wdt:P625 (coordinates) together with wdt:P131* and wdt:P17 checks to validate a place's modern country or to filter by geography. When country labels mismatch historically, inspect admin parents and coordinates to resolve whether the item refers to historical/colonial scope or current boundaries.
- Prefer wdt:Pxxx for normalized/direct values when qualifiers aren't needed. Use p:Pxxx / ps:Pxxx / pq:Pxxx to access qualifiers (e.g., pq:P585 for award year). Always fetch labels with rdfs:label + FILTER(LANG(?label) = "en"). When computing derived metrics (density/rates) confirm unit consistency (area units) and datatypes and do calculations inside SPARQL.
- If search_autocomplete returns too many candidates or errors, retry with constraints (e.g., SELECT * WHERE { ?search wdt:P31 wd:Q5 }) or narrower query text. If still failing, fallback to search_entity and verify wdt:P31 for type checks.
- For award-year queries use p:P166 / ps:P166 / pq:P585 to access award statements and year qualifiers. Filter by xsd:dateTime ranges (e.g., >= "2020-01-01T00:00:00Z"^^xsd:dateTime && < "2021-01-01T00:00:00Z"^^xsd:dateTime) instead of YEAR() for robustness.
- Use search_property_of_entity to surface relevant properties for an entity (e.g., 'birth' -> P569/P19; 'cause of death' -> P509; 'manner of death' -> P1196). list(...) can inspect triples but may return large results for notable items—prefer targeted wdt: patterns (wdt:Pxxx) or p:/ps:/pq: patterns when you need qualifiers.

SPARQL prefixes for use in function calls:
- bd: <http://www.bigdata.com/rdf#
- cc: <http://creativecommons.org/ns#
- data: <https://www.wikidata.org/wiki/Special:EntityData/
- dc: <http://purl.org/dc/elements/1.1/
- dct: <http://purl.org/dc/terms/
- foaf: <http://xmlns.com/foaf/0.1/
- geo: <http://www.opengis.net/ont/geosparql#
- geof: <http://www.opengis.net/def/function/geosparql/
- gn: <http://www.geonames.org/ontology#
- hint: <http://www.bigdata.com/queryHints#
- imdb: <https://www.imdb.com/
- math: <http://www.w3.org/2005/xpath-functions/math#
- ontolex: <http://www.w3.org/ns/lemon/ontolex#
- owl: <http://www.w3.org/2002/07/owl#
- p: <http://www.wikidata.org/prop/
- pq: <http://www.wikidata.org/prop/qualifier/
- pqn: <http://www.wikidata.org/prop/qualifier/value-normalized/
- pqv: <http://www.wikidata.org/prop/qualifier/value/
- pr: <http://www.wikidata.org/prop/reference/
- prn: <http://www.wikidata.org/prop/reference/value-normalized/
- prov: <http://www.w3.org/ns/prov#
- prv: <http://www.wikidata.org/prop/reference/value/
- ps: <http://www.wikidata.org/prop/statement/
- psn: <http://www.wikidata.org/prop/statement/value-normalized/
- psv: <http://www.wikidata.org/prop/statement/value/
- qb: <http://purl.org/linked-data/cube#
- qfn: <http://qlever.cs.uni-freiburg.de/function#
- ql: <http://qlever.cs.uni-freiburg.de/builtin-functions/
- qlss: <https://qlever.cs.uni-freiburg.de/spatialSearch/
- rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#
- rdfs: <http://www.w3.org/2000/01/rdf-schema#
- ref: <http://www.wikidata.org/reference/
- s: <http://www.wikidata.org/entity/statement/
- schema: <http://schema.org/
- skos: <http://www.w3.org/2004/02/skos/core#
- v: <http://www.wikidata.org/value/
- void: <http://rdfs.org/ns/void#
- wd: <http://www.wikidata.org/entity/
- wdno: <http://www.wikidata.org/prop/novalue/
- wdt: <http://www.wikidata.org/prop/direct/
- wdtn: <http://www.wikidata.org/prop/direct-normalized/
- wikibase: <http://wikiba.se/ontology#
- xsd: <http://www.w3.org/2001/XMLSchema#

Additional rules to follow:
- Explain your thought process before and after each step and function call.
- Do not just use or make up entity or property identifiers without verifying their existence in the knowledge graphs first.
- Do not ask the user for clarifications without first attempting to complete the task. If the task input is incomplete or ambiguous, try to make reasonable assumptions and document them.
- Do not use "SERVICE wikibase:label { bd:serviceParam wikibase:language ..." in SPARQL queries. It is not SPARQL standard and unsupported by the used QLever SPARQL endpoints. Use rdfs:label or similar properties to get labels instead.
- Always execute your final SPARQL query before giving an answer to make sure it returns the expected results.
- The SPARQL query should always return the actual identifiers / IRIs of the items in its result. It additionally may return labels or other human-readable information, but they are optional and should be put within optional clauses unless explicitly requested by the user.
- Do not stop early if there are still obvious improvements to be made to the SPARQL query. For example, keep refining your SPARQL query if its result contains irrelevant items or is missing items you expected.
- Do not perform additional computation (e.g. filtering, sorting, calculations) on the result of the SPARQL query to determine the answer. All computation should be done solely within SPARQL.
- For questions with a "True" or "False" answer the SPARQL query should be an ASK query.

[User] How many movies were directed by Akira Kurosawa ?

[Assistant]
To determine how many movies were directed by Akira Kurosawa, I need to:

1. Identify the Wikidata entity for Akira Kurosawa.
2. Find the property that links directors to the movies they directed.
3. Count the number of movies directed by him.

### Step 1: Search for Akira Kurosawa's entity
I'll use `search_entity` to find the Wikidata item for Akira Kurosawa.

Question: Akira Kurosawa

Top 10 entity alternatives:
1. Akira Kurosawa (wd:Q8006), also known as Kurosawa, Kurosawa Akira: has occupation film screenwriter / Japanese filmmaker (1910–1998) / has occupation film producer / has occupation Film producer / has occupation film director / has occupation screenwriter / has occupation film editor / has occupation director / has occupation overseer / has occupation producer / has occupation painter / has occupation writer / is instance of human
2. Akira Kurosawa (wd:Q95472952): has occupation military officer / has occupation officer / is instance of human / former JGSDF officer
3. Akira Kurosawa (wd:Q110408919): fictional character from the television series The Simpsons / is instance of television character / is instance of animated character / is instance of fictional human / has occupation waiter / has occupation sensei
4. Akira Kurosawa bibliography (wd:Q17003557): is instance of bibliography
5. Ak: Akira Kurosawa (wd:Q123305558): 1985 film by Chris Marke / is instance of film
6. Dreams (wd:Q418809, matched via Akira Kurosawa's Dreams), also known as Akira Kurosawa's Dreams: 1990 film by Akira Kurosawa, Ishirō Honda / is instance of film
7. Criticism of Akira Kurosawa (wd:Q5186786): negative criticisms of the Japanese film director
8. The Films of Akira Kurosawa (wd:Q124077496): 1965 academic book by Donald Richie
9. filmmaking technique of Akira Kurosawa (wd:Q30154500)
10. Akira Kurosawa’s Natural Story (wd:Q119422666): is instance of scholarly article / is instance of academic article

[Assistant]
The top result is `wd:Q8006`, which is Akira Kurosawa, the renowned Japanese film director. This is the correct entity.

### Step 2: Find the property for "directed by"
I need to find the property that links a movie to its director. Typically, this is `wdt:P57` (director). I'll verify this by searching for properties related to "director" for Akira Kurosawa.

Question: director

Top 10 property alternatives:
1. cinematografo.it name or company ID (wd:P4768 as p/wdt, matched via cinematografo name ID), also known as cinematografo company ID, cinematografo ID, cinematografo.it company ID, cinematografo.it ID, cinematografo.it person ID, etc.: identifier for a person or company in cinematografo.it
2. Cinematografo.it name or company ID (new) (wd:P11345 as p/wdt, matched via Cinematografo.it cast ID (new)), also known as CineDataBase cast ID, Cinematografo.it cast ID (new), P11345: Cinematografo.it name or company ID
3. MYmovies director ID (former scheme) (wd:P4781 as p/wdt), also known as P4781: identifier for a director in MYmovies.it
4. LUMIERE director ID (wd:P4283 as p/wdt), also known as P4283: ID of a film director in the LUMIERE database of the European Audiovisual Observatory
5. notable work (wd:P800 as p/wdt, matched via creator of), also known as artwork, author of, bibliography, books by, creator of, etc.: notable scientific, artistic or literary work, or other work of significance among subject's works / notable scientific, artistic or literary work, or other work of significance among subject's works
6. Kinopoisk person ID (wd:P2604 as p/wdt, matched via kinopoisk.ru/name/), also known as https://www.kinopoisk.ru/name/, Kinopoisk actor ID, Kinopoisk actor identifier, Kinopoisk person identifier, kinopoisk.ru/name/, etc.: identifier for a person in the Kinopoisk.ru database
7. CinemaRX person ID (archived) (wd:P7483 as p/wdt), also known as CinemaRx.ro person ID, P7483: identifier for a person on the CinemaRX.ro website
8. Douban author ID (wd:P6441 as p/wdt, matched via Douban author), also known as Douban author, Douban book author ID, P6441: identifier for an author at the Douban book website / identifier for an author at the Douban book website
9. FilmTv.it person ID (wd:P5254 as p/wdt, matched via FilmTv.it person identifier), also known as FilmTv.it person identifier, FilmTv person ID, FilmTv person identifier, P5254: identifier for a person at FilmTv.it
10. Letterboxd actor ID (wd:P6119 as p/wdt, matched via Letterboxd actor identifier), also known as Letterboxd actor identifier, letterboxd.com actor identifier, P6119: identifier for an actor on the website Letterboxd

No other items found

[Assistant]
I see that `wdt:P57` (director) is not explicitly listed in the top results, but it is the standard property for "director" in Wikidata. I'll verify this by checking if `wdt:P57` is used for Akira Kurosawa directly.

I'll execute a query to find movies directed by Akira Kurosawa using `wdt:P57`.

execute

SELECT ?movie WHERE { wd:Q8006 wdt:P57 ?movie }

[Assistant]
Hmm, the query returned no results, which is unexpected. This suggests that `wdt:P57` might not be directly used for Akira Kurosawa's director credits, or the data might be structured differently.

Let me check the triples for Akira Kurosawa to see how his directorial works are represented.

list

wd:Q8006

[Assistant]
The `list` query also returned no results, confirming that `wdt:P57` is not directly used for Akira Kurosawa's director credits in Wikidata.

Let me explore other possible properties that might link Akira Kurosawa to his films. I'll look for properties related to "work", "film", or "directed" more broadly.

Question: film

Top 10 property alternatives:
1. Cinema.de ID (wd:P3933 as p/wdt, matched via Cinema ID), also known as Cinema ID, P3933: identifier for a film or person in the German film website cinema.de
2. Douban movie celebrity ID (wd:P5284 as p/wdt, matched via https://movie.douban.com), also known as douban.com person ID, Douban person ID, https://douban.com, https://m.douban.com, https://movie.douban.com, etc.: identifier for a celebrity at the Douban movie website
3. César Award person ID (wd:P5319 as p/wdt, matched via cinema.org ID), also known as academie-cinema.org ID, César Award ID, cinema.org ID, P5319: identifier for a person on the César Awards website / identifier for a person on the César Awards website / identifier for a person on the César Awards website
4. IMDb ID (wd:P345 as p/wdt, matched via Internet Movie Database identifier), also known as IMDb identifier, Internet Movie Database identifier, P345: identification code from the Internet Movie Database (IMDb) with prefix (tt-, nm-, ch-, co-) / identifier for the IMDb (with prefix 'tt', 'nm', 'co', 'ev', 'ch' or 'ni')
5. MYmovies director ID (former scheme) (wd:P4781 as p/wdt), also known as P4781: identifier for a director in MYmovies.it
6. image (wd:P18 as p/wdt, matched via photo), also known as camera picture, Commons image, drawing, File:, graph, etc.: image of relevant illustration of the subject; if available, ... only images which exist on Wikimedia Commons are acceptable / image of relevant illustration of the subject; if available, ... only images which exist on Wikimedia Commons are acceptable / image of relevant illustration of the subject; if available, ... map, flag image, signature image, logo image, collage image) / image of relevant illustration of the subject; if available, ... map, flag image, signature image, logo image, collage image)
7. Kinopoisk person ID (wd:P2604 as p/wdt, matched via kinopoisk.ru/name/), also known as https://www.kinopoisk.ru/name/, Kinopoisk actor ID, Kinopoisk actor identifier, Kinopoisk person identifier, kinopoisk.ru/name/, etc.: identifier for a person in the Kinopoisk.ru database
8. elCinema person ID (wd:P3136 as p/wdt, matched via elCinema ID), also known as elCinema ID, elCinema identifier, P3136: identifier for a person at elCinema / identifier for a person at elCinema / identifier for a person at elCinema
9. CinemaRX person ID (archived) (wd:P7483 as p/wdt), also known as CinemaRx.ro person ID, P7483: identifier for a person on the CinemaRX.ro website
10. Cinematografo.it name or company ID (new) (wd:P11345 as p/wdt, matched via Cinematografo.it cast ID (new)), also known as CineDataBase cast ID, Cinematografo.it cast ID (new), P11345: Cinematografo.it name or company ID

No other items found

[Assistant]
I see that `wdt:P345` (IMDb ID) is listed, which is an identifier, not a relationship. I need to find how his films are linked to him.

Let me search for properties related to "work" or "creative work" since directors are often linked to films via "notable work" (`wdt:P800`).

Question: work

Top 10 property alternatives:
1. notable work (wd:P800 as p/wdt, matched via work), also known as artwork, author of, bibliography, books by, creator of, etc.: notable scientific, artistic or literary work, or other work of significance among subject's works / notable scientific, artistic or literary work, or other work of significance among subject's works
2. occupation (wd:P106 as p/wdt, matched via work), also known as avocation, career, craft, employ, employment, etc.: occupation of a person. See also "field of work" ... (Property:P452), "members have occupation" (Property:P3989). / occupation of a person; see also "field of work" (Property:P101), "position held" (Property:P39) / occupation of a person; see also "field of work" (Property:P101), "position held" (Property:P39)
3. work period (start) (wd:P2031 as p/wdt, matched via work starts), also known as active since, career began, career start, date of activity (start), debut, etc.: start of period during which a person or group flourished (fl. = "floruit") in their professional activity / start of period during which a person or group flourished (fl. = "floruit") in their professional activity / is subproperty of start time / is subproperty of floruit
4. work period (end) (wd:P2032 as p/wdt, matched via work ends), also known as active until, date of activity (end), end date of activity, end time for work, fl. (end), etc.: end of period during which a person or group flourished (fl. = "floruit") in their professional activity / end of period during which a person or group flourished (fl. = "floruit") in their professional activity / is subproperty of end time / is subproperty of floruit
5. topic's main category (wd:P910 as p/wdt, matched via category), also known as article's main category, category, category for this topic, catmain, has category, etc.: main category of this topic / main Wikimedia category
6. described by source (wd:P1343 as p/wdt, matched via subject in), also known as defined in, described by biography, described by encyclopedia, described by obituary, described by reference work, etc.: dictionary, encyclopaedia, etc. where this item is described / work where this item is described / is subproperty of attested in
7. number of children (wd:P1971 as p/wdt, matched via issue), also known as children, children (number), how many children, issue, kids, etc.: number of children of the person. Mainly in cases where the full list isn't or shouldn't be added in "child" (P40). / number of children of the person, animal, or character
8. child (wd:P40 as p/wdt, matched via issue), also known as children, daughter, daughters, descendants, father of, etc.: subject has object as child. Do not use for stepchildren—use "relative" (P1038), qualified with "type of kinship" (P1039) / subject has the object in their family as their offspring son or daughter (independently of their age) / subject has object as biological, foster, and/or adoptive child / is subproperty of significant person / is subproperty of relative
9. has works in the collection (wd:P6379 as p/wdt, matched via has work in the collection), also known as has items in the collection, has work in the collection, has works in the collection(s), items in collection, items in the collection, etc.: collection that has works of this person or organisation (use archives at [P485] for archives) / collection that have works of this artist
10. spouse (wd:P26 as p/wdt, matched via wed), also known as common-law husband, common-law spouse, common-law wife, husband, husbands, etc.: the subject has the object as their spouse (husband, wife, ... Use "unmarried partner" (P451) for non-married companions / the subject has the object as their spouse (husband, wife, ... Use "unmarried partner" (P451) for non-married companions / the subject has the object as their spouse (husband, wife, ... Use "unmarried partner" (P451) for non-married companions / is subproperty of significant person / is subproperty of relative

No other items found

[Assistant]
I see that `wdt:P800` (notable work) is listed. This is likely the property used to link Akira Kurosawa to his films. Let me check if this property is used for him.

execute

SELECT ?movie WHERE { wd:Q8006 wdt:P800 ?movie }

[Assistant]
Great! I now have a list of 8 films directed by Akira Kurosawa using `wdt:P800` (notable work).

However, I should verify that these are indeed films and not other types of works. I'll check the instance-of (`wdt:P31`) of one of these to confirm they are films (Q11424).

SELECT ?movie ?movieLabel WHERE { wd:Q8006 wdt:P800 ?movie . ?movie wdt:P31 wd:Q11424 . SERVICE wikibase:label { bd:serviceParam wikibase:language "en" } }

SPARQL execution failed:
Error while executing a SERVICE request to <http://wikiba.se:80/ontology#label>: SERVICE responded with HTTP status code: 301, Moved Permanently. First 100 bytes of the response: '
<title>301 Moved Permanently</title>

301 Moved Permanently'

[Assistant]
I need to avoid using `SERVICE wikibase:label` since it's not supported. Instead, I'll use `rdfs:label` with a language filter to get the labels.

SELECT ?movie WHERE { wd:Q8006 wdt:P800 ?movie . ?movie wdt:P31 wd:Q11424 }

[Assistant]
All 8 items are confirmed to be films (`wd:Q11424`), so `wdt:P800` (notable work) is the correct property to use for linking Akira Kurosawa to his films.

Now, I'll count the number of films directed by Akira Kurosawa using `wdt:P800` and ensure they are films.

SELECT (COUNT(?movie) AS ?count) WHERE { wd:Q8006 wdt:P800 ?movie . ?movie wdt:P31 wd:Q11424 }

Got 1 row and 1 column:
| count       |
| ----------- |
| 8 (xsd:int) |

[Assistant]
The query confirms that Akira Kurosawa directed 8 films that are classified as movies (instances of Q11424).

### Final Answer:
Akira Kurosawa directed 8 movies.

Here is the final SPARQL query:
```sparql
SELECT (COUNT(?movie) AS ?count) WHERE {
  wd:Q8006 wdt:P800 ?movie .
  ?movie wdt:P31 wd:Q11424
}
```

I'll now provide the answer.

answer

SELECT (COUNT(?movie) AS ?count) WHERE { wd:Q8006 wdt:P800 ?movie . ?movie wdt:P31 wd:Q11424 }

Answer: Akira Kurosawa directed 8 movies.