PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX wd: <http://www.wikidata.org/entity/>
PREFIX wdt: <http://www.wikidata.org/prop/direct/>
SELECT ?language ?languageLabel ( COUNT( DISTINCT ?country ) AS ?count ) WHERE {
  {
    ?country wdt:P31 wd:Q6256 .
  } UNION {
    ?country wdt:P31 wd:Q3624078 .
  }
  ?country wdt:P37 ?language .
  ?language wdt:P282 ?script .
  FILTER ( EXISTS {
    ?script wdt:P279 * wd:Q8229
  }
  || EXISTS {
    ?script wdt:P31 wd:Q29575627
  }
  ) ?language rdfs:label ?languageLabel .
  FILTER ( LANG( ?languageLabel ) = "en" )
}
GROUP BY ?language ?languageLabel
ORDER BY DESC ( ?count )

Using entities:
- Latin-script alphabet (wd:Q29575627): is subclass of alphabet / is subclass of Latin script / is subclass of writing system / alphabet that uses letters of the Latin script
- sovereign state (wd:Q3624078), also known as country, nation, sovereign country, sovereign nation, Westphalian state: is subclass of state / is subclass of country / political organisation with a centralised independent government / political organisation with a centralised independent government / state that has the highest authority over a territory
- country (wd:Q6256), also known as countries: is instance of territorial entity type / is instance of administrative territorial entity type / is instance of agent / is subclass of political territorial entity / is subclass of territory / is subclass of territorial entity / distinct territorial body or political entity / distinct territorial body or political entity / region legally identified as a distinct entity in political geography
- Latin script (wd:Q8229), also known as Latn, Roman script: is instance of writing system / is subclass of alphabetic writing system / alphabet used to write Latin / writing system used to write most Western and Central European languages / writing system used to write most Western and Central European languages / writing system used to write most Western, Northern and Central European languages

Using properties:
- subclass of (wd:P279 as wdt), also known as all members of this class also belong to, category of, form of, has superclass, is a class of, etc.: this item is a subclass (subset) of that item; ALL instances ... of volcanic landform); Everest is an instance of mountain / this item is a subclass (subset) of that item; all instances ... instance of volcanic landform); K2 is an instance of mountain / this item is a subclass (subset) of that item; all instances ... instance of volcanic landform); K2 is an instance of mountain / this item is a subclass (subset) of that item; all instances ... instance of volcanic landform); K2 is an instance of mountain
- writing system (wd:P282 as wdt), also known as script, writing script, written form, P282: alphabet, character set or other system of writing used by a language, word, or text, supported by a typeface / the writing system used by language
- 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 ... and the volcano is a type (instance) of volcanic landform
- 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

Got 114 rows and 3 columns, showing the first 5 and last 5 rows below:
| language                   | languageLabel            | count        |
| -------------------------- | ------------------------ | ------------ |
| English (wd:Q1860)         | English (lang:en)        | 61 (xsd:int) |
| French (wd:Q150)           | French (lang:en)         | 29 (xsd:int) |
| Spanish (wd:Q1321)         | Spanish (lang:en)        | 22 (xsd:int) |
| Portuguese (wd:Q5146)      | Portuguese (lang:en)     | 9 (xsd:int)  |
| German (wd:Q188)           | German (lang:en)         | 7 (xsd:int)  |
| ...                        | ...                      | ...          |
| Sango (wd:Q33954)          | Sango (lang:en)          | 1 (xsd:int)  |
| Northern Sotho (wd:Q33890) | Northern Sotho (lang:en) | 1 (xsd:int)  |
| Papiamento (wd:Q33856)     | Papiamento (lang:en)     | 1 (xsd:int)  |
| Niuean (wd:Q33790)         | Niuean (lang:en)         | 1 (xsd:int)  |
| Palauan (wd:Q33776)        | Palauan (lang:en)        | 1 (xsd:int)  |

Answer:
I executed the query and found 114 official languages in countries that use a writing system which is either a subclass of the Latin script or an instance of a Latin-script alphabet. The top counts are:

