fix: eliminate some mutable default arguments in SPARQL code (#2301) · RDFLib/rdflib@89982f8 (original) (raw)
`@@ -19,22 +19,30 @@
`
19
19
``
20
20
``
21
21
`def prepareQuery(
`
22
``
`-
queryString: str, initNs: Mapping[str, Any] = {}, base: Optional[str] = None
`
``
22
`+
queryString: str,
`
``
23
`+
initNs: Optional[Mapping[str, Any]] = None,
`
``
24
`+
base: Optional[str] = None,
`
23
25
`) -> Query:
`
24
26
`"""
`
25
27
` Parse and translate a SPARQL Query
`
26
28
` """
`
``
29
`+
if initNs is None:
`
``
30
`+
initNs = {}
`
27
31
`ret = translateQuery(parseQuery(queryString), base, initNs)
`
28
32
`ret._original_args = (queryString, initNs, base)
`
29
33
`return ret
`
30
34
``
31
35
``
32
36
`def prepareUpdate(
`
33
``
`-
updateString: str, initNs: Mapping[str, Any] = {}, base: Optional[str] = None
`
``
37
`+
updateString: str,
`
``
38
`+
initNs: Optional[Mapping[str, Any]] = None,
`
``
39
`+
base: Optional[str] = None,
`
34
40
`) -> Update:
`
35
41
`"""
`
36
42
` Parse and translate a SPARQL Update
`
37
43
` """
`
``
44
`+
if initNs is None:
`
``
45
`+
initNs = {}
`
38
46
`ret = translateUpdate(parseUpdate(updateString), base, initNs)
`
39
47
`ret._original_args = (updateString, initNs, base)
`
40
48
`return ret
`
`@@ -43,8 +51,8 @@ def prepareUpdate(
`
43
51
`def processUpdate(
`
44
52
`graph: Graph,
`
45
53
`updateString: str,
`
46
``
`-
initBindings: Mapping[str, Identifier] = {},
`
47
``
`-
initNs: Mapping[str, Any] = {},
`
``
54
`+
initBindings: Optional[Mapping[str, Identifier]] = None,
`
``
55
`+
initNs: Optional[Mapping[str, Any]] = None,
`
48
56
`base: Optional[str] = None,
`
49
57
`) -> None:
`
50
58
`"""
`
`@@ -73,8 +81,8 @@ def init(self, graph):
`
73
81
`def update(
`
74
82
`self,
`
75
83
`strOrQuery: Union[str, Update],
`
76
``
`-
initBindings: Mapping[str, Identifier] = {},
`
77
``
`-
initNs: Mapping[str, Any] = {},
`
``
84
`+
initBindings: Optional[Mapping[str, Identifier]] = None,
`
``
85
`+
initNs: Optional[Mapping[str, Any]] = None,
`
78
86
` ) -> None:
`
79
87
`"""
`
80
88
` .. caution::
`
`@@ -108,8 +116,8 @@ def init(self, graph):
`
108
116
`def query( # type: ignore[override]
`
109
117
`self,
`
110
118
`strOrQuery: Union[str, Query],
`
111
``
`-
initBindings: Mapping[str, Identifier] = {},
`
112
``
`-
initNs: Mapping[str, Any] = {},
`
``
119
`+
initBindings: Optional[Mapping[str, Identifier]] = None,
`
``
120
`+
initNs: Optional[Mapping[str, Any]] = None,
`
113
121
`base: Optional[str] = None,
`
114
122
`DEBUG: bool = False,
`
115
123
` ) -> Mapping[str, Any]:
`
`@@ -132,9 +140,7 @@ def query( # type: ignore[override]
`
132
140
` documentation.
`
133
141
` """
`
134
142
``
135
``
`-
if not isinstance(strOrQuery, Query):
`
136
``
`-
parsetree = parseQuery(strOrQuery)
`
137
``
`-
query = translateQuery(parsetree, base, initNs)
`
138
``
`-
else:
`
139
``
`-
query = strOrQuery
`
140
``
`-
return evalQuery(self.graph, query, initBindings, base)
`
``
143
`+
if isinstance(strOrQuery, str):
`
``
144
`+
strOrQuery = translateQuery(parseQuery(strOrQuery), base, initNs)
`
``
145
+
``
146
`+
return evalQuery(self.graph, strOrQuery, initBindings, base)
`