From 48ff77f663e166a1ffaf6b7460e1bcc372aa9039 Mon Sep 17 00:00:00 2001 From: Divyam Gupta Date: Tue, 10 May 2022 23:33:54 +0530 Subject: [PATCH 1/2] Raising ValueError if unsupported return types are requested for SELECT queries --- SPARQLWrapper/Wrapper.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/SPARQLWrapper/Wrapper.py b/SPARQLWrapper/Wrapper.py index 977380a..caa6f2e 100644 --- a/SPARQLWrapper/Wrapper.py +++ b/SPARQLWrapper/Wrapper.py @@ -957,6 +957,9 @@ def query(self) -> "QueryResult": :return: query result :rtype: :class:`QueryResult` instance """ + unsupportedReturnTypesForSelectQueries = [RDF, RDFXML, TURTLE, N3] + if self.queryType == SELECT and self.returnFormat in [RDF, RDFXML, TURTLE, N3]: + raise ValueError(self.queryType.upper() + " is not a valid return format for SELECT queries. Supported formats include: %s" % ", ".join([i for i in _allowedFormats if i not in unsupportedReturnTypesForSelectQueries])) return QueryResult(self._query()) def queryAndConvert(self) -> "QueryResult.ConvertResult": From 51b2c155a5793f30ea7ef9e2319d49a7bb483c35 Mon Sep 17 00:00:00 2001 From: Divyam Gupta Date: Fri, 13 May 2022 18:29:15 +0530 Subject: [PATCH 2/2] Added new tests and modified earlier approach --- SPARQLWrapper/Wrapper.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/SPARQLWrapper/Wrapper.py b/SPARQLWrapper/Wrapper.py index caa6f2e..7dad29e 100644 --- a/SPARQLWrapper/Wrapper.py +++ b/SPARQLWrapper/Wrapper.py @@ -957,9 +957,11 @@ def query(self) -> "QueryResult": :return: query result :rtype: :class:`QueryResult` instance """ - unsupportedReturnTypesForSelectQueries = [RDF, RDFXML, TURTLE, N3] - if self.queryType == SELECT and self.returnFormat in [RDF, RDFXML, TURTLE, N3]: - raise ValueError(self.queryType.upper() + " is not a valid return format for SELECT queries. Supported formats include: %s" % ", ".join([i for i in _allowedFormats if i not in unsupportedReturnTypesForSelectQueries])) + + # Solving issue-190 + unsupportedReturnTypesForSelectQueries = [RDF, RDFXML, XML] + if self.queryType == SELECT and self.returnFormat in [RDF, RDFXML, XML]: + raise ValueError(self.returnFormat.upper() + " is not a valid return format for SELECT queries. Supported formats include: %s" % ", ".join([i for i in _allowedFormats if i not in unsupportedReturnTypesForSelectQueries])) return QueryResult(self._query()) def queryAndConvert(self) -> "QueryResult.ConvertResult":