- English — 61
- French — 29
- Spanish — 22
- Portuguese — 9
- German — 7

The SPARQL query above returns the full ordered list (language item IRI, English label, and count of distinct countries) if you want the complete table.

I executed the query and found 114 official languages in countries that use a writing system which is either a subclass of the Latin script or an instance of a Latin-script alphabet. The top counts are:

- English — 61
- French — 29
- Spanish — 22
- Portuguese — 9
- German — 7

The SPARQL query above returns the full ordered list (language item IRI, English label, and count of distinct countries) if you want the complete table.

SPARQL query over wikidata:
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX wd: <http://www.wikidata.org/entity/>
PREFIX wdt: <http://www.wikidata.org/prop/direct/>
SELECT ?language ?languageLabel ( COUNT( DISTINCT ?country ) AS ?count ) WHERE {
  {
    ?country wdt:P31 wd:Q6256 .
  } UNION {
    ?country wdt:P31 wd:Q3624078 .
  }
  ?country wdt:P37 ?language .
  ?language wdt:P282 ?script .
  FILTER ( EXISTS {
    ?script wdt:P279 * wd:Q8229
  }
  || EXISTS {
    ?script wdt:P31 wd:Q29575627
  }
  ) ?language rdfs:label ?languageLabel .
  FILTER ( LANG( ?languageLabel ) = "en" )
}
GROUP BY ?language ?languageLabel
ORDER BY DESC ( ?count )

Using entities:
- Latin-script alphabet (wd:Q29575627): is subclass of alphabet / is subclass of Latin script / is subclass of writing system / alphabet that uses letters of the Latin script
- sovereign state (wd:Q3624078), also known as country, nation, sovereign country, sovereign nation, Westphalian state: is subclass of state / is subclass of country / political organisation with a centralised independent government / political organisation with a centralised independent government / state that has the highest authority over a territory
- country (wd:Q6256), also known as countries: is instance of territorial entity type / is instance of administrative territorial entity type / is instance of agent / is subclass of political territorial entity / is subclass of territory / is subclass of territorial entity / distinct territorial body or political entity / distinct territorial body or political entity / region legally identified as a distinct entity in political geography
- Latin script (wd:Q8229), also known as Latn, Roman script: is instance of writing system / is subclass of alphabetic writing system / alphabet used to write Latin / writing system used to write most Western and Central European languages / writing system used to write most Western and Central European languages / writing system used to write most Western, Northern and Central European languages

Using properties:
- subclass of (wd:P279 as wdt), also known as all members of this class also belong to, category of, form of, has superclass, is a class of, etc.: this item is a subclass (subset) of that item; ALL instances ... of volcanic landform); Everest is an instance of mountain / this item is a subclass (subset) of that item; all instances ... instance of volcanic landform); K2 is an instance of mountain / this item is a subclass (subset) of that item; all instances ... instance of volcanic landform); K2 is an instance of mountain / this item is a subclass (subset) of that item; all instances ... instance of volcanic landform); K2 is an instance of mountain
- writing system (wd:P282 as wdt), also known as script, writing script, written form, P282: alphabet, character set or other system of writing used by a language, word, or text, supported by a typeface / the writing system used by language
- 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 ... and the volcano is a type (instance) of volcanic landform
- 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 114 rows and 3 columns, showing the first 5 and last 5 rows below:
| language                   | languageLabel            | count        |
| -------------------------- | ------------------------ | ------------ |
| English (wd:Q1860)         | English (lang:en)        | 61 (xsd:int) |
| French (wd:Q150)           | French (lang:en)         | 29 (xsd:int) |
| Spanish (wd:Q1321)         | Spanish (lang:en)        | 22 (xsd:int) |
| Portuguese (wd:Q5146)      | Portuguese (lang:en)     | 9 (xsd:int)  |
| German (wd:Q188)           | German (lang:en)         | 7 (xsd:int)  |
| ...                        | ...                      | ...          |
| Sango (wd:Q33954)          | Sango (lang:en)          | 1 (xsd:int)  |
| Northern Sotho (wd:Q33890) | Northern Sotho (lang:en) | 1 (xsd:int)  |
| Papiamento (wd:Q33856)     | Papiamento (lang:en)     | 1 (xsd:int)  |
| Niuean (wd:Q33790)         | Niuean (lang:en)         | 1 (xsd:int)  |
| Palauan (wd:Q33776)        | Palauan (lang:en)        | 1 (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 http://localhost:7001 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.
  - Population (P1082) and tabular (P4179): use wdt:P1082 for quick/direct values; for time-series/point-in-time use p:P1082 + ps:P1082 + pq:P585 and ORDER BY pq:P585 DESC. Inspect statement qualifiers (e.g., 'applies to part') and prov:wasDerivedFrom references (pr:P854 etc.) to detect city-proper vs metro/prefecture scopes before using values.
  - Common person properties: P31 (instance of human Q5), P106 (occupation), P569 (date of birth), P19 (place of birth), P27 (country of citizenship), P21 (sex/gender), P166 (award received). Use wdt: for direct values when possible.
  - P17 (country) can be incomplete/misleading for places (historical/overseas tags). To get modern cities in a country combine: instance-of city (P31=Q515) + wdt:P17 OR use wdt:P131* to find an admin parent whose wdt:P17 = the country. Also cross-check coordinates (P625) or admin hierarchy to spot outliers.
  - When filtering by date of birth (P569) use xsd:dateTime comparisons (e.g. >= "1900-01-01T00:00:00Z"^^xsd:dateTime). Be aware many items have year-only or imprecise dates and coverage is biased toward notable/public figures (sportspeople, politicians, artists).
  - 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.
  - To get a person's occupations: use wdt:P106 for direct/normalized values and rdfs:label for human-readable names (FILTER(LANG(...))). Example: wd:Q... wdt:P106 ?occ . ?occ rdfs:label ?occLabel . FILTER(LANG(?occLabel)="en").
  - 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 pattern: wd:Q... p:P1082 ?stmt . ?stmt ps:P1082 ?pop . OPTIONAL { ?stmt pq:P585 ?date } . ORDER BY DESC(?date). pq:P585 is the point-in-time qualifier. IMPORTANT: time-series may mix scopes (city proper vs metro) — e.g., Tokyo has a 2016 entry ~38,140,000 likely metro vs smaller city figures. Inspect qualifiers/references for scope before use.
  - Use wdt:P131* to traverse the admin hierarchy and compare wdt:P17 on the place vs an admin parent to detect historical/colonial country assignments. When mismatches appear, inspect the admin parent's instance-of (P31), labels, qualifiers and references to interpret the historical scope.
  - wdt:P106 often yields multiple occupations for a person. Use GROUP_CONCAT(DISTINCT ?occLabel; separator=", ") or return multiple rows. Always fetch labels with rdfs:label + FILTER(LANG(?label)="en") to get readable occupation names.
  - When a search_entity returns multiple hits (person vs sculpture vs memorial), confirm you selected the human/statements by checking wdt:P31 (instance of) and relevant wdt: properties (e.g., wdt:P106). This avoids using a non-human QID by mistake.
  - search_autocomplete can be constrained with a SPARQL pattern containing ?search (e.g., SELECT * WHERE { ?search wdt:P31 wd:Q5 }). Use constraints to focus results (e.g., humans) and avoid ambiguous fallbacks; if it returns no results, fallback to search_entity and verify wdt:P31.
  - Use search_property_of_entity to find relevant properties for an entity (e.g., 'award' -> P166) and search_object_of_property to discover candidate objects (e.g., 'physicist' for P106). This reduces guessing P/Q ids and surfaces qualifiers.
  - 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.

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. Use wdt:Pxxx for normalized/direct values when qualifiers aren't needed. Use p:Pxxx / ps:Pxxx / pq:Pxxx to access statement qualifiers (e.g., award year via pq:P585). When dates matter, prefer xsd:dateTime and watch for year-only precision.
- Practical query patterns: use rdfs:label + FILTER(LANG(...)) for labels. Use wdt:Pxxx for direct/normalized values when qualifiers aren't needed. Use p:Pxxx / ps:Pxxx / pq:Pxxx to access qualifiers (dates via pq:P585). For dates use xsd:dateTime and expect year-only precision. For places: combine P17 with P131 or coordinate (P625) filters to avoid historical/overseas mismatches.
- Use OPTIONAL for pq: qualifiers (e.g., pq:P585), sort by qualifier (ORDER BY pq:P585 DESC) to prefer recent values. Use GROUP_CONCAT to combine multiple labels/values in one row. Watch for typed literals (xsd:dateTime, xsd:decimal) when filtering or sorting.
- Before querying, use search_entity to resolve human-friendly names to wd:Q identifiers and verify instance-of (e.g., check wdt:P31 = wd:Q5 for humans) to avoid ambiguous matches. Prefer the top match but programmatically confirm P31 before using its data.
- 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.
- search_autocomplete can fall back to an unconstrained search or error when there are too many candidates. If this happens (e.g., "more than the maximum supported number of subject candidates"), retry with narrower constraints such as instance-of (wdt:P31), additional type filters, or short prefixes to reduce the candidate set; otherwise fallback to search_entity and verify wdt:P31.
- 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.
- 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").
- 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). 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] What are the official languages of countries that use a writing system which is either a subclass of the Latin script or an instance of a Latin-script alphabet? Include a count of each language, and order by the count in descending order.

[Assistant]
I'll first search for the relevant properties: "writing system", "script", and "official language" in Wikidata so I can use the correct property IDs in the query. I'll start with "writing system".

Question: writing system

Top 10 property alternatives:
1. writing system (wd:P282 as pq/pqn/prv/ps/psn/pqv/prn/wdt/psv/wdtn/pr/p), also known as script, writing script, written form, P282: alphabet, character set or other system of writing used by a language, word, or text, supported by a typeface / the writing system used by language
2. lyricist (wd:P676 as pq/pqn/prv/ps/psn/pqv/prn/wdt/psv/wdtn/pr/p, matched via text writer), also known as author, lyrics by, songwriter, text author, text by, etc.: author of song lyrics; also use P86 for music composer / is subproperty of author / author of song lyrics
3. writing technique (wd:P12876 as pq/pqn/prv/ps/psn/pqv/prn/wdt/psv/wdtn/pr/p), also known as P12876: technique used for writing on stone, paper or other support / is subproperty of fabrication method
4. script directionality (wd:P1406 as pq/pqn/prv/ps/psn/pqv/prn/wdt/psv/wdtn/pr/p, matched via writing direction), also known as directionality, letter direction, letter directionality, script direction, writing direction, etc.: direction that a writing system goes in / direction that a writing system goes in
5. writing language (wd:P6886 as pq/pqn/prv/ps/psn/pqv/prn/wdt/psv/wdtn/pr/p), also known as language for writing, language of works, language of writings, languages for writing, languages of works, etc.: is subproperty of languages spoken, written or signed / language in which the writer has written their work
6. music transcriber (wd:P9260 as pq/pqn/prv/ps/psn/pqv/prn/wdt/psv/wdtn/pr/p, matched via notation writer), also known as musical notation writer, musical transcriber, music notation writer, notation writer, transcriber of music, etc.: person who transcribed a musical work into musical notation; for composers of music, use P86 / is subproperty of creator
7. programmed in (wd:P277 as pq/pqn/prv/ps/psn/pqv/prn/wdt/psv/wdtn/pr/p, matched via written in), also known as language, programming language, written in, P277: the programming language(s) in which the software is developed
8. has written for (wd:P6872 as pq/pqn/prv/ps/psn/pqv/prn/wdt/psv/wdtn/pr/p, matched via written for), also known as is writing for, writer for, writes for, written for, wrote for, etc.: publication an author has contributed to / publication an author has contributed to
9. screenwriter (wd:P58 as pq/pqn/prv/ps/psn/pqv/prn/wdt/psv/wdtn/pr/p, matched via game writer), also known as film script by, game writer, scenarist, screenplay by, scriptwriter, etc.: author(s) of the screenplay or script for this work / author(s) of the screenplay or script for this work / person(s) who wrote the script for subject item / is subproperty of film crew member / is subproperty of author
10. transcribed by (wd:P11603 as pq/pqn/prv/ps/psn/pqv/prn/wdt/psv/wdtn/pr/p, matched via manuscript copyist), also known as copied by, copyist, manuscript copyist, manuscript transcriber, transcriber, etc.: person who has made a copy of a manuscript text

[Assistant]
I'll search for the "Latin script" item to get its QID, and possibly for "Latin alphabet" and "Latin-script alphabet" terms to identify items representing subclasses or instances.

Question: Latin script

Top 10 entity alternatives:
1. Latin script (wd:Q8229), also known as Latn, Roman script: writing system used to write most Western, Northern and Central European languages / writing system used to write most Western and Central European languages / writing system used to write most Western and Central European languages / is subclass of alphabetic writing system / is instance of writing system / alphabet used to write Latin
2. Ivan (wd:Q830350, matched via Ivan (Latin script)), also known as Ivan (first name), Ivan (given name), Ivan (Latin script): is instance of male given name / male given name / male given name / male given name
3. Ɑ (wd:Q652798, matched via Latin script A), also known as alpha, Latin alpha, Latin script A, script a, script A: is instance of Latin-script letter / letter of the Latin alphabet / is instance of IPA symbol
4. Somali Latin alphabet (wd:Q6541770, matched via Latin script Somali), also known as Latin script Somali, Latin Somali, Somali in Latin script, Somali Latin orthography, Somali orthography: is instance of Latin-script alphabet / official Somali writing system / is instance of orthography
5. Kurdish Latin Script (wd:Q13175483), also known as Kurdish Latin alphabet orthography, Kurdish Latin orthography: Latin-based orthography for Kurdish / is subclass of Latin script / is instance of alphabet
6. Sylheti in Latin script (wd:Q120142383, matched via Sylheti (Latin script)), also known as Sylheti in Roman script, Sylheti (Latin script), syl-lat, syl-Latn: is instance of language in script / language in a particular script / is subclass of Sylheti
7. Indonesian alphabet (wd:Q110829386, matched via Indonesian Latin script), also known as Abjad Indonesia, Indonesian Latin script, Indonesian orthography, Indonesian script, Indonesian writing: ISO basic Latin alphabet without any diacritics, used to write Indonesian language / is instance of alphabet
8. extended Latin alphabet (wd:Q3237042, matched via extended Latin script), also known as extended Latin, extended Latin script: letters of the Latin script family outside of the 26 letters of the basic Latin alphabet / is subclass of Latin-script letter / is subclass of alphabet
9. ancient Roman script (wd:Q118849548, matched via ancient Latin script), also known as ancient Latin script, ancient Latin scripts, ancient Roman hands, ancient Roman scripts: is instance of handwriting style / is subclass of handwriting style / ancient Roman forms of writing
10. Modern Latin script (wd:Q12041160)

[Assistant]
I'll search for the term "Latin-script alphabet" to find an item representing that class.

Question: Latin-script alphabet

