From ddcc4eb622a000cf991f9c530d55d62115484fca Mon Sep 17 00:00:00 2001 From: Alex Nelson Date: Fri, 19 May 2023 08:59:11 -0400 Subject: [PATCH] docs: remove unicode string form in rdflib/term.py (#2384) The use of Unicode literals is an artefact of Python 2 and is incorrect in Python 3. Doctests for docstrings using Unicode literals only pass because [ALLOW_UNICODE](https://docs.pytest.org/en/7.1.x/how-to/doctest.html#using-doctest-options) is set, but this option should be disabled as RDFLib does not support Python 2 any more. This partially resolves . Signed-off-by: Alex Nelson --- rdflib/term.py | 82 +++++++++++++++++++++++++------------------------- 1 file changed, 41 insertions(+), 41 deletions(-) diff --git a/rdflib/term.py b/rdflib/term.py index bdfbec111..ff357d4de 100644 --- a/rdflib/term.py +++ b/rdflib/term.py @@ -574,7 +574,7 @@ class Literal(Identifier): >>> lit2006 < Literal('2007-01-01',datatype=XSD.date) True >>> Literal(datetime.utcnow()).datatype - rdflib.term.URIRef(u'http://www.w3.org/2001/XMLSchema#dateTime') + rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#dateTime') >>> Literal(1) > Literal(2) # by value False >>> Literal(1) > Literal(2.0) # by value @@ -696,11 +696,11 @@ def normalize(self) -> "Literal": of this literal >>> from rdflib import XSD >>> Literal("01", datatype=XSD.integer, normalize=False).normalize() - rdflib.term.Literal(u'1', datatype=rdflib.term.URIRef(u'http://www.w3.org/2001/XMLSchema#integer')) + rdflib.term.Literal('1', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#integer')) Illegal lexical forms for the datatype given are simply passed on >>> Literal("a", datatype=XSD.integer, normalize=False) - rdflib.term.Literal(u'a', datatype=rdflib.term.URIRef(u'http://www.w3.org/2001/XMLSchema#integer')) + rdflib.term.Literal('a', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#integer')) """ @@ -754,9 +754,9 @@ def __add__(self, val: Any) -> "Literal": """ >>> from rdflib.namespace import XSD >>> Literal(1) + 1 - rdflib.term.Literal(u'2', datatype=rdflib.term.URIRef(u'http://www.w3.org/2001/XMLSchema#integer')) + rdflib.term.Literal('2', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#integer')) >>> Literal("1") + "1" - rdflib.term.Literal(u'11') + rdflib.term.Literal('11') # Handling dateTime/date/time based operations in Literals >>> a = Literal('2006-01-01T20:50:00', datatype=XSD.dateTime) @@ -970,17 +970,17 @@ def __bool__(self) -> bool: def __neg__(self) -> "Literal": """ >>> (- Literal(1)) - rdflib.term.Literal(u'-1', datatype=rdflib.term.URIRef(u'http://www.w3.org/2001/XMLSchema#integer')) + rdflib.term.Literal('-1', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#integer')) >>> (- Literal(10.5)) - rdflib.term.Literal(u'-10.5', datatype=rdflib.term.URIRef(u'http://www.w3.org/2001/XMLSchema#double')) + rdflib.term.Literal('-10.5', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#double')) >>> from rdflib.namespace import XSD >>> (- Literal("1", datatype=XSD.integer)) - rdflib.term.Literal(u'-1', datatype=rdflib.term.URIRef(u'http://www.w3.org/2001/XMLSchema#integer')) + rdflib.term.Literal('-1', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#integer')) >>> (- Literal("1")) Traceback (most recent call last): File "", line 1, in - TypeError: Not a number; rdflib.term.Literal(u'1') + TypeError: Not a number; rdflib.term.Literal('1') >>> """ @@ -992,17 +992,17 @@ def __neg__(self) -> "Literal": def __pos__(self) -> "Literal": """ >>> (+ Literal(1)) - rdflib.term.Literal(u'1', datatype=rdflib.term.URIRef(u'http://www.w3.org/2001/XMLSchema#integer')) + rdflib.term.Literal('1', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#integer')) >>> (+ Literal(-1)) - rdflib.term.Literal(u'-1', datatype=rdflib.term.URIRef(u'http://www.w3.org/2001/XMLSchema#integer')) + rdflib.term.Literal('-1', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#integer')) >>> from rdflib.namespace import XSD >>> (+ Literal("-1", datatype=XSD.integer)) - rdflib.term.Literal(u'-1', datatype=rdflib.term.URIRef(u'http://www.w3.org/2001/XMLSchema#integer')) + rdflib.term.Literal('-1', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#integer')) >>> (+ Literal("1")) Traceback (most recent call last): File "", line 1, in - TypeError: Not a number; rdflib.term.Literal(u'1') + TypeError: Not a number; rdflib.term.Literal('1') """ if isinstance(self.value, (int, long_type, float)): return Literal(self.value.__pos__()) @@ -1012,16 +1012,16 @@ def __pos__(self) -> "Literal": def __abs__(self) -> "Literal": """ >>> abs(Literal(-1)) - rdflib.term.Literal(u'1', datatype=rdflib.term.URIRef(u'http://www.w3.org/2001/XMLSchema#integer')) + rdflib.term.Literal('1', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#integer')) >>> from rdflib.namespace import XSD >>> abs( Literal("-1", datatype=XSD.integer)) - rdflib.term.Literal(u'1', datatype=rdflib.term.URIRef(u'http://www.w3.org/2001/XMLSchema#integer')) + rdflib.term.Literal('1', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#integer')) >>> abs(Literal("1")) Traceback (most recent call last): File "", line 1, in - TypeError: Not a number; rdflib.term.Literal(u'1') + TypeError: Not a number; rdflib.term.Literal('1') """ if isinstance(self.value, (int, long_type, float)): return Literal(self.value.__abs__()) @@ -1031,18 +1031,18 @@ def __abs__(self) -> "Literal": def __invert__(self) -> "Literal": """ >>> ~(Literal(-1)) - rdflib.term.Literal(u'0', datatype=rdflib.term.URIRef(u'http://www.w3.org/2001/XMLSchema#integer')) + rdflib.term.Literal('0', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#integer')) >>> from rdflib.namespace import XSD >>> ~( Literal("-1", datatype=XSD.integer)) - rdflib.term.Literal(u'0', datatype=rdflib.term.URIRef(u'http://www.w3.org/2001/XMLSchema#integer')) + rdflib.term.Literal('0', datatype=rdflib.term.URIRef('http://www.w3.org/2001/XMLSchema#integer')) Not working: >>> ~(Literal("1")) Traceback (most recent call last): File "", line 1, in - TypeError: Not a number; rdflib.term.Literal(u'1') + TypeError: Not a number; rdflib.term.Literal('1') """ if isinstance(self.value, (int, long_type, float)): # type error: Unsupported operand type for ~ ("float") @@ -1423,51 +1423,51 @@ def n3(self, namespace_manager: Optional["NamespaceManager"] = None) -> str: Examples:: >>> Literal("foo").n3() - u'"foo"' + '"foo"' Strings with newlines or triple-quotes:: >>> Literal("foo\nbar").n3() - u'"""foo\nbar"""' + '"""foo\nbar"""' >>> Literal("''\'").n3() - u'"\'\'\'"' + '"\'\'\'"' >>> Literal('"""').n3() - u'"\\"\\"\\""' + '"\\"\\"\\""' Language:: >>> Literal("hello", lang="en").n3() - u'"hello"@en' + '"hello"@en' Datatypes:: >>> Literal(1).n3() - u'"1"^^' + '"1"^^' >>> Literal(1.0).n3() - u'"1.0"^^' + '"1.0"^^' >>> Literal(True).n3() - u'"true"^^' + '"true"^^' Datatype and language isn't allowed (datatype takes precedence):: >>> Literal(1, lang="en").n3() - u'"1"^^' + '"1"^^' Custom datatype:: >>> footype = URIRef("http://example.org/ns#foo") >>> Literal("1", datatype=footype).n3() - u'"1"^^' + '"1"^^' Passing a namespace-manager will use it to abbreviate datatype URIs: >>> from rdflib import Graph >>> Literal(1).n3(Graph().namespace_manager) - u'"1"^^xsd:integer' + '"1"^^xsd:integer' ''' if namespace_manager: return self._literal_n3(qname_callback=namespace_manager.normalizeUri) @@ -1484,43 +1484,43 @@ def _literal_n3( >>> from rdflib.namespace import XSD >>> Literal(1)._literal_n3(use_plain=True) - u'1' + '1' >>> Literal(1.0)._literal_n3(use_plain=True) - u'1e+00' + '1e+00' >>> Literal(1.0, datatype=XSD.decimal)._literal_n3(use_plain=True) - u'1.0' + '1.0' >>> Literal(1.0, datatype=XSD.float)._literal_n3(use_plain=True) - u'"1.0"^^' + '"1.0"^^' >>> Literal("foo", datatype=XSD.string)._literal_n3( ... use_plain=True) - u'"foo"^^' + '"foo"^^' >>> Literal(True)._literal_n3(use_plain=True) - u'true' + 'true' >>> Literal(False)._literal_n3(use_plain=True) - u'false' + 'false' >>> Literal(1.91)._literal_n3(use_plain=True) - u'1.91e+00' + '1.91e+00' Only limited precision available for floats: >>> Literal(0.123456789)._literal_n3(use_plain=True) - u'1.234568e-01' + '1.234568e-01' >>> Literal('0.123456789', ... datatype=XSD.decimal)._literal_n3(use_plain=True) - u'0.123456789' + '0.123456789' Using callback for datatype QNames:: >>> Literal(1)._literal_n3( ... qname_callback=lambda uri: "xsd:integer") - u'"1"^^xsd:integer' + '"1"^^xsd:integer' """ if use_plain and self.datatype in _PLAIN_LITERAL_TYPES: