diff --git a/rdflib/plugins/sparql/parser.py b/rdflib/plugins/sparql/parser.py index 665800c4f..0700ac2c0 100644 --- a/rdflib/plugins/sparql/parser.py +++ b/rdflib/plugins/sparql/parser.py @@ -1483,7 +1483,7 @@ def expandCollection(terms: ParseResults) -> list[list[Any]]: AskQuery = Comp( "AskQuery", Keyword("ASK") - + Param("datasetClause", ZeroOrMore(DatasetClause)) + + ZeroOrMore(ParamList("datasetClause", DatasetClause)) + WhereClause + SolutionModifier + ValuesClause, diff --git a/test/test_sparql/test_dataset_exclusive.py b/test/test_sparql/test_dataset_exclusive.py index 2ce23d52b..d867623c2 100644 --- a/test/test_sparql/test_dataset_exclusive.py +++ b/test/test_sparql/test_dataset_exclusive.py @@ -82,3 +82,13 @@ def test_from_and_from_named(): (None, URIRef("urn:s1"), URIRef("urn:p1"), URIRef("urn:o1")), (URIRef("urn:g2"), URIRef("urn:s2"), URIRef("urn:p2"), URIRef("urn:o2")), ] + + +def test_ask_from(): + query = """ + ASK + FROM + WHERE {?s ?p ?o} + """ + results = bool(dataset.query(query)) + assert results