Top 10 entity alternatives:
1. Latin-script alphabet (wd:Q29575627): alphabet that uses letters of the Latin script / is subclass of writing system / is subclass of Latin script / is subclass of alphabet
2. alphabet (wd:Q9779), also known as ABC, alphabetic writing system: standard set of letters present in some written languages / is subclass of segmental writing system / is instance of type of writing system / is subclass of writing system / is subclass of class
3. Cyrillic script (wd:Q8209, matched via Cyrillic alphabet), also known as Cyrillic, Cyrillic alphabet, cyrl, Kiril: writing system developed in Bulgaria and used for various oriental Eurasian languages / is subclass of natural writing system / is instance of writing system
4. Greek alphabet (wd:Q8216), also known as Greek, Greek script: script used to write the Greek language / is instance of natural writing system / is instance of bicameral script / is instance of alphabet
5. Arabic alphabet (wd:Q8196): alphabet for Arabic and other languages / is instance of unicase alphabet / is instance of Semitic alphabet
6. Hebrew alphabet (wd:Q33513), also known as alefbet, Hebr, Hebrew abjad, Jewish abjad, Jewish alphabet: Semitic alphabet used for writing Hebrew, Samaritan, Yiddish, Judaeo-Spanish, and other Jewish languages / is instance of Hebrew script based alphabet / is instance of natural writing system / is instance of unicase alphabet / is instance of abjad
7. Tigrinya (wd:Q34124, matched via Tigrinya alphabet), also known as ti, Tigrigna, Tigrinja, Tigrinya alphabet, Tigrinya language: Semitic language spoken in Ethiopia and Eritrea / is subclass of Ethiopian Semitic / is instance of modern language / is instance of language / is subclass of Semitic
8. Phoenician script (wd:Q26752, matched via Phoenician alphabet), also known as Early Linear script, Phnx, Phoenician abjad, Phoenician alphabet: abjad found in Canaanite and Aramaic inscriptions across the Mediterranean from the 11th–2nd centuries BCE / is instance of natural writing system / is instance of unicase alphabet / is instance of Semitic alphabet / is instance of abjad
9. Armenian alphabet (wd:Q11932), also known as Armenian script, Armn: alphabet used to write the Armenian language / is instance of constructed writing system / is instance of bicameral script / is instance of alphabet
10. Georgian scripts (wd:Q161428, matched via Georgian alphabet), also known as Georgian alphabet, Georgian script: alphabetic writing systems mostly used to transcribe the Georgian language and other Kartvelian languages / is subclass of natural writing system / is subclass of writing system / is instance of script family / is instance of notation / is instance of Notation / is instance of alphabet / is subclass of heritage / is instance of set

[Assistant]
I'll search for properties that indicate a country's script or "official script" (e.g., "official script"). This will help identify how countries link to writing systems in Wikidata.

Question: official script

Top 10 property alternatives:
1. official wiki URL (wd:P12203 as pq/pqn/prv/ps/psn/pqv/prn/wdt/psv/wdtn/pr/p, matched via official wiki), also known as official wiki, official wiki website, wiki, wiki URL, wiki website, etc.: URL of the official wiki for the item / is subproperty of URL
2. official website (wd:P856 as pq/pqn/prv/ps/psn/pqv/prn/wdt/psv/wdtn/pr/p, matched via official site), also known as home page, homepage, home page (official), homepage (official), official homepage, etc.: URL of the official page of an item (current or former). ... see the "Hijacked or dead websites" section of the Talk page / is subproperty of URL
3. house publication (wd:P2813 as pq/pqn/prv/ps/psn/pqv/prn/wdt/psv/wdtn/pr/p, matched via official publication), also known as has mouthpiece, house journal, house magazine, house organ, house periodical, etc.: media that speaks for an organization or a movement, and that is usually edited by its members
4. native label (wd:P1705 as pq/pqn/prv/ps/psn/pqv/prn/wdt/psv/wdtn/pr/p, matched via official name), also known as autonym, label in official language, label in original language, name in official language, name in original language, etc.: label for the items in their official language (P37) or their original language (P364) / label for the items in their official language (P37) or their original language (P364) / label for the items in their official language (P37) or their original language (P364) / label for the items in their official language  or their original language / is subproperty of name
5. official name (wd:P1448 as pq/pqn/prv/ps/psn/pqv/prn/wdt/psv/wdtn/pr/p), also known as be named, complete title, full title, legal name, long name, etc.: official name of the subject in its official language(s) / official name of the subject in its official language(s) / official name of the subject in its official language(s) / is subproperty of name
6. officialized by (wd:P5194 as pq/pqn/prv/ps/psn/pqv/prn/wdt/psv/wdtn/pr/p), also known as made official by, officialised by, P5194: the item which officialized this lexeme
7. issuing agent of work (wd:P9901 as pq/pqn/prv/ps/psn/pqv/prn/wdt/psv/wdtn/pr/p, matched via official publication of), also known as house journal of, house organ of, house publication of, issued by, issuer, etc.: organization, agency, or other entity responsible for issuing ... entity; distinct from commercial publisher of the resource
8. official language (wd:P37 as pq/pqn/prv/ps/psn/pqv/prn/wdt/psv/wdtn/pr/p), also known as language official, language spoken, speaking, spoken in, P37: 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 / is subproperty of language used
9. official app (wd:P4290 as pq/pqn/prv/ps/psn/pqv/prn/wdt/psv/wdtn/pr/p, matched via official application), also known as app, mobile app, official application, official mobile application, P4290: official app for this organisation or other entity (a downloadable application for Android, iOS, etc.) / official app for this organisation or other entity (a downloadable application for Android, iOS, etc.) / official app for this organization or other entity (a downloadable application for Android, iOS, etc.)
10. political ideology (wd:P1142 as pq/pqn/prv/ps/psn/pqv/prn/wdt/psv/wdtn/pr/p, matched via official ideology), also known as editorial viewpoint, has political ideology, ideology, official ideology, official political ideology, etc.: political ideology of an organization or person or of a work (such as a newspaper)

[Assistant]
I'll search for the property "script" (possibly P373? but I'll let the index find it).

Question: script

Top 10 property alternatives:
1. writing system (wd:P282 as pq/pqn/prv/ps/psn/pqv/prn/wdt/psv/wdtn/pr/p, matched via script), also known as script, writing script, written form, P282: alphabet, character set or other system of writing used by a language, word, or text, supported by a typeface / the writing system used by language
2. code (wd:P3295 as pq/pqn/prv/ps/psn/pqv/prn/wdt/psv/wdtn/pr/p), also known as P3295: format used to represent a specific concept in a given encoding / code used to represent a specific concept in a given encoding
3. platform (wd:P400 as pq/pqn/prv/ps/psn/pqv/prn/wdt/psv/wdtn/pr/p, matched via runtime), also known as computing platform, environment, game platform, hardware, platforms, etc.: platform for which a work has been developed or released / specific platform version of a software developed / platform for which a work was developed or released, or the specific platform version of a software product
4. duration (wd:P2047 as pq/pqn/prv/ps/psn/pqv/prn/wdt/psv/wdtn/pr/p, matched via runtime), also known as cook time, era, interval, length, length of time, etc.: length of time of an event or process / length of time of an event or process / length of time of an event or process
5. programmed in (wd:P277 as pq/pqn/prv/ps/psn/pqv/prn/wdt/psv/wdtn/pr/p), also known as language, programming language, written in, P277: the programming language(s) in which the software is developed
6. object named as (wd:P1932 as pq/pqn/prv/ps/psn/pqv/prn/wdt/psv/wdtn/pr/p, matched via sic), also known as as, author named as, credited as, location name string, named as, etc.: use as qualifier to indicate how the object's value was given in the source / use as qualifier to indicate how the value was given in the source / is subproperty of name
7. script style (wd:P9302 as pq/pqn/prv/ps/psn/pqv/prn/wdt/psv/wdtn/pr/p, matched via style of script), also known as handwriting style, style of script, style of writing, type style, P9302: style of script of a document or typeface
8. programmer (wd:P943 as pq/pqn/prv/ps/psn/pqv/prn/wdt/psv/wdtn/pr/p), also known as programmed by, software developer, P943: the programmer that wrote the piece of software / is subproperty of developer
9. Shōsetsuka ni Narō work ID (wd:P11335 as pq/pqn/prv/ps/psn/pqv/prn/wdt/psv/wdtn/pr/p, matched via ncode), also known as ncode, Syosetu work ID, P11335: identifier for a work on Shōsetsuka ni Narō
10. package management system (wd:P3033 as pq/pqn/prv/ps/psn/pqv/prn/wdt/psv/wdtn/pr/p, matched via software package), also known as software package, P3033: package management system used to publish the software

[Assistant]
I'll run a SPARQL query that:
- finds countries (instance of Q6256 "country" or Q3624078 "sovereign state"),
- gets their official languages (P37),
- checks each language's writing system (P282) and keeps languages whose writing system is either a subclass (P279*) of Latin script (Q8229) or an instance (P31) of "Latin-script alphabet" (Q29575627),
- counts distinct countries per language and orders by count descending.

I'll now execute that query to verify results.

execute

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT ?language ?languageLabel (COUNT(DISTINCT ?country) AS ?count) WHERE {
  {
    ?country wdt:P31 wd:Q6256 .
  } UNION {
    ?country wdt:P31 wd:Q3624078 .
  }
  ?country wdt:P37 ?language .
  ?language wdt:P282 ?script .
  FILTER (
    EXISTS { ?script wdt:P279* wd:Q8229 } ||
    EXISTS { ?script wdt:P31 wd:Q29575627 }
  )
  ?language rdfs:label ?languageLabel .
  FILTER(LANG(?languageLabel)="en")
}
GROUP BY ?language ?languageLabel
ORDER BY DESC(?count)

Got 114 rows and 3 columns, showing the first 5 and last 5 rows below:
| language                   | languageLabel            | count        |
| -------------------------- | ------------------------ | ------------ |
| English (wd:Q1860)         | English (lang:en)        | 61 (xsd:int) |
| French (wd:Q150)           | French (lang:en)         | 29 (xsd:int) |
| Spanish (wd:Q1321)         | Spanish (lang:en)        | 22 (xsd:int) |
| Portuguese (wd:Q5146)      | Portuguese (lang:en)     | 9 (xsd:int)  |
| German (wd:Q188)           | German (lang:en)         | 7 (xsd:int)  |
| ...                        | ...                      | ...          |
| Sango (wd:Q33954)          | Sango (lang:en)          | 1 (xsd:int)  |
| Northern Sotho (wd:Q33890) | Northern Sotho (lang:en) | 1 (xsd:int)  |
| Papiamento (wd:Q33856)     | Papiamento (lang:en)     | 1 (xsd:int)  |
| Niuean (wd:Q33790)         | Niuean (lang:en)         | 1 (xsd:int)  |
| Palauan (wd:Q33776)        | Palauan (lang:en)        | 1 (xsd:int)  |

[Assistant]
After running the query I received 114 language rows. The top results (by number of countries) are shown below; the full table of languages + counts can be obtained by running the SPARQL query I used.

Top results (descending):
- English — 61
- French — 29
- Spanish — 22
- Portuguese — 9
- German — 7

(There are 114 total languages in the result; the query is included below.)

answer

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT ?language ?languageLabel (COUNT(DISTINCT ?country) AS ?count) WHERE {
  {
    ?country wdt:P31 wd:Q6256 .
  } UNION {
    ?country wdt:P31 wd:Q3624078 .
  }
  ?country wdt:P37 ?language .
  ?language wdt:P282 ?script .
  FILTER (
    EXISTS { ?script wdt:P279* wd:Q8229 } ||
    EXISTS { ?script wdt:P31 wd:Q29575627 }
  )
  ?language rdfs:label ?languageLabel .
  FILTER(LANG(?languageLabel)="en")
}
GROUP BY ?language ?languageLabel
ORDER BY DESC(?count)

Answer:
I executed the query and found 114 official languages in countries that use a writing system which is either a subclass of the Latin script or an instance of a Latin-script alphabet. The top counts are:

- English — 61
- French — 29
- Spanish — 22
- Portuguese — 9
- German — 7

The SPARQL query above returns the full ordered list (language item IRI, English label, and count of distinct countries) if you want the complete table.