diff options
218 files changed, 772 insertions, 836 deletions
diff --git a/admin/get_merged_prs.py b/admin/get_merged_prs.py index 255d3156..b4cccb0d 100644 --- a/admin/get_merged_prs.py +++ b/admin/get_merged_prs.py @@ -1,9 +1,9 @@ """Get all merged PRs since last release, save them to a JSON file""" -import httpx import json from datetime import datetime +import httpx r = httpx.get( "https://api.github.com/repos/rdflib/rdflib/pulls", diff --git a/docs/conf.py b/docs/conf.py index c0f0d68f..693492fa 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -11,9 +11,9 @@ # All configuration values have a default; values that are commented out # serve to show the default. -import sys import os import re +import sys # If extensions (or modules to document with autodoc) are in another directory, # add these directories to sys.path here. If the directory is relative to the diff --git a/rdflib/__init__.py b/rdflib/__init__.py index 13f89318..2dbba042 100644 --- a/rdflib/__init__.py +++ b/rdflib/__init__.py @@ -86,8 +86,8 @@ __all__ = [ "util", ] -import sys import logging +import sys logger = logging.getLogger(__name__) @@ -157,13 +157,8 @@ In particular, this determines how the rich comparison operators for Literal work, eq, __neq__, __lt__, etc. """ -from rdflib.term import URIRef, BNode, IdentifiedNode, Literal, Variable - -from rdflib.graph import Dataset, Graph, ConjunctiveGraph - -from rdflib import plugin -from rdflib import query - +from rdflib import plugin, query +from rdflib.graph import ConjunctiveGraph, Dataset, Graph from rdflib.namespace import ( BRICK, CSVW, @@ -193,11 +188,11 @@ from rdflib.namespace import ( XSD, Namespace, ) +from rdflib.term import BNode, IdentifiedNode, Literal, URIRef, Variable # tedious sop to flake8 assert plugin assert query from rdflib import util - from rdflib.container import * diff --git a/rdflib/collection.py b/rdflib/collection.py index b1f067f4..6c4e655f 100644 --- a/rdflib/collection.py +++ b/rdflib/collection.py @@ -1,7 +1,5 @@ from rdflib.namespace import RDF -from rdflib.term import BNode -from rdflib.term import Literal - +from rdflib.term import BNode, Literal __all__ = ["Collection"] diff --git a/rdflib/compare.py b/rdflib/compare.py index 01bdf52f..32f3e2fa 100644 --- a/rdflib/compare.py +++ b/rdflib/compare.py @@ -73,10 +73,7 @@ Only in second:: _:cb558f30e21ddfc05ca53108348338ade8 <http://example.org/ns#label> "B" . """ -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function - +from __future__ import absolute_import, division, print_function # TODO: # - Doesn't handle quads. @@ -92,24 +89,24 @@ __all__ = [ "similar", ] -from rdflib.graph import Graph, ConjunctiveGraph, ReadOnlyGraphAggregate -from rdflib.term import BNode, Node, URIRef, IdentifiedNode -from hashlib import sha256 - -from datetime import datetime from collections import defaultdict +from datetime import datetime +from hashlib import sha256 from typing import ( - Set, - Dict, TYPE_CHECKING, - Union, - List, - Tuple, Callable, - Optional, + Dict, Iterator, + List, + Optional, + Set, + Tuple, + Union, ) +from rdflib.graph import ConjunctiveGraph, Graph, ReadOnlyGraphAggregate +from rdflib.term import BNode, IdentifiedNode, Node, URIRef + if TYPE_CHECKING: from _hashlib import HASH diff --git a/rdflib/compat.py b/rdflib/compat.py index 9725a7e4..52407812 100644 --- a/rdflib/compat.py +++ b/rdflib/compat.py @@ -3,12 +3,11 @@ Utility functions and objects to ease Python 2/3 compatibility, and different versions of support libraries. """ -import re import codecs +import re import warnings from typing import TYPE_CHECKING, Match - if TYPE_CHECKING: import xml.etree.ElementTree as etree else: diff --git a/rdflib/container.py b/rdflib/container.py index 942c3c88..ef071fe7 100644 --- a/rdflib/container.py +++ b/rdflib/container.py @@ -1,6 +1,7 @@ +from random import randint + from rdflib.namespace import RDF from rdflib.term import BNode, URIRef -from random import randint __all__ = ["Container", "Bag", "Seq", "Alt", "NoElementException"] diff --git a/rdflib/extras/cmdlineutils.py b/rdflib/extras/cmdlineutils.py index 05181a38..1d82d836 100644 --- a/rdflib/extras/cmdlineutils.py +++ b/rdflib/extras/cmdlineutils.py @@ -1,9 +1,9 @@ +import codecs +import getopt import sys import time -import getopt -import rdflib -import codecs +import rdflib from rdflib.util import guess_format diff --git a/rdflib/graph.py b/rdflib/graph.py index d662bf99..522bf46e 100644 --- a/rdflib/graph.py +++ b/rdflib/graph.py @@ -1,42 +1,40 @@ +import logging +import os +import pathlib +import random +import shutil +import tempfile +from io import BytesIO from typing import ( IO, Any, BinaryIO, + Generator, Iterable, Optional, TextIO, - Union, + Tuple, Type, + Union, cast, overload, - Generator, - Tuple, ) -import logging +from urllib.parse import urlparse +from urllib.request import url2pathname from warnings import warn -import random -from rdflib.namespace import Namespace, RDF -from rdflib import plugin, exceptions, query, namespace + import rdflib.term -from rdflib.term import BNode, IdentifiedNode, Node, URIRef, Literal, Genid -from rdflib.paths import Path -from rdflib.store import Store -from rdflib.serializer import Serializer -from rdflib.parser import InputSource, Parser, create_input_source -from rdflib.namespace import NamespaceManager -from rdflib.resource import Resource -from rdflib.collection import Collection import rdflib.util # avoid circular dependency +from rdflib import exceptions, namespace, plugin, query +from rdflib.collection import Collection from rdflib.exceptions import ParserError - -import os -import shutil -import tempfile -import pathlib - -from io import BytesIO -from urllib.parse import urlparse -from urllib.request import url2pathname +from rdflib.namespace import RDF, Namespace, NamespaceManager +from rdflib.parser import InputSource, Parser, create_input_source +from rdflib.paths import Path +from rdflib.resource import Resource +from rdflib.serializer import Serializer +from rdflib.store import Store +from rdflib.term import BNode, Genid, IdentifiedNode, Literal, Node, URIRef assert Literal # avoid warning assert Namespace # avoid warning diff --git a/rdflib/namespace/_BRICK.py b/rdflib/namespace/_BRICK.py index 09dd6cea..5bccfe5d 100644 --- a/rdflib/namespace/_BRICK.py +++ b/rdflib/namespace/_BRICK.py @@ -1,5 +1,5 @@ -from rdflib.term import URIRef from rdflib.namespace import DefinedNamespace, Namespace +from rdflib.term import URIRef class BRICK(DefinedNamespace): diff --git a/rdflib/namespace/_CSVW.py b/rdflib/namespace/_CSVW.py index b9d6b13b..9d4f46d3 100644 --- a/rdflib/namespace/_CSVW.py +++ b/rdflib/namespace/_CSVW.py @@ -1,5 +1,5 @@ -from rdflib.term import URIRef from rdflib.namespace import DefinedNamespace, Namespace +from rdflib.term import URIRef class CSVW(DefinedNamespace): diff --git a/rdflib/namespace/_DC.py b/rdflib/namespace/_DC.py index 102f9324..7afa6430 100644 --- a/rdflib/namespace/_DC.py +++ b/rdflib/namespace/_DC.py @@ -1,5 +1,5 @@ -from rdflib.term import URIRef from rdflib.namespace import DefinedNamespace, Namespace +from rdflib.term import URIRef class DC(DefinedNamespace): diff --git a/rdflib/namespace/_DCAM.py b/rdflib/namespace/_DCAM.py index d18778c9..4d550679 100644 --- a/rdflib/namespace/_DCAM.py +++ b/rdflib/namespace/_DCAM.py @@ -1,5 +1,5 @@ -from rdflib.term import URIRef from rdflib.namespace import DefinedNamespace, Namespace +from rdflib.term import URIRef class DCAM(DefinedNamespace): diff --git a/rdflib/namespace/_DCAT.py b/rdflib/namespace/_DCAT.py index 94d60188..246b4720 100644 --- a/rdflib/namespace/_DCAT.py +++ b/rdflib/namespace/_DCAT.py @@ -1,5 +1,5 @@ -from rdflib.term import URIRef from rdflib.namespace import DefinedNamespace, Namespace +from rdflib.term import URIRef class DCAT(DefinedNamespace): diff --git a/rdflib/namespace/_DCMITYPE.py b/rdflib/namespace/_DCMITYPE.py index c849381d..d6b0ac95 100644 --- a/rdflib/namespace/_DCMITYPE.py +++ b/rdflib/namespace/_DCMITYPE.py @@ -1,5 +1,5 @@ -from rdflib.term import URIRef from rdflib.namespace import DefinedNamespace, Namespace +from rdflib.term import URIRef class DCMITYPE(DefinedNamespace): diff --git a/rdflib/namespace/_DCTERMS.py b/rdflib/namespace/_DCTERMS.py index ae2d0204..9b00f317 100644 --- a/rdflib/namespace/_DCTERMS.py +++ b/rdflib/namespace/_DCTERMS.py @@ -1,5 +1,5 @@ -from rdflib.term import URIRef from rdflib.namespace import DefinedNamespace, Namespace +from rdflib.term import URIRef class DCTERMS(DefinedNamespace): diff --git a/rdflib/namespace/_DOAP.py b/rdflib/namespace/_DOAP.py index a5c0a281..87ec20fa 100644 --- a/rdflib/namespace/_DOAP.py +++ b/rdflib/namespace/_DOAP.py @@ -1,5 +1,5 @@ -from rdflib.term import URIRef from rdflib.namespace import DefinedNamespace, Namespace +from rdflib.term import URIRef class DOAP(DefinedNamespace): diff --git a/rdflib/namespace/_FOAF.py b/rdflib/namespace/_FOAF.py index 727187c9..7441c6e3 100644 --- a/rdflib/namespace/_FOAF.py +++ b/rdflib/namespace/_FOAF.py @@ -1,5 +1,5 @@ -from rdflib.term import URIRef from rdflib.namespace import DefinedNamespace, Namespace +from rdflib.term import URIRef class FOAF(DefinedNamespace): diff --git a/rdflib/namespace/_GEO.py b/rdflib/namespace/_GEO.py index 138abe66..7f316fcb 100644 --- a/rdflib/namespace/_GEO.py +++ b/rdflib/namespace/_GEO.py @@ -1,5 +1,5 @@ -from rdflib.term import URIRef from rdflib.namespace import DefinedNamespace, Namespace +from rdflib.term import URIRef class GEO(DefinedNamespace): diff --git a/rdflib/namespace/_ODRL2.py b/rdflib/namespace/_ODRL2.py index 11da70fd..a9c8778b 100644 --- a/rdflib/namespace/_ODRL2.py +++ b/rdflib/namespace/_ODRL2.py @@ -1,5 +1,5 @@ -from rdflib.term import URIRef from rdflib.namespace import DefinedNamespace, Namespace +from rdflib.term import URIRef class ODRL2(DefinedNamespace): diff --git a/rdflib/namespace/_ORG.py b/rdflib/namespace/_ORG.py index f1580462..1d6e187f 100644 --- a/rdflib/namespace/_ORG.py +++ b/rdflib/namespace/_ORG.py @@ -1,5 +1,5 @@ -from rdflib.term import URIRef from rdflib.namespace import DefinedNamespace, Namespace +from rdflib.term import URIRef class ORG(DefinedNamespace): diff --git a/rdflib/namespace/_OWL.py b/rdflib/namespace/_OWL.py index 3decd093..98083a01 100644 --- a/rdflib/namespace/_OWL.py +++ b/rdflib/namespace/_OWL.py @@ -1,5 +1,5 @@ -from rdflib.term import URIRef from rdflib.namespace import DefinedNamespace, Namespace +from rdflib.term import URIRef class OWL(DefinedNamespace): diff --git a/rdflib/namespace/_PROF.py b/rdflib/namespace/_PROF.py index b73289b4..b0e26dad 100644 --- a/rdflib/namespace/_PROF.py +++ b/rdflib/namespace/_PROF.py @@ -1,5 +1,5 @@ -from rdflib.term import URIRef from rdflib.namespace import DefinedNamespace, Namespace +from rdflib.term import URIRef class PROF(DefinedNamespace): diff --git a/rdflib/namespace/_PROV.py b/rdflib/namespace/_PROV.py index 66925504..67fd4398 100644 --- a/rdflib/namespace/_PROV.py +++ b/rdflib/namespace/_PROV.py @@ -1,5 +1,5 @@ -from rdflib.term import URIRef from rdflib.namespace import DefinedNamespace, Namespace +from rdflib.term import URIRef class PROV(DefinedNamespace): diff --git a/rdflib/namespace/_QB.py b/rdflib/namespace/_QB.py index ee47fe81..b3cfab7d 100644 --- a/rdflib/namespace/_QB.py +++ b/rdflib/namespace/_QB.py @@ -1,5 +1,5 @@ -from rdflib.term import URIRef from rdflib.namespace import DefinedNamespace, Namespace +from rdflib.term import URIRef class QB(DefinedNamespace): diff --git a/rdflib/namespace/_RDF.py b/rdflib/namespace/_RDF.py index f79d75a7..ef1fde5d 100644 --- a/rdflib/namespace/_RDF.py +++ b/rdflib/namespace/_RDF.py @@ -1,5 +1,5 @@ -from rdflib.term import URIRef from rdflib.namespace import DefinedNamespace, Namespace +from rdflib.term import URIRef class RDF(DefinedNamespace): diff --git a/rdflib/namespace/_RDFS.py b/rdflib/namespace/_RDFS.py index 3b3a688b..273b1148 100644 --- a/rdflib/namespace/_RDFS.py +++ b/rdflib/namespace/_RDFS.py @@ -1,5 +1,5 @@ -from rdflib.term import URIRef from rdflib.namespace import DefinedNamespace, Namespace +from rdflib.term import URIRef class RDFS(DefinedNamespace): diff --git a/rdflib/namespace/_SDO.py b/rdflib/namespace/_SDO.py index 9745c518..b3c01626 100644 --- a/rdflib/namespace/_SDO.py +++ b/rdflib/namespace/_SDO.py @@ -1,5 +1,5 @@ -from rdflib.term import URIRef from rdflib.namespace import DefinedNamespace, Namespace +from rdflib.term import URIRef class SDO(DefinedNamespace): diff --git a/rdflib/namespace/_SH.py b/rdflib/namespace/_SH.py index f8cf6887..4df0fc55 100644 --- a/rdflib/namespace/_SH.py +++ b/rdflib/namespace/_SH.py @@ -1,5 +1,5 @@ -from rdflib.term import URIRef from rdflib.namespace import DefinedNamespace, Namespace +from rdflib.term import URIRef class SH(DefinedNamespace): diff --git a/rdflib/namespace/_SKOS.py b/rdflib/namespace/_SKOS.py index 3fff281f..120019e1 100644 --- a/rdflib/namespace/_SKOS.py +++ b/rdflib/namespace/_SKOS.py @@ -1,5 +1,5 @@ -from rdflib.term import URIRef from rdflib.namespace import DefinedNamespace, Namespace +from rdflib.term import URIRef class SKOS(DefinedNamespace): diff --git a/rdflib/namespace/_SOSA.py b/rdflib/namespace/_SOSA.py index 704be34b..c2702c52 100644 --- a/rdflib/namespace/_SOSA.py +++ b/rdflib/namespace/_SOSA.py @@ -1,5 +1,5 @@ -from rdflib.term import URIRef from rdflib.namespace import DefinedNamespace, Namespace +from rdflib.term import URIRef class SOSA(DefinedNamespace): diff --git a/rdflib/namespace/_SSN.py b/rdflib/namespace/_SSN.py index d726279e..df5f3a91 100644 --- a/rdflib/namespace/_SSN.py +++ b/rdflib/namespace/_SSN.py @@ -1,5 +1,5 @@ -from rdflib.term import URIRef from rdflib.namespace import DefinedNamespace, Namespace +from rdflib.term import URIRef class SSN(DefinedNamespace): diff --git a/rdflib/namespace/_TIME.py b/rdflib/namespace/_TIME.py index cd560414..aa7bbecd 100644 --- a/rdflib/namespace/_TIME.py +++ b/rdflib/namespace/_TIME.py @@ -1,5 +1,5 @@ -from rdflib.term import URIRef from rdflib.namespace import DefinedNamespace, Namespace +from rdflib.term import URIRef class TIME(DefinedNamespace): diff --git a/rdflib/namespace/_VANN.py b/rdflib/namespace/_VANN.py index af5cd0b9..95ee40db 100644 --- a/rdflib/namespace/_VANN.py +++ b/rdflib/namespace/_VANN.py @@ -1,5 +1,5 @@ -from rdflib.term import URIRef from rdflib.namespace import DefinedNamespace, Namespace +from rdflib.term import URIRef class VANN(DefinedNamespace): diff --git a/rdflib/namespace/_VOID.py b/rdflib/namespace/_VOID.py index af3b4088..db81e72e 100644 --- a/rdflib/namespace/_VOID.py +++ b/rdflib/namespace/_VOID.py @@ -1,5 +1,5 @@ -from rdflib.term import URIRef from rdflib.namespace import DefinedNamespace, Namespace +from rdflib.term import URIRef class VOID(DefinedNamespace): diff --git a/rdflib/namespace/_XSD.py b/rdflib/namespace/_XSD.py index 80b63862..af9cad75 100644 --- a/rdflib/namespace/_XSD.py +++ b/rdflib/namespace/_XSD.py @@ -1,5 +1,5 @@ -from rdflib.term import URIRef from rdflib.namespace import DefinedNamespace, Namespace +from rdflib.term import URIRef class XSD(DefinedNamespace): diff --git a/rdflib/namespace/__init__.py b/rdflib/namespace/__init__.py index f9611ba1..10c426d8 100644 --- a/rdflib/namespace/__init__.py +++ b/rdflib/namespace/__init__.py @@ -1,12 +1,11 @@ import json import logging import warnings -from pathlib import Path from functools import lru_cache -from typing import TYPE_CHECKING, Any, Dict, List, Optional, Tuple, Union, Iterable +from pathlib import Path +from typing import TYPE_CHECKING, Any, Dict, Iterable, List, Optional, Tuple, Union from unicodedata import category -from urllib.parse import urldefrag -from urllib.parse import urljoin +from urllib.parse import urldefrag, urljoin from rdflib.term import URIRef, Variable, _is_valid_uri @@ -765,10 +764,10 @@ def get_longest_namespace(trie: Dict[str, Any], value: str) -> Optional[str]: from rdflib.namespace._BRICK import BRICK from rdflib.namespace._CSVW import CSVW from rdflib.namespace._DC import DC +from rdflib.namespace._DCAM import DCAM from rdflib.namespace._DCAT import DCAT from rdflib.namespace._DCMITYPE import DCMITYPE from rdflib.namespace._DCTERMS import DCTERMS -from rdflib.namespace._DCAM import DCAM from rdflib.namespace._DOAP import DOAP from rdflib.namespace._FOAF import FOAF from rdflib.namespace._GEO import GEO diff --git a/rdflib/parser.py b/rdflib/parser.py index 1298a223..6bce4842 100644 --- a/rdflib/parser.py +++ b/rdflib/parser.py @@ -10,15 +10,14 @@ want to do so through the Graph class parse method. """ -from typing import TYPE_CHECKING import codecs import os import pathlib import sys - -from io import BytesIO, RawIOBase, TextIOBase, TextIOWrapper, StringIO, BufferedIOBase +from io import BufferedIOBase, BytesIO, RawIOBase, StringIO, TextIOBase, TextIOWrapper from typing import ( IO, + TYPE_CHECKING, Any, BinaryIO, List, @@ -26,23 +25,19 @@ from typing import ( TextIO, Tuple, Union, - TYPE_CHECKING, ) - -from urllib.request import Request -from urllib.request import url2pathname -from urllib.request import urlopen -from urllib.parse import urljoin from urllib.error import HTTPError - +from urllib.parse import urljoin +from urllib.request import Request, url2pathname, urlopen from xml.sax import xmlreader from rdflib import __version__ -from rdflib.term import URIRef from rdflib.namespace import Namespace +from rdflib.term import URIRef if TYPE_CHECKING: from http.client import HTTPMessage, HTTPResponse + from rdflib import Graph __all__ = [ diff --git a/rdflib/paths.py b/rdflib/paths.py index a617f323..2efe3f85 100644 --- a/rdflib/paths.py +++ b/rdflib/paths.py @@ -182,8 +182,9 @@ No vars specified: from functools import total_ordering -from rdflib.term import URIRef, Node, IdentifiedNode -from typing import Union, Callable, TYPE_CHECKING, Optional, Iterator, Tuple +from typing import TYPE_CHECKING, Callable, Iterator, Optional, Tuple, Union + +from rdflib.term import IdentifiedNode, Node, URIRef if TYPE_CHECKING: from rdflib import Graph diff --git a/rdflib/plugin.py b/rdflib/plugin.py index 01abe24c..ec654229 100644 --- a/rdflib/plugin.py +++ b/rdflib/plugin.py @@ -25,17 +25,6 @@ information. """ -from rdflib.store import Store -from rdflib.parser import Parser -from rdflib.serializer import Serializer -from rdflib.query import ( - ResultParser, - ResultSerializer, - Processor, - Result, - UpdateProcessor, -) -from rdflib.exceptions import Error import sys from typing import ( TYPE_CHECKING, @@ -50,10 +39,22 @@ from typing import ( overload, ) +from rdflib.exceptions import Error +from rdflib.parser import Parser +from rdflib.query import ( + Processor, + Result, + ResultParser, + ResultSerializer, + UpdateProcessor, +) +from rdflib.serializer import Serializer +from rdflib.store import Store + if sys.version_info < (3, 8): - from importlib_metadata import entry_points, EntryPoint + from importlib_metadata import EntryPoint, entry_points else: - from importlib.metadata import entry_points, EntryPoint + from importlib.metadata import EntryPoint, entry_points __all__ = ["register", "get", "plugins", "PluginException", "Plugin", "PKGPlugin"] diff --git a/rdflib/plugins/parsers/hext.py b/rdflib/plugins/parsers/hext.py index a76aac96..ae60cca4 100644 --- a/rdflib/plugins/parsers/hext.py +++ b/rdflib/plugins/parsers/hext.py @@ -4,12 +4,11 @@ This is a rdflib plugin for parsing Hextuple files, which are Newline-Delimited handle contexts, i.e. multiple graphs. """ import json - -from typing import List, Union -from rdflib.parser import Parser -from rdflib import ConjunctiveGraph, URIRef, Literal, BNode import warnings +from typing import List, Union +from rdflib import BNode, ConjunctiveGraph, Literal, URIRef +from rdflib.parser import Parser __all__ = ["HextuplesParser"] diff --git a/rdflib/plugins/parsers/jsonld.py b/rdflib/plugins/parsers/jsonld.py index eacca5e4..86fdf800 100644 --- a/rdflib/plugins/parsers/jsonld.py +++ b/rdflib/plugins/parsers/jsonld.py @@ -33,21 +33,16 @@ Example usage:: # NOTE: This code reads the entire JSON object into memory before parsing, but # we should consider streaming the input to deal with arbitrarily large graphs. -from typing import Optional import warnings -from rdflib.graph import ConjunctiveGraph -from rdflib.parser import URLInputSource +from typing import Optional + import rdflib.parser +from rdflib.graph import ConjunctiveGraph from rdflib.namespace import RDF, XSD -from rdflib.term import URIRef, BNode, Literal +from rdflib.parser import URLInputSource +from rdflib.term import BNode, Literal, URIRef -from ..shared.jsonld.context import Context, Term, UNDEF -from ..shared.jsonld.util import ( - json, - source_to_json, - VOCAB_DELIMS, - context_from_urlinputsource, -) +from ..shared.jsonld.context import UNDEF, Context, Term from ..shared.jsonld.keys import ( CONTEXT, GRAPH, @@ -65,7 +60,12 @@ from ..shared.jsonld.keys import ( VALUE, VOCAB, ) - +from ..shared.jsonld.util import ( + VOCAB_DELIMS, + context_from_urlinputsource, + json, + source_to_json, +) __all__ = ["JsonLDParser", "to_rdf"] diff --git a/rdflib/plugins/parsers/nquads.py b/rdflib/plugins/parsers/nquads.py index d44139c5..979761fe 100644 --- a/rdflib/plugins/parsers/nquads.py +++ b/rdflib/plugins/parsers/nquads.py @@ -28,10 +28,12 @@ from codecs import getreader from rdflib import ConjunctiveGraph # Build up from the NTriples parser: -from rdflib.plugins.parsers.ntriples import W3CNTriplesParser -from rdflib.plugins.parsers.ntriples import ParseError -from rdflib.plugins.parsers.ntriples import r_tail -from rdflib.plugins.parsers.ntriples import r_wspace +from rdflib.plugins.parsers.ntriples import ( + ParseError, + W3CNTriplesParser, + r_tail, + r_wspace, +) __all__ = ["NQuadsParser"] diff --git a/rdflib/plugins/parsers/rdfxml.py b/rdflib/plugins/parsers/rdfxml.py index 0923ef40..1da4ff4f 100644 --- a/rdflib/plugins/parsers/rdfxml.py +++ b/rdflib/plugins/parsers/rdfxml.py @@ -2,20 +2,16 @@ An RDF/XML parser for RDFLib """ -from xml.sax import make_parser, handler, xmlreader +from urllib.parse import urldefrag, urljoin +from xml.sax import handler, make_parser, xmlreader from xml.sax.handler import ErrorHandler -from xml.sax.saxutils import quoteattr, escape - +from xml.sax.saxutils import escape, quoteattr -from urllib.parse import urldefrag, urljoin -from rdflib.namespace import is_ncname -from rdflib.namespace import RDF -from rdflib.plugins.parsers.RDFVOC import RDFVOC -from rdflib.term import URIRef -from rdflib.term import BNode -from rdflib.term import Literal -from rdflib.exceptions import ParserError, Error +from rdflib.exceptions import Error, ParserError +from rdflib.namespace import RDF, is_ncname from rdflib.parser import Parser +from rdflib.plugins.parsers.RDFVOC import RDFVOC +from rdflib.term import BNode, Literal, URIRef __all__ = ["create_parser", "BagID", "ElementHandler", "RDFXMLHandler", "RDFXMLParser"] diff --git a/rdflib/plugins/parsers/trig.py b/rdflib/plugins/parsers/trig.py index 9caa0662..215586a0 100644 --- a/rdflib/plugins/parsers/trig.py +++ b/rdflib/plugins/parsers/trig.py @@ -1,6 +1,7 @@ from rdflib import ConjunctiveGraph from rdflib.parser import Parser -from .notation3 import SinkParser, RDFSink + +from .notation3 import RDFSink, SinkParser def becauseSubGraph(*args, **kwargs): diff --git a/rdflib/plugins/parsers/trix.py b/rdflib/plugins/parsers/trix.py index 8e126f4e..aacfcbd8 100644 --- a/rdflib/plugins/parsers/trix.py +++ b/rdflib/plugins/parsers/trix.py @@ -1,18 +1,15 @@ """ A TriX parser for RDFLib """ -from rdflib.namespace import Namespace -from rdflib.term import URIRef -from rdflib.term import BNode -from rdflib.term import Literal -from rdflib.graph import Graph -from rdflib.exceptions import ParserError -from rdflib.parser import Parser - - -from xml.sax.saxutils import handler from xml.sax import make_parser from xml.sax.handler import ErrorHandler +from xml.sax.saxutils import handler + +from rdflib.exceptions import ParserError +from rdflib.graph import Graph +from rdflib.namespace import Namespace +from rdflib.parser import Parser +from rdflib.term import BNode, Literal, URIRef __all__ = ["create_parser", "TriXHandler", "TriXParser"] diff --git a/rdflib/plugins/serializers/hext.py b/rdflib/plugins/serializers/hext.py index a66a4d32..9452fd0e 100644 --- a/rdflib/plugins/serializers/hext.py +++ b/rdflib/plugins/serializers/hext.py @@ -2,13 +2,14 @@ HextuplesSerializer RDF graph serializer for RDFLib. See <https://github.com/ontola/hextuples> for details about the format. """ -from typing import IO, Optional, Type, Union import json -from rdflib.graph import Graph, ConjunctiveGraph -from rdflib.term import Literal, URIRef, Node, BNode -from rdflib.serializer import Serializer -from rdflib.namespace import RDF, XSD import warnings +from typing import IO, Optional, Type, Union + +from rdflib.graph import ConjunctiveGraph, Graph +from rdflib.namespace import RDF, XSD +from rdflib.serializer import Serializer +from rdflib.term import BNode, Literal, Node, URIRef __all__ = ["HextuplesSerializer"] diff --git a/rdflib/plugins/serializers/jsonld.py b/rdflib/plugins/serializers/jsonld.py index fdaa5567..e9ff401b 100644 --- a/rdflib/plugins/serializers/jsonld.py +++ b/rdflib/plugins/serializers/jsonld.py @@ -36,16 +36,16 @@ Example usage:: # graphs. import warnings +from typing import IO, Optional -from rdflib.serializer import Serializer from rdflib.graph import Graph -from rdflib.term import URIRef, Literal, BNode from rdflib.namespace import RDF, XSD -from typing import IO, Optional +from rdflib.serializer import Serializer +from rdflib.term import BNode, Literal, URIRef -from ..shared.jsonld.context import Context, UNDEF +from ..shared.jsonld.context import UNDEF, Context +from ..shared.jsonld.keys import CONTEXT, GRAPH, ID, LANG, LIST, SET, VOCAB from ..shared.jsonld.util import json -from ..shared.jsonld.keys import CONTEXT, GRAPH, ID, VOCAB, LIST, SET, LANG __all__ = ["JsonLDSerializer", "from_rdf"] diff --git a/rdflib/plugins/serializers/longturtle.py b/rdflib/plugins/serializers/longturtle.py index 0d50e47a..7a106ebb 100644 --- a/rdflib/plugins/serializers/longturtle.py +++ b/rdflib/plugins/serializers/longturtle.py @@ -16,10 +16,11 @@ to turtle - the original turtle serializer. It: - Nicholas Car, 2021 """ -from rdflib.term import BNode, Literal, URIRef from rdflib.exceptions import Error -from .turtle import RecursiveSerializer from rdflib.namespace import RDF +from rdflib.term import BNode, Literal, URIRef + +from .turtle import RecursiveSerializer __all__ = ["LongTurtleSerializer"] diff --git a/rdflib/plugins/serializers/n3.py b/rdflib/plugins/serializers/n3.py index 806f445e..f82a08a2 100644 --- a/rdflib/plugins/serializers/n3.py +++ b/rdflib/plugins/serializers/n3.py @@ -2,8 +2,8 @@ Notation 3 (N3) RDF graph serializer for RDFLib. """ from rdflib.graph import Graph -from rdflib.namespace import Namespace, OWL -from rdflib.plugins.serializers.turtle import TurtleSerializer, SUBJECT, OBJECT +from rdflib.namespace import OWL, Namespace +from rdflib.plugins.serializers.turtle import OBJECT, SUBJECT, TurtleSerializer __all__ = ["N3Serializer"] diff --git a/rdflib/plugins/serializers/nquads.py b/rdflib/plugins/serializers/nquads.py index 42cddf4e..8d7c8078 100644 --- a/rdflib/plugins/serializers/nquads.py +++ b/rdflib/plugins/serializers/nquads.py @@ -1,11 +1,10 @@ -from typing import IO, Optional import warnings +from typing import IO, Optional from rdflib.graph import ConjunctiveGraph, Graph -from rdflib.term import Literal -from rdflib.serializer import Serializer - from rdflib.plugins.serializers.nt import _quoteLiteral +from rdflib.serializer import Serializer +from rdflib.term import Literal __all__ = ["NQuadsSerializer"] diff --git a/rdflib/plugins/serializers/nt.py b/rdflib/plugins/serializers/nt.py index 188db78f..ef8bcfd4 100644 --- a/rdflib/plugins/serializers/nt.py +++ b/rdflib/plugins/serializers/nt.py @@ -3,14 +3,13 @@ N-Triples RDF graph serializer for RDFLib. See <http://www.w3.org/TR/rdf-testcases/#ntriples> for details about the format. """ +import codecs +import warnings from typing import IO, Optional from rdflib.graph import Graph -from rdflib.term import Literal from rdflib.serializer import Serializer - -import warnings -import codecs +from rdflib.term import Literal __all__ = ["NTSerializer"] diff --git a/rdflib/plugins/serializers/rdfxml.py b/rdflib/plugins/serializers/rdfxml.py index 91765d2b..587f1f16 100644 --- a/rdflib/plugins/serializers/rdfxml.py +++ b/rdflib/plugins/serializers/rdfxml.py @@ -1,17 +1,15 @@ +import xml.dom.minidom from typing import IO, Dict, Optional, Set -from rdflib.plugins.serializers.xmlwriter import XMLWriter - -from rdflib.namespace import Namespace, RDF, RDFS # , split_uri -from rdflib.plugins.parsers.RDFVOC import RDFVOC +from xml.sax.saxutils import escape, quoteattr -from rdflib.graph import Graph -from rdflib.term import Identifier, URIRef, Literal, BNode, Node, IdentifiedNode -from rdflib.util import first, more_than from rdflib.collection import Collection +from rdflib.graph import Graph +from rdflib.namespace import RDF, RDFS, Namespace # , split_uri +from rdflib.plugins.parsers.RDFVOC import RDFVOC +from rdflib.plugins.serializers.xmlwriter import XMLWriter from rdflib.serializer import Serializer - -from xml.sax.saxutils import quoteattr, escape -import xml.dom.minidom +from rdflib.term import BNode, IdentifiedNode, Identifier, Literal, Node, URIRef +from rdflib.util import first, more_than from .xmlwriter import ESCAPE_ENTITIES diff --git a/rdflib/plugins/serializers/trig.py b/rdflib/plugins/serializers/trig.py index e4b7e55a..fa9641d1 100644 --- a/rdflib/plugins/serializers/trig.py +++ b/rdflib/plugins/serializers/trig.py @@ -10,7 +10,6 @@ from rdflib.graph import ConjunctiveGraph, Graph from rdflib.plugins.serializers.turtle import TurtleSerializer from rdflib.term import BNode, Node - __all__ = ["TrigSerializer"] diff --git a/rdflib/plugins/serializers/trix.py b/rdflib/plugins/serializers/trix.py index 63d58c44..4db43689 100644 --- a/rdflib/plugins/serializers/trix.py +++ b/rdflib/plugins/serializers/trix.py @@ -1,12 +1,10 @@ from typing import IO, Optional -from rdflib.serializer import Serializer -from rdflib.plugins.serializers.xmlwriter import XMLWriter -from rdflib.term import URIRef, Literal, BNode +from rdflib.graph import ConjunctiveGraph, Graph from rdflib.namespace import Namespace - -from rdflib.graph import Graph, ConjunctiveGraph - +from rdflib.plugins.serializers.xmlwriter import XMLWriter +from rdflib.serializer import Serializer +from rdflib.term import BNode, Literal, URIRef __all__ = ["TriXSerializer"] diff --git a/rdflib/plugins/serializers/turtle.py b/rdflib/plugins/serializers/turtle.py index a75f1524..21df28ff 100644 --- a/rdflib/plugins/serializers/turtle.py +++ b/rdflib/plugins/serializers/turtle.py @@ -6,10 +6,10 @@ See <http://www.w3.org/TeamSubmission/turtle/> for syntax specification. from collections import defaultdict from functools import cmp_to_key -from rdflib.term import BNode, Literal, URIRef from rdflib.exceptions import Error -from rdflib.serializer import Serializer from rdflib.namespace import RDF, RDFS +from rdflib.serializer import Serializer +from rdflib.term import BNode, Literal, URIRef __all__ = ["RecursiveSerializer", "TurtleSerializer"] diff --git a/rdflib/plugins/serializers/xmlwriter.py b/rdflib/plugins/serializers/xmlwriter.py index b0f1a06e..7a4be155 100644 --- a/rdflib/plugins/serializers/xmlwriter.py +++ b/rdflib/plugins/serializers/xmlwriter.py @@ -1,5 +1,5 @@ import codecs -from xml.sax.saxutils import quoteattr, escape +from xml.sax.saxutils import escape, quoteattr __all__ = ["XMLWriter"] diff --git a/rdflib/plugins/shared/jsonld/context.py b/rdflib/plugins/shared/jsonld/context.py index 70d9091f..7090668a 100644 --- a/rdflib/plugins/shared/jsonld/context.py +++ b/rdflib/plugins/shared/jsonld/context.py @@ -12,6 +12,11 @@ from typing import TYPE_CHECKING, Any, Dict, List, Optional, Set, Tuple, Union from rdflib.namespace import RDF +from .errors import ( + INVALID_CONTEXT_ENTRY, + INVALID_REMOTE_CONTEXT, + RECURSIVE_CONTEXT_INCLUSION, +) from .keys import ( BASE, CONTAINER, @@ -36,13 +41,7 @@ from .keys import ( VERSION, VOCAB, ) -from .errors import ( - INVALID_REMOTE_CONTEXT, - RECURSIVE_CONTEXT_INCLUSION, - INVALID_CONTEXT_ENTRY, -) -from .util import source_to_json, urljoin, urlsplit, split_iri, norm_url - +from .util import norm_url, source_to_json, split_iri, urljoin, urlsplit NODE_KEYS = {GRAPH, ID, INCLUDED, JSON, LIST, NEST, NONE, REV, SET, TYPE, VALUE, LANG} diff --git a/rdflib/plugins/shared/jsonld/util.py b/rdflib/plugins/shared/jsonld/util.py index f88b3633..c60bca24 100644 --- a/rdflib/plugins/shared/jsonld/util.py +++ b/rdflib/plugins/shared/jsonld/util.py @@ -12,19 +12,17 @@ else: except ImportError: import simplejson as json -from posixpath import sep -from posixpath import normpath - +from io import TextIOBase, TextIOWrapper +from posixpath import normpath, sep from urllib.parse import urljoin, urlsplit, urlunsplit + from rdflib.parser import ( - create_input_source, BytesIOWrapper, PythonInputSource, StringInputSource, + create_input_source, ) -from io import TextIOBase, TextIOWrapper - def source_to_json(source): if isinstance(source, PythonInputSource): diff --git a/rdflib/plugins/sparql/__init__.py b/rdflib/plugins/sparql/__init__.py index b996dc3f..7f79130a 100644 --- a/rdflib/plugins/sparql/__init__.py +++ b/rdflib/plugins/sparql/__init__.py @@ -32,10 +32,8 @@ PLUGIN_ENTRY_POINT = "rdf.plugins.sparqleval" import sys from typing import TYPE_CHECKING, Any -from . import parser -from . import operators -from . import parserutils +from . import operators, parser, parserutils from .processor import prepareQuery, prepareUpdate, processUpdate assert parser diff --git a/rdflib/plugins/sparql/aggregates.py b/rdflib/plugins/sparql/aggregates.py index 20f0a10a..7c86036b 100644 --- a/rdflib/plugins/sparql/aggregates.py +++ b/rdflib/plugins/sparql/aggregates.py @@ -1,12 +1,11 @@ -from rdflib import Literal, XSD -from rdflib.plugins.sparql.evalutils import _eval, NotBoundError, _val -from rdflib.plugins.sparql.operators import numeric -from rdflib.plugins.sparql.datatypes import type_promotion +from decimal import Decimal +from rdflib import XSD, Literal +from rdflib.plugins.sparql.datatypes import type_promotion +from rdflib.plugins.sparql.evalutils import NotBoundError, _eval, _val +from rdflib.plugins.sparql.operators import numeric from rdflib.plugins.sparql.sparql import SPARQLTypeError -from decimal import Decimal - """ Aggregation functions """ diff --git a/rdflib/plugins/sparql/algebra.py b/rdflib/plugins/sparql/algebra.py index a6e20b0f..bdbe31c5 100644 --- a/rdflib/plugins/sparql/algebra.py +++ b/rdflib/plugins/sparql/algebra.py @@ -5,25 +5,19 @@ http://www.w3.org/TR/sparql11-query/#sparqlQuery """ +import collections import functools import operator -import collections - from functools import reduce -from rdflib import Literal, Variable, URIRef, BNode - -from rdflib.plugins.sparql.sparql import Prologue, Query, Update -from rdflib.plugins.sparql.parserutils import CompValue, Expr -from rdflib.plugins.sparql.operators import ( - and_, - TrueFilter, - simplify as simplifyFilters, -) -from rdflib.paths import InvPath, AlternativePath, SequencePath, MulPath, NegatedPath - from pyparsing import ParseResults +from rdflib import BNode, Literal, URIRef, Variable +from rdflib.paths import AlternativePath, InvPath, MulPath, NegatedPath, SequencePath +from rdflib.plugins.sparql.operators import TrueFilter, and_ +from rdflib.plugins.sparql.operators import simplify as simplifyFilters +from rdflib.plugins.sparql.parserutils import CompValue, Expr +from rdflib.plugins.sparql.sparql import Prologue, Query, Update # --------------------------- # Some convenience methods @@ -1470,9 +1464,10 @@ def pprintAlgebra(q): if __name__ == "__main__": + import os.path import sys + from rdflib.plugins.sparql import parser - import os.path if os.path.exists(sys.argv[1]): q = open(sys.argv[1]).read() diff --git a/rdflib/plugins/sparql/evaluate.py b/rdflib/plugins/sparql/evaluate.py index f6e51a7a..6cdbe754 100644 --- a/rdflib/plugins/sparql/evaluate.py +++ b/rdflib/plugins/sparql/evaluate.py @@ -16,36 +16,35 @@ also return a dict of list of dicts import collections import itertools +import json as j import re from typing import Any, Deque, Dict, List, Union -from urllib.request import urlopen, Request from urllib.parse import urlencode -import json as j +from urllib.request import Request, urlopen + from pyparsing import ParseException -from rdflib import Variable, Graph, BNode, URIRef, Literal -from rdflib.plugins.sparql import CUSTOM_EVALS -from rdflib.plugins.sparql.parserutils import CompValue, value -from rdflib.plugins.sparql.sparql import ( - QueryContext, - AlreadyBound, - FrozenBindings, - Bindings, - SPARQLError, -) +from rdflib import BNode, Graph, Literal, URIRef, Variable +from rdflib.plugins.sparql import CUSTOM_EVALS, parser +from rdflib.plugins.sparql.aggregates import Aggregator from rdflib.plugins.sparql.evalutils import ( - _filter, + _diff, + _ebv, _eval, + _fillTemplate, + _filter, _join, - _diff, _minus, - _fillTemplate, - _ebv, _val, ) - -from rdflib.plugins.sparql.aggregates import Aggregator -from rdflib.plugins.sparql import parser +from rdflib.plugins.sparql.parserutils import CompValue, value +from rdflib.plugins.sparql.sparql import ( + AlreadyBound, + Bindings, + FrozenBindings, + QueryContext, + SPARQLError, +) from rdflib.term import Identifier diff --git a/rdflib/plugins/sparql/evalutils.py b/rdflib/plugins/sparql/evalutils.py index ef959968..db011115 100644 --- a/rdflib/plugins/sparql/evalutils.py +++ b/rdflib/plugins/sparql/evalutils.py @@ -1,11 +1,10 @@ import collections from typing import Dict, Iterable -from rdflib.term import Variable, Literal, BNode, URIRef - from rdflib.plugins.sparql.operators import EBV -from rdflib.plugins.sparql.parserutils import Expr, CompValue -from rdflib.plugins.sparql.sparql import FrozenDict, SPARQLError, NotBoundError +from rdflib.plugins.sparql.parserutils import CompValue, Expr +from rdflib.plugins.sparql.sparql import FrozenDict, NotBoundError, SPARQLError +from rdflib.term import BNode, Literal, URIRef, Variable def _diff(a: Iterable[FrozenDict], b: Iterable[FrozenDict], expr): diff --git a/rdflib/plugins/sparql/operators.py b/rdflib/plugins/sparql/operators.py index 18b96658..725bf67c 100644 --- a/rdflib/plugins/sparql/operators.py +++ b/rdflib/plugins/sparql/operators.py @@ -6,34 +6,32 @@ using setEvalFn """ -import sys -import re +import datetime as py_datetime # naming conflict with function within this module +import hashlib import math +import operator as pyop # python operators import random +import re +import sys import uuid -import hashlib -import datetime as py_datetime # naming conflict with function within this module import warnings - +from decimal import ROUND_HALF_UP, Decimal, InvalidOperation from functools import reduce - -from decimal import Decimal, ROUND_HALF_UP, InvalidOperation - -import operator as pyop # python operators - -import isodate - -from rdflib.plugins.sparql.parserutils import CompValue, Expr -from rdflib.plugins.sparql.datatypes import XSD_DTs, type_promotion -from rdflib.plugins.sparql.datatypes import XSD_DateTime_DTs, XSD_Duration_DTs -from rdflib import URIRef, BNode, Variable, Literal, XSD, RDF -from rdflib.term import Node - from urllib.parse import quote +import isodate from pyparsing import ParseResults +from rdflib import RDF, XSD, BNode, Literal, URIRef, Variable +from rdflib.plugins.sparql.datatypes import ( + XSD_DateTime_DTs, + XSD_DTs, + XSD_Duration_DTs, + type_promotion, +) +from rdflib.plugins.sparql.parserutils import CompValue, Expr from rdflib.plugins.sparql.sparql import SPARQLError, SPARQLTypeError +from rdflib.term import Node def Builtin_IRI(expr, ctx): diff --git a/rdflib/plugins/sparql/parser.py b/rdflib/plugins/sparql/parser.py index fb3854c0..08c3483e 100644 --- a/rdflib/plugins/sparql/parser.py +++ b/rdflib/plugins/sparql/parser.py @@ -4,34 +4,34 @@ SPARQL 1.1 Parser based on pyparsing """ -import sys import re +import sys +from pyparsing import CaselessKeyword as Keyword # watch out :) from pyparsing import ( + Combine, + Forward, + Group, Literal, - Regex, - Optional, OneOrMore, - ZeroOrMore, - Forward, + Optional, ParseException, - Suppress, - Combine, - restOfLine, - Group, ParseResults, + Regex, + Suppress, + ZeroOrMore, delimitedList, + restOfLine, ) -from pyparsing import CaselessKeyword as Keyword # watch out :) -# from pyparsing import Keyword as CaseSensitiveKeyword +import rdflib +from rdflib.compat import decodeUnicodeEscape +from . import operators as op from .parserutils import Comp, Param, ParamList -from . import operators as op -from rdflib.compat import decodeUnicodeEscape +# from pyparsing import Keyword as CaseSensitiveKeyword -import rdflib DEBUG = False diff --git a/rdflib/plugins/sparql/parserutils.py b/rdflib/plugins/sparql/parserutils.py index 62ad2ecc..3c75e324 100644 --- a/rdflib/plugins/sparql/parserutils.py +++ b/rdflib/plugins/sparql/parserutils.py @@ -1,8 +1,7 @@ -from types import MethodType - from collections import OrderedDict +from types import MethodType -from pyparsing import TokenConverter, ParseResults, originalTextFor +from pyparsing import ParseResults, TokenConverter, originalTextFor from rdflib import BNode, Variable @@ -271,9 +270,10 @@ def prettify_parsetree(t, indent="", depth=0): if __name__ == "__main__": - from pyparsing import Word, nums import sys + from pyparsing import Word, nums + Number = Word(nums) Number.setParseAction(lambda x: int(x[0])) Plus = Comp("plus", Param("a", Number) + "+" + Param("b", Number)) @@ -284,4 +284,4 @@ if __name__ == "__main__": print(r[0].eval({})) # hurrah for circular imports -from rdflib.plugins.sparql.sparql import SPARQLError, NotBoundError +from rdflib.plugins.sparql.sparql import NotBoundError, SPARQLError diff --git a/rdflib/plugins/sparql/processor.py b/rdflib/plugins/sparql/processor.py index a0419423..26a72dd2 100644 --- a/rdflib/plugins/sparql/processor.py +++ b/rdflib/plugins/sparql/processor.py @@ -6,15 +6,12 @@ These should be automatically registered with RDFLib """ -from rdflib.query import Processor, Result, UpdateProcessor - -from rdflib.plugins.sparql.sparql import Query - -from rdflib.plugins.sparql.parser import parseQuery, parseUpdate from rdflib.plugins.sparql.algebra import translateQuery, translateUpdate - from rdflib.plugins.sparql.evaluate import evalQuery +from rdflib.plugins.sparql.parser import parseQuery, parseUpdate +from rdflib.plugins.sparql.sparql import Query from rdflib.plugins.sparql.update import evalUpdate +from rdflib.query import Processor, Result, UpdateProcessor def prepareQuery(queryString, initNs={}, base=None) -> Query: diff --git a/rdflib/plugins/sparql/results/csvresults.py b/rdflib/plugins/sparql/results/csvresults.py index 11a0b381..9138cba6 100644 --- a/rdflib/plugins/sparql/results/csvresults.py +++ b/rdflib/plugins/sparql/results/csvresults.py @@ -11,9 +11,8 @@ import codecs import csv from typing import IO -from rdflib import Variable, BNode, URIRef, Literal - -from rdflib.query import Result, ResultSerializer, ResultParser +from rdflib import BNode, Literal, URIRef, Variable +from rdflib.query import Result, ResultParser, ResultSerializer class CSVResultParser(ResultParser): diff --git a/rdflib/plugins/sparql/results/graph.py b/rdflib/plugins/sparql/results/graph.py index 77715d07..0b14be27 100644 --- a/rdflib/plugins/sparql/results/graph.py +++ b/rdflib/plugins/sparql/results/graph.py @@ -1,5 +1,4 @@ from rdflib import Graph - from rdflib.query import Result, ResultParser diff --git a/rdflib/plugins/sparql/results/jsonresults.py b/rdflib/plugins/sparql/results/jsonresults.py index 562f0ec0..1fdb80ca 100644 --- a/rdflib/plugins/sparql/results/jsonresults.py +++ b/rdflib/plugins/sparql/results/jsonresults.py @@ -1,9 +1,8 @@ import json from typing import IO, Any, Dict, Optional, TextIO, Union -from rdflib.query import Result, ResultException, ResultSerializer, ResultParser -from rdflib import Literal, URIRef, BNode, Variable - +from rdflib import BNode, Literal, URIRef, Variable +from rdflib.query import Result, ResultException, ResultParser, ResultSerializer """A Serializer for SPARQL results in JSON: diff --git a/rdflib/plugins/sparql/results/rdfresults.py b/rdflib/plugins/sparql/results/rdfresults.py index 52df64ff..83ee3ea1 100644 --- a/rdflib/plugins/sparql/results/rdfresults.py +++ b/rdflib/plugins/sparql/results/rdfresults.py @@ -1,5 +1,4 @@ -from rdflib import Graph, Namespace, RDF, Variable - +from rdflib import RDF, Graph, Namespace, Variable from rdflib.query import Result, ResultParser RS = Namespace("http://www.w3.org/2001/sw/DataAccess/tests/result-set#") diff --git a/rdflib/plugins/sparql/results/tsvresults.py b/rdflib/plugins/sparql/results/tsvresults.py index 066aba7f..02b872e4 100644 --- a/rdflib/plugins/sparql/results/tsvresults.py +++ b/rdflib/plugins/sparql/results/tsvresults.py @@ -7,31 +7,29 @@ It is implemented with pyparsing, reusing the elements from the SPARQL Parser import codecs from pyparsing import ( - Optional, - ZeroOrMore, + FollowedBy, + LineEnd, Literal, - ParserElement, + Optional, ParseException, + ParserElement, Suppress, - FollowedBy, - LineEnd, + ZeroOrMore, ) -from rdflib.query import Result, ResultParser - +from rdflib import Literal as RDFLiteral from rdflib.plugins.sparql.parser import ( - Var, + BLANK_NODE_LABEL, + IRIREF, + LANGTAG, STRING_LITERAL1, STRING_LITERAL2, - IRIREF, - BLANK_NODE_LABEL, - NumericLiteral, BooleanLiteral, - LANGTAG, + NumericLiteral, + Var, ) -from rdflib.plugins.sparql.parserutils import Comp, Param, CompValue - -from rdflib import Literal as RDFLiteral +from rdflib.plugins.sparql.parserutils import Comp, CompValue, Param +from rdflib.query import Result, ResultParser ParserElement.setDefaultWhitespaceChars(" \n") diff --git a/rdflib/plugins/sparql/results/txtresults.py b/rdflib/plugins/sparql/results/txtresults.py index 3f41df94..8b87864b 100644 --- a/rdflib/plugins/sparql/results/txtresults.py +++ b/rdflib/plugins/sparql/results/txtresults.py @@ -1,7 +1,8 @@ from typing import IO, List, Optional -from rdflib import URIRef, BNode, Literal -from rdflib.query import ResultSerializer + +from rdflib import BNode, Literal, URIRef from rdflib.namespace import NamespaceManager +from rdflib.query import ResultSerializer from rdflib.term import Variable diff --git a/rdflib/plugins/sparql/results/xmlresults.py b/rdflib/plugins/sparql/results/xmlresults.py index 6f55ddfe..69cb5c30 100644 --- a/rdflib/plugins/sparql/results/xmlresults.py +++ b/rdflib/plugins/sparql/results/xmlresults.py @@ -1,15 +1,12 @@ import logging from typing import IO, Optional - -from xml.sax.saxutils import XMLGenerator from xml.dom import XML_NAMESPACE +from xml.sax.saxutils import XMLGenerator from xml.sax.xmlreader import AttributesNSImpl +from rdflib import BNode, Literal, URIRef, Variable from rdflib.compat import etree - -from rdflib import Literal, URIRef, BNode, Variable -from rdflib.query import Result, ResultParser, ResultSerializer, ResultException - +from rdflib.query import Result, ResultException, ResultParser, ResultSerializer SPARQL_XML_NAMESPACE = "http://www.w3.org/2005/sparql-results#" RESULTS_NS_ET = "{%s}" % SPARQL_XML_NAMESPACE diff --git a/rdflib/plugins/sparql/sparql.py b/rdflib/plugins/sparql/sparql.py index 526203c4..55253008 100644 --- a/rdflib/plugins/sparql/sparql.py +++ b/rdflib/plugins/sparql/sparql.py @@ -1,17 +1,15 @@ import collections -import itertools import datetime +import itertools import isodate +import rdflib.plugins.sparql +from rdflib import BNode, ConjunctiveGraph, Graph, Literal, URIRef, Variable from rdflib.compat import Mapping, MutableMapping from rdflib.namespace import NamespaceManager -from rdflib import Variable, BNode, Graph, ConjunctiveGraph, URIRef, Literal -from rdflib.term import Node - from rdflib.plugins.sparql.parserutils import CompValue - -import rdflib.plugins.sparql +from rdflib.term import Node class SPARQLError(Exception): diff --git a/rdflib/plugins/sparql/update.py b/rdflib/plugins/sparql/update.py index ef4b46b9..8849bc0b 100644 --- a/rdflib/plugins/sparql/update.py +++ b/rdflib/plugins/sparql/update.py @@ -5,9 +5,9 @@ Code for carrying out Update Operations """ from rdflib import Graph, Variable -from rdflib.plugins.sparql.sparql import QueryContext -from rdflib.plugins.sparql.evalutils import _fillTemplate, _join from rdflib.plugins.sparql.evaluate import evalBGP, evalPart +from rdflib.plugins.sparql.evalutils import _fillTemplate, _join +from rdflib.plugins.sparql.sparql import QueryContext def _graphOrDefault(ctx, g): diff --git a/rdflib/plugins/stores/auditable.py b/rdflib/plugins/stores/auditable.py index 39046eef..6de79ccd 100644 --- a/rdflib/plugins/stores/auditable.py +++ b/rdflib/plugins/stores/auditable.py @@ -15,10 +15,11 @@ system fails): A and I out of ACID. """ -from rdflib.store import Store -from rdflib import Graph, ConjunctiveGraph import threading +from rdflib import ConjunctiveGraph, Graph +from rdflib.store import Store + destructiveOpLocks = { "add": None, "remove": None, diff --git a/rdflib/plugins/stores/berkeleydb.py b/rdflib/plugins/stores/berkeleydb.py index 511d33df..a19a21f0 100644 --- a/rdflib/plugins/stores/berkeleydb.py +++ b/rdflib/plugins/stores/berkeleydb.py @@ -1,11 +1,12 @@ import logging -from threading import Thread -from os.path import exists, abspath from os import mkdir -from rdflib.store import Store, VALID_STORE, NO_STORE -from rdflib.term import URIRef +from os.path import abspath, exists +from threading import Thread from urllib.request import pathname2url +from rdflib.store import NO_STORE, VALID_STORE, Store +from rdflib.term import URIRef + def bb(u): return u.encode("utf-8") diff --git a/rdflib/plugins/stores/regexmatching.py b/rdflib/plugins/stores/regexmatching.py index f890405d..f831d247 100644 --- a/rdflib/plugins/stores/regexmatching.py +++ b/rdflib/plugins/stores/regexmatching.py @@ -8,12 +8,11 @@ provides the support by replacing the REGEXTerms by wildcards (None) and matching against the results from the store it's wrapping. """ -from rdflib.store import Store -from rdflib.graph import Graph - - import re +from rdflib.graph import Graph +from rdflib.store import Store + # Store is capable of doing its own REGEX matching NATIVE_REGEX = 0 # Store uses Python's re module internally for REGEX matching diff --git a/rdflib/plugins/stores/sparqlconnector.py b/rdflib/plugins/stores/sparqlconnector.py index 65799077..cc9b0c96 100644 --- a/rdflib/plugins/stores/sparqlconnector.py +++ b/rdflib/plugins/stores/sparqlconnector.py @@ -1,14 +1,13 @@ -import logging -from typing import Optional, TYPE_CHECKING, Tuple -from urllib.request import urlopen, Request -from urllib.parse import urlencode -from urllib.error import HTTPError, URLError import base64 - +import logging from io import BytesIO +from typing import TYPE_CHECKING, Optional, Tuple +from urllib.error import HTTPError, URLError +from urllib.parse import urlencode +from urllib.request import Request, urlopen -from rdflib.query import Result from rdflib import BNode +from rdflib.query import Result log = logging.getLogger(__name__) diff --git a/rdflib/plugins/stores/sparqlstore.py b/rdflib/plugins/stores/sparqlstore.py index 292fca31..241511cf 100644 --- a/rdflib/plugins/stores/sparqlstore.py +++ b/rdflib/plugins/stores/sparqlstore.py @@ -5,18 +5,17 @@ This is an RDFLib store around Ivan Herman et al.'s SPARQL service wrapper. This was first done in layer-cake, and then ported to RDFLib """ -import re import collections +import re +from typing import Any, Callable, Dict, Optional, Tuple, Union -from .sparqlconnector import SPARQLConnector - +from rdflib import BNode, Variable +from rdflib.graph import DATASET_DEFAULT_GRAPH_ID from rdflib.plugins.stores.regexmatching import NATIVE_REGEX - from rdflib.store import Store -from rdflib import Variable, BNode -from rdflib.graph import DATASET_DEFAULT_GRAPH_ID from rdflib.term import Node -from typing import Any, Callable, Dict, Optional, Union, Tuple + +from .sparqlconnector import SPARQLConnector # Defines some SPARQL keywords LIMIT = "LIMIT" diff --git a/rdflib/query.py b/rdflib/query.py index 1312f180..c441a0bc 100644 --- a/rdflib/query.py +++ b/rdflib/query.py @@ -1,13 +1,11 @@ -import os import itertools +import os import shutil import tempfile -import warnings import types -from typing import IO, TYPE_CHECKING, List, Optional, Union, cast - +import warnings from io import BytesIO - +from typing import IO, TYPE_CHECKING, List, Optional, Union, cast from urllib.parse import urlparse __all__ = ["Processor", "Result", "ResultParser", "ResultSerializer", "ResultException"] diff --git a/rdflib/resource.py b/rdflib/resource.py index e7995235..9341b520 100644 --- a/rdflib/resource.py +++ b/rdflib/resource.py @@ -286,9 +286,9 @@ objects:: """ -from rdflib.term import Node, BNode, URIRef from rdflib.namespace import RDF from rdflib.paths import Path +from rdflib.term import BNode, Node, URIRef __all__ = ["Resource"] diff --git a/rdflib/serializer.py b/rdflib/serializer.py index 15a91d96..064232b5 100644 --- a/rdflib/serializer.py +++ b/rdflib/serializer.py @@ -11,6 +11,7 @@ See also rdflib.plugin """ from typing import IO, TYPE_CHECKING, Optional + from rdflib.term import URIRef if TYPE_CHECKING: diff --git a/rdflib/store.py b/rdflib/store.py index 7809c82b..9a9c17f6 100644 --- a/rdflib/store.py +++ b/rdflib/store.py @@ -1,11 +1,12 @@ -from io import BytesIO import pickle +from io import BytesIO +from typing import TYPE_CHECKING, Iterable, Optional, Tuple + from rdflib.events import Dispatcher, Event -from typing import Tuple, TYPE_CHECKING, Iterable, Optional if TYPE_CHECKING: - from rdflib.term import Node, IdentifiedNode from rdflib.graph import Graph + from rdflib.term import IdentifiedNode, Node """ ============ @@ -154,11 +155,8 @@ class Store(object): @property def node_pickler(self): if self.__node_pickler is None: - from rdflib.term import URIRef - from rdflib.term import BNode - from rdflib.term import Literal from rdflib.graph import Graph, QuotedGraph - from rdflib.term import Variable + from rdflib.term import BNode, Literal, URIRef, Variable self.__node_pickler = np = NodePickler() np.register(self, "S") diff --git a/rdflib/term.py b/rdflib/term.py index 2e577f4d..7b57585d 100644 --- a/rdflib/term.py +++ b/rdflib/term.py @@ -21,7 +21,6 @@ underlying Graph: """ import re - from fractions import Fraction __all__ = [ @@ -37,51 +36,44 @@ __all__ = [ ] import logging -import warnings import math - +import warnings import xml.dom.minidom - -from datetime import date, time, datetime, timedelta -from re import sub, compile -from collections import defaultdict - -from isodate import ( - parse_time, - parse_date, - parse_datetime, - Duration, - parse_duration, - duration_isoformat, -) from base64 import b64decode, b64encode from binascii import hexlify, unhexlify - -import rdflib -from rdflib.compat import long_type - -from urllib.parse import urldefrag -from urllib.parse import urljoin -from urllib.parse import urlparse - +from collections import defaultdict +from datetime import date, datetime, time, timedelta from decimal import Decimal +from re import compile, sub from typing import ( TYPE_CHECKING, Any, - Dict, Callable, + Dict, List, Optional, Tuple, + Type, TypeVar, Union, - Type, +) +from urllib.parse import urldefrag, urljoin, urlparse + +from isodate import ( + Duration, + duration_isoformat, + parse_date, + parse_datetime, + parse_duration, + parse_time, ) +import rdflib +from rdflib.compat import long_type if TYPE_CHECKING: - from .paths import AlternativePath, InvPath, NegatedPath, SequencePath, Path from .namespace import NamespaceManager + from .paths import AlternativePath, InvPath, NegatedPath, Path, SequencePath logger = logging.getLogger(__name__) skolem_genid = "/.well-known/genid/" diff --git a/rdflib/tools/csv2rdf.py b/rdflib/tools/csv2rdf.py index a8aefba2..0179629f 100644 --- a/rdflib/tools/csv2rdf.py +++ b/rdflib/tools/csv2rdf.py @@ -7,17 +7,16 @@ try: ``csv2rdf --help`` """ -import sys -import re +import codecs +import configparser import csv -import getopt +import datetime import fileinput -import codecs +import getopt +import re +import sys import time -import datetime import warnings - -import configparser from urllib.parse import quote import rdflib diff --git a/rdflib/tools/defined_namespace_creator.py b/rdflib/tools/defined_namespace_creator.py index c2afc8b8..2cfe99f2 100644 --- a/rdflib/tools/defined_namespace_creator.py +++ b/rdflib/tools/defined_namespace_creator.py @@ -10,10 +10,10 @@ namespace: Nicholas J. Car, Dec, 2021 """ -import sys -from pathlib import Path import argparse import datetime +import sys +from pathlib import Path sys.path.append(str(Path(__file__).parent.absolute().parent.parent)) diff --git a/rdflib/tools/graphisomorphism.py b/rdflib/tools/graphisomorphism.py index fbb31c0e..004b567b 100644 --- a/rdflib/tools/graphisomorphism.py +++ b/rdflib/tools/graphisomorphism.py @@ -3,10 +3,10 @@ A commandline tool for testing if RDF graphs are isomorpic, i.e. equal if BNode labels are ignored. """ -from rdflib import Graph -from rdflib import BNode from itertools import combinations +from rdflib import BNode, Graph + class IsomorphicTestableGraph(Graph): """ diff --git a/rdflib/tools/rdf2dot.py b/rdflib/tools/rdf2dot.py index afaabd31..c59f78b8 100644 --- a/rdflib/tools/rdf2dot.py +++ b/rdflib/tools/rdf2dot.py @@ -9,13 +9,12 @@ You can draw the graph of an RDF file directly: """ -import rdflib -import rdflib.extras.cmdlineutils - -import sys -import html import collections +import html +import sys +import rdflib +import rdflib.extras.cmdlineutils from rdflib import XSD LABEL_PROPERTIES = [ diff --git a/rdflib/tools/rdfs2dot.py b/rdflib/tools/rdfs2dot.py index 97a4b975..69ecfba5 100644 --- a/rdflib/tools/rdfs2dot.py +++ b/rdflib/tools/rdfs2dot.py @@ -9,15 +9,12 @@ You can draw the graph of an RDFS file directly: rdf2dot my_rdfs_file.rdf | dot -Tpng | display """ -import rdflib.extras.cmdlineutils - -import sys -import itertools import collections +import itertools +import sys - -from rdflib import XSD, RDF, RDFS - +import rdflib.extras.cmdlineutils +from rdflib import RDF, RDFS, XSD XSDTERMS = [ XSD[x] diff --git a/rdflib/util.py b/rdflib/util.py index a77d7300..1df63f06 100644 --- a/rdflib/util.py +++ b/rdflib/util.py @@ -21,24 +21,16 @@ Date/time utilities """ from calendar import timegm -from time import altzone -from typing import Optional +from os.path import splitext # from time import daylight -from time import gmtime -from time import localtime -from time import time -from time import timezone - -from os.path import splitext +from time import altzone, gmtime, localtime, time, timezone +from typing import Optional import rdflib.graph # avoid circular dependency -from rdflib.namespace import Namespace, XSD -from rdflib.namespace import NamespaceManager -from rdflib.term import BNode -from rdflib.term import Literal -from rdflib.term import URIRef from rdflib.compat import sign +from rdflib.namespace import XSD, Namespace, NamespaceManager +from rdflib.term import BNode, Literal, URIRef __all__ = [ "list2set", diff --git a/rdflib/void.py b/rdflib/void.py index 92a0e0be..38f1831e 100644 --- a/rdflib/void.py +++ b/rdflib/void.py @@ -1,7 +1,7 @@ import collections -from rdflib import URIRef, Graph, Literal -from rdflib.namespace import VOID, RDF +from rdflib import Graph, Literal, URIRef +from rdflib.namespace import RDF, VOID def generateVoID(g, dataset=None, res=None, distinctForPartitions=True): diff --git a/test/data.py b/test/data.py index db184fb0..574aa7e8 100644 --- a/test/data.py +++ b/test/data.py @@ -1,6 +1,7 @@ -from rdflib import URIRef from pathlib import Path +from rdflib import URIRef + TEST_DIR = Path(__file__).parent CONSISTENT_DATA_DIR = TEST_DIR / "consistent_test_data" diff --git a/test/earl.py b/test/earl.py index dc8cfec1..8b7ba896 100644 --- a/test/earl.py +++ b/test/earl.py @@ -9,7 +9,6 @@ from test.manifest import RDFT from typing import TYPE_CHECKING, Generator, Optional, Tuple, cast import pytest - from pytest import Item from rdflib import RDF, BNode, Graph, Literal, Namespace, URIRef diff --git a/test/helper.py b/test/helper.py index ef4a2314..21bd9d9d 100644 --- a/test/helper.py +++ b/test/helper.py @@ -4,7 +4,6 @@ import urllib.error import rdflib import rdflib.query - MAX_RETRY = 10 BACKOFF_FACTOR = 1.5 diff --git a/test/jsonld/__init__.py b/test/jsonld/__init__.py index bbfe4642..50f09098 100644 --- a/test/jsonld/__init__.py +++ b/test/jsonld/__init__.py @@ -1,6 +1,4 @@ -from rdflib import plugin -from rdflib import serializer -from rdflib import parser +from rdflib import parser, plugin, serializer assert plugin assert serializer diff --git a/test/jsonld/runner.py b/test/jsonld/runner.py index 1f84f7fe..f108308c 100644 --- a/test/jsonld/runner.py +++ b/test/jsonld/runner.py @@ -1,15 +1,16 @@ # -*- coding: UTF-8 -*- import json from functools import partial + from rdflib import ConjunctiveGraph from rdflib.compare import isomorphic from rdflib.parser import InputSource -from rdflib.plugins.parsers.jsonld import to_rdf, JsonLDParser -from rdflib.plugins.serializers.jsonld import from_rdf -from rdflib.plugins.shared.jsonld.keys import CONTEXT, GRAPH +from rdflib.plugins.parsers.jsonld import JsonLDParser, to_rdf # monkey-patch N-Quads parser via it's underlying W3CNTriplesParser to keep source bnode id:s .. -from rdflib.plugins.parsers.ntriples import W3CNTriplesParser, r_nodeid, bNode +from rdflib.plugins.parsers.ntriples import W3CNTriplesParser, bNode, r_nodeid +from rdflib.plugins.serializers.jsonld import from_rdf +from rdflib.plugins.shared.jsonld.keys import CONTEXT, GRAPH def _preserving_nodeid(self, bnode_context=None): diff --git a/test/jsonld/test_api.py b/test/jsonld/test_api.py index c153fec5..265c9fd5 100644 --- a/test/jsonld/test_api.py +++ b/test/jsonld/test_api.py @@ -1,5 +1,5 @@ # -*- coding: UTF-8 -*- -from rdflib.plugin import register, Parser, Serializer +from rdflib.plugin import Parser, Serializer, register register("json-ld", Parser, "rdflib.plugins.parsers.jsonld", "JsonLDParser") register("json-ld", Serializer, "rdflib.plugins.serializers.jsonld", "JsonLDSerializer") diff --git a/test/jsonld/test_compaction.py b/test/jsonld/test_compaction.py index e3db6fd4..88bcce87 100644 --- a/test/jsonld/test_compaction.py +++ b/test/jsonld/test_compaction.py @@ -1,12 +1,13 @@ # -*- coding: UTF-8 -*- -import re -import json import itertools +import json +import re import pytest + from rdflib import Graph -from rdflib.plugin import register, Serializer +from rdflib.plugin import Serializer, register register("json-ld", Serializer, "rdflib.plugins.serializers.jsonld", "JsonLDSerializer") diff --git a/test/jsonld/test_context.py b/test/jsonld/test_context.py index df0269ba..43b82a76 100644 --- a/test/jsonld/test_context.py +++ b/test/jsonld/test_context.py @@ -4,9 +4,9 @@ JSON-LD Context Spec from functools import wraps from typing import Any, Dict + +from rdflib.plugins.shared.jsonld import context, errors from rdflib.plugins.shared.jsonld.context import Context, Term -from rdflib.plugins.shared.jsonld import context -from rdflib.plugins.shared.jsonld import errors # exception utility (see also nose.tools.raises) diff --git a/test/jsonld/test_localsuite.py b/test/jsonld/test_localsuite.py index 820b44f9..8d7e30b7 100644 --- a/test/jsonld/test_localsuite.py +++ b/test/jsonld/test_localsuite.py @@ -1,12 +1,13 @@ -import os -from os import environ, chdir, getcwd, path as p import json +import os +from os import chdir, environ, getcwd +from os import path as p import pytest from rdflib.term import URIRef -from . import runner +from . import runner TC_BASE = "http://rdflib.net/rdflib-jsonld/local-testsuite/" diff --git a/test/jsonld/test_named_graphs.py b/test/jsonld/test_named_graphs.py index 4f8bbeab..4c544621 100644 --- a/test/jsonld/test_named_graphs.py +++ b/test/jsonld/test_named_graphs.py @@ -1,6 +1,6 @@ # -*- coding: UTF-8 -*- from rdflib import * -from rdflib.plugin import register, Parser +from rdflib.plugin import Parser, register register("json-ld", Parser, "rdflib.plugins.parsers.jsonld", "JsonLDParser") register("application/ld+json", Parser, "rdflib.plugins.parsers.jsonld", "JsonLDParser") diff --git a/test/jsonld/test_onedotone.py b/test/jsonld/test_onedotone.py index 698c65ee..bfb30ef8 100644 --- a/test/jsonld/test_onedotone.py +++ b/test/jsonld/test_onedotone.py @@ -1,14 +1,14 @@ -from os import environ, chdir, getcwd, path as p import json import os +from os import chdir, environ, getcwd +from os import path as p from typing import Tuple - import pytest from rdflib.term import URIRef -from . import runner +from . import runner TC_BASE = "https://w3c.github.io/json-ld-api/tests/toRdf/" diff --git a/test/jsonld/test_pythonparse.py b/test/jsonld/test_pythonparse.py index 2957cb37..312ce0b1 100644 --- a/test/jsonld/test_pythonparse.py +++ b/test/jsonld/test_pythonparse.py @@ -1,6 +1,7 @@ +import json + from rdflib import Graph from rdflib.compare import isomorphic -import json def test_wrap(): diff --git a/test/jsonld/test_testsuite.py b/test/jsonld/test_testsuite.py index d64711a3..db54b19a 100644 --- a/test/jsonld/test_testsuite.py +++ b/test/jsonld/test_testsuite.py @@ -1,13 +1,15 @@ -from os import environ, chdir, getcwd, path as p import json +from os import chdir, environ, getcwd +from os import path as p from typing import Tuple import pytest + import rdflib import rdflib.plugins.parsers.jsonld as parser from rdflib.term import URIRef -from . import runner +from . import runner unsupported_tests: Tuple[str, ...] = ("frame", "normalize") unsupported_tests += ( diff --git a/test/plugins/parser/example/rdflib/plugin/parser/__init__.py b/test/plugins/parser/example/rdflib/plugin/parser/__init__.py index d2df6d26..6aae6025 100644 --- a/test/plugins/parser/example/rdflib/plugin/parser/__init__.py +++ b/test/plugins/parser/example/rdflib/plugin/parser/__init__.py @@ -1,11 +1,11 @@ from typing import TYPE_CHECKING, Set, Tuple -from rdflib.parser import Parser +from rdflib.parser import Parser if TYPE_CHECKING: - from rdflib.parser import InputSource from rdflib.graph import Graph from rdflib.namespace import Namespace + from rdflib.parser import InputSource from rdflib.term import Identifier diff --git a/test/test_batch_add.py b/test/test_batch_add.py index 43457e5e..ec9cece7 100644 --- a/test/test_batch_add.py +++ b/test/test_batch_add.py @@ -1,5 +1,6 @@ import unittest -from rdflib.graph import Graph, BatchAddGraph + +from rdflib.graph import BatchAddGraph, Graph from rdflib.term import URIRef diff --git a/test/test_conjunctivegraph/test_conjunctive_graph.py b/test/test_conjunctivegraph/test_conjunctive_graph.py index 0cbe0077..67078e5f 100644 --- a/test/test_conjunctivegraph/test_conjunctive_graph.py +++ b/test/test_conjunctivegraph/test_conjunctive_graph.py @@ -2,13 +2,13 @@ Tests for ConjunctiveGraph that do not depend on the underlying store """ +from os import path + import pytest from rdflib import ConjunctiveGraph, Graph -from rdflib.term import Identifier, URIRef, BNode from rdflib.parser import StringInputSource -from os import path - +from rdflib.term import BNode, Identifier, URIRef DATA = """ <http://example.org/record/1> a <http://xmlns.com/foaf/0.1/Document> . diff --git a/test/test_conjunctivegraph/test_conjunctivegraph_generators.py b/test/test_conjunctivegraph/test_conjunctivegraph_generators.py index 339e93f8..e4e3d387 100644 --- a/test/test_conjunctivegraph/test_conjunctivegraph_generators.py +++ b/test/test_conjunctivegraph/test_conjunctivegraph_generators.py @@ -1,6 +1,6 @@ import os -from rdflib import ConjunctiveGraph, URIRef +from rdflib import ConjunctiveGraph, URIRef timblcardn3 = open( os.path.join( diff --git a/test/test_conjunctivegraph/test_conjunctivegraph_operator_combinations.py b/test/test_conjunctivegraph/test_conjunctivegraph_operator_combinations.py index aa371c9a..d74cd859 100644 --- a/test/test_conjunctivegraph/test_conjunctivegraph_operator_combinations.py +++ b/test/test_conjunctivegraph/test_conjunctivegraph_operator_combinations.py @@ -1,10 +1,6 @@ import os -from rdflib import ( - Graph, - ConjunctiveGraph, - URIRef, -) +from rdflib import ConjunctiveGraph, Graph, URIRef michel = URIRef("urn:example:michel") tarek = URIRef("urn:example:tarek") diff --git a/test/test_container.py b/test/test_container.py index ce0232f3..2d73a358 100644 --- a/test/test_container.py +++ b/test/test_container.py @@ -1,8 +1,8 @@ -from rdflib.term import BNode
-from rdflib.term import Literal
+import unittest
+
from rdflib import Graph
from rdflib.container import Alt, Bag, Seq
-import unittest
+from rdflib.term import BNode, Literal
class TestContainer(unittest.TestCase):
diff --git a/test/test_dawg.py b/test/test_dawg.py index 67ab0d44..864862d5 100644 --- a/test/test_dawg.py +++ b/test/test_dawg.py @@ -1,45 +1,41 @@ from __future__ import print_function import os -from pathlib import PurePath import sys from io import TextIOWrapper +from pathlib import PurePath # Needed to pass # http://www.w3.org/2009/sparql/docs/tests/data-sparql11/ # syntax-update-2/manifest#syntax-update-other-01 from test import TEST_DIR -from test.manifest import UP, MF, RDFTest, ResultType, read_manifest -import pytest - +from test.manifest import MF, UP, RDFTest, ResultType, read_manifest from test.testutils import file_uri_to_path -sys.setrecursionlimit(6000) # default is 1000 - +import pytest -from collections import Counter +sys.setrecursionlimit(6000) # default is 1000 import datetime -import isodate import typing -from typing import Dict, Callable, List, Optional, Tuple, cast +from collections import Counter +from io import BytesIO +from typing import Callable, Dict, List, Optional, Tuple, cast +from urllib.parse import urljoin +import isodate -from rdflib import Dataset, Graph, URIRef, BNode -from rdflib.term import Identifier, Node -from rdflib.query import Result +from rdflib import BNode, Dataset, Graph, URIRef from rdflib.compare import isomorphic - +from rdflib.compat import bopen, decodeStringEscape from rdflib.plugins import sparql as rdflib_sparql_module from rdflib.plugins.sparql.algebra import pprintAlgebra, translateQuery, translateUpdate from rdflib.plugins.sparql.parser import parseQuery, parseUpdate from rdflib.plugins.sparql.results.rdfresults import RDFResultParser from rdflib.plugins.sparql.update import evalUpdate - -from rdflib.compat import decodeStringEscape, bopen -from urllib.parse import urljoin -from io import BytesIO +from rdflib.query import Result +from rdflib.term import Identifier, Node def eq(a, b, msg): diff --git a/test/test_definednamespace.py b/test/test_definednamespace.py index 126fa5a6..124c7228 100644 --- a/test/test_definednamespace.py +++ b/test/test_definednamespace.py @@ -1,8 +1,9 @@ -import sys +import json import subprocess +import sys from pathlib import Path + from rdflib import RDF, SKOS -import json def test_definednamespace_creator_qb(): diff --git a/test/test_events.py b/test/test_events.py index 6b413781..4305d1a3 100644 --- a/test/test_events.py +++ b/test/test_events.py @@ -1,4 +1,5 @@ import unittest + from rdflib import events diff --git a/test/test_extras_external_graph_libs.py b/test/test_extras_external_graph_libs.py index 89248060..9c610b50 100644 --- a/test/test_extras_external_graph_libs.py +++ b/test/test_extras_external_graph_libs.py @@ -1,15 +1,18 @@ -from rdflib import Graph, URIRef, Literal import pytest +from rdflib import Graph, Literal, URIRef + def test_rdflib_to_networkx(): try: import networkx except ImportError: pytest.skip("couldn't find networkx") - from rdflib.extras.external_graph_libs import rdflib_to_networkx_multidigraph - from rdflib.extras.external_graph_libs import rdflib_to_networkx_digraph - from rdflib.extras.external_graph_libs import rdflib_to_networkx_graph + from rdflib.extras.external_graph_libs import ( + rdflib_to_networkx_digraph, + rdflib_to_networkx_graph, + rdflib_to_networkx_multidigraph, + ) g = Graph() a, b, l = URIRef("a"), URIRef("b"), Literal("l") diff --git a/test/test_graph/test_aggregate_graphs.py b/test/test_graph/test_aggregate_graphs.py index cc8de8ec..12309684 100644 --- a/test/test_graph/test_aggregate_graphs.py +++ b/test/test_graph/test_aggregate_graphs.py @@ -1,10 +1,10 @@ -from rdflib.namespace import RDF, RDFS -from rdflib import logger, plugin from io import StringIO -from rdflib.term import URIRef -from rdflib.store import Store -from rdflib.graph import Graph, ConjunctiveGraph, ReadOnlyGraphAggregate +from rdflib import logger, plugin +from rdflib.graph import ConjunctiveGraph, Graph, ReadOnlyGraphAggregate +from rdflib.namespace import RDF, RDFS +from rdflib.store import Store +from rdflib.term import URIRef testGraph1N3 = """ @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . diff --git a/test/test_graph/test_canonicalization.py b/test/test_graph/test_canonicalization.py index 1ae9d720..8ce1c782 100644 --- a/test/test_graph/test_canonicalization.py +++ b/test/test_graph/test_canonicalization.py @@ -1,19 +1,17 @@ +import unittest from collections import Counter +from io import StringIO +from test.testutils import GraphHelper from typing import Set, Tuple import pytest -from rdflib.term import Node -from rdflib import Graph, RDF, BNode, URIRef, Namespace, ConjunctiveGraph, Literal -from rdflib.namespace import FOAF -from rdflib.compare import to_isomorphic, to_canonical_graph import rdflib +from rdflib import RDF, BNode, ConjunctiveGraph, Graph, Literal, Namespace, URIRef +from rdflib.compare import to_canonical_graph, to_isomorphic +from rdflib.namespace import FOAF from rdflib.plugins.stores.memory import Memory - -from io import StringIO -import unittest - -from test.testutils import GraphHelper +from rdflib.term import Node def get_digest_value(rdf, mimetype): diff --git a/test/test_graph/test_diff.py b/test/test_graph/test_diff.py index e749a3c2..318eb7a1 100644 --- a/test/test_graph/test_diff.py +++ b/test/test_graph/test_diff.py @@ -1,12 +1,13 @@ -from typing import Set, Tuple import unittest +from test.testutils import GraphHelper +from typing import Set, Tuple from unittest.case import expectedFailure + import rdflib -from rdflib.compare import graph_diff -from rdflib.namespace import RDF, FOAF from rdflib import Graph -from rdflib.term import Node, BNode, Literal -from test.testutils import GraphHelper +from rdflib.compare import graph_diff +from rdflib.namespace import FOAF, RDF +from rdflib.term import BNode, Literal, Node """Test for graph_diff - much more extensive testing would certainly be possible""" diff --git a/test/test_graph/test_graph.py b/test/test_graph/test_graph.py index 4dd54b14..35fb481a 100644 --- a/test/test_graph/test_graph.py +++ b/test/test_graph/test_graph.py @@ -1,29 +1,26 @@ # -*- coding: utf-8 -*- import logging -import sys import os -from typing import Callable, Optional, Set +import shutil +import sys import unittest - +from pathlib import Path from tempfile import mkdtemp, mkstemp -import shutil -from urllib.error import URLError, HTTPError +from test.data import bob, cheese, hates, likes, michel, pizza, tarek +from test.testutils import GraphHelper, get_unique_plugin_names +from typing import Callable, Optional, Set +from urllib.error import HTTPError, URLError import pytest -from rdflib import URIRef, Graph, plugin +from rdflib import Graph, URIRef, plugin from rdflib.exceptions import ParserError -from rdflib.plugin import PluginException from rdflib.namespace import Namespace, NamespaceManager - -from pathlib import Path +from rdflib.plugin import PluginException +from rdflib.plugins.stores.berkeleydb import has_bsddb from rdflib.store import Store from rdflib.term import BNode -from test.testutils import GraphHelper, get_unique_plugin_names -from test.data import tarek, likes, pizza, michel, hates, cheese, bob -from rdflib.plugins.stores.berkeleydb import has_bsddb - def test_property_store() -> None: """ @@ -32,6 +29,7 @@ def test_property_store() -> None: graph = Graph() assert isinstance(graph.store, Store) + def test_property_identifier_default() -> None: """ The default identifier for a graph is a `rdflib.term.BNode`. @@ -39,6 +37,7 @@ def test_property_identifier_default() -> None: graph = Graph() assert isinstance(graph.identifier, BNode) + def test_property_identifier() -> None: """ The ``identifier`` property works correctly. @@ -47,6 +46,7 @@ def test_property_identifier() -> None: graph = Graph(identifier=id) assert id == graph.identifier + def test_property_namespace_manager() -> None: """ The ``namespace_manager`` property works correctly. @@ -67,15 +67,17 @@ def test_property_namespace_manager() -> None: def get_store_names() -> Set[Optional[str]]: names: Set[Optional[str]] = {*get_unique_plugin_names(plugin.Store)} - names.difference_update({ - "default", - "Memory", - "Auditable", - "Concurrent", - "SPARQLStore", - "SPARQLUpdateStore", - "SimpleMemory", - }) + names.difference_update( + { + "default", + "Memory", + "Auditable", + "Concurrent", + "SPARQLStore", + "SPARQLUpdateStore", + "SimpleMemory", + } + ) names.add(None) if not has_bsddb: names.remove("BerkeleyDB") @@ -115,6 +117,7 @@ def populate_graph(graph: Graph): graph.add((bob, hates, pizza)) graph.add((bob, hates, michel)) # gasp! + def depopulate_graph(graph: Graph): graph.remove((tarek, likes, pizza)) graph.remove((tarek, likes, cheese)) @@ -124,15 +127,18 @@ def depopulate_graph(graph: Graph): graph.remove((bob, hates, pizza)) graph.remove((bob, hates, michel)) # gasp! + def test_add(make_graph: GraphFactory): graph = make_graph() populate_graph(graph) + def test_remove(make_graph: GraphFactory): graph = make_graph() populate_graph(graph) depopulate_graph(graph) + def test_triples(make_graph: GraphFactory): graph = make_graph() triples = graph.triples @@ -177,6 +183,7 @@ def test_triples(make_graph: GraphFactory): depopulate_graph(graph) assert len(list(triples((Any, Any, Any)))) == 0 + def test_connected(make_graph: GraphFactory): graph = make_graph() populate_graph(graph) @@ -189,6 +196,7 @@ def test_connected(make_graph: GraphFactory): assert graph.connected() is False + def test_graph_sub(make_graph: GraphFactory): g1 = make_graph() g2 = make_graph() @@ -214,6 +222,7 @@ def test_graph_sub(make_graph: GraphFactory): assert (bob, likes, cheese) not in g1 + def test_graph_add(make_graph: GraphFactory): g1 = make_graph() g2 = make_graph() @@ -237,6 +246,7 @@ def test_graph_add(make_graph: GraphFactory): assert (bob, likes, cheese) in g1 + def test_graph_intersection(make_graph: GraphFactory): g1 = make_graph() g2 = make_graph() @@ -268,6 +278,7 @@ def test_graph_intersection(make_graph: GraphFactory): assert (michel, likes, cheese) in g1 + def test_guess_format_for_parse(make_graph: GraphFactory): graph = make_graph() @@ -332,23 +343,23 @@ def test_guess_format_for_parse(make_graph: GraphFactory): try: # persistent Australian Government online RDF resource without a file-like ending - graph.parse( - location="https://linked.data.gov.au/def/agrif?_format=text/turtle" - ) + graph.parse(location="https://linked.data.gov.au/def/agrif?_format=text/turtle") except (URLError, HTTPError): # this endpoint is currently not available, ignore this test. pass + def test_parse_file_uri(make_graph: GraphFactory): EG = Namespace("http://example.org/#") g = make_graph() g.parse(Path("./test/nt/simple-04.nt").absolute().as_uri()) triple_set = GraphHelper.triple_set(g) assert triple_set == { - (EG["Subject"], EG["predicate"], EG["ObjectP"]), - (EG["Subject"], EG["predicate"], EG["ObjectQ"]), - (EG["Subject"], EG["predicate"], EG["ObjectR"]), - } + (EG["Subject"], EG["predicate"], EG["ObjectP"]), + (EG["Subject"], EG["predicate"], EG["ObjectQ"]), + (EG["Subject"], EG["predicate"], EG["ObjectR"]), + } + def test_transitive(make_graph: GraphFactory): person = URIRef("ex:person") @@ -370,14 +381,26 @@ def test_transitive(make_graph: GraphFactory): g.add((mom, parent, dad_of_mom)) # transitive parents of person - assert set(g.transitive_objects(subject=person, predicate=parent)) == {person, dad, mom_of_dad, dad_of_dad, mom, mom_of_mom, dad_of_mom} + assert set(g.transitive_objects(subject=person, predicate=parent)) == { + person, + dad, + mom_of_dad, + dad_of_dad, + mom, + mom_of_mom, + dad_of_mom, + } # transitive parents of dad assert set(g.transitive_objects(dad, parent)) == {dad, mom_of_dad, dad_of_dad} # transitive parents of dad_of_dad assert set(g.transitive_objects(dad_of_dad, parent)) == {dad_of_dad} # transitive children (inverse of parents) of mom_of_mom - assert set(g.transitive_subjects(predicate=parent, object=mom_of_mom)) == {mom_of_mom, mom, person} + assert set(g.transitive_subjects(predicate=parent, object=mom_of_mom)) == { + mom_of_mom, + mom, + person, + } # transitive children (inverse of parents) of mom assert set(g.transitive_subjects(parent, mom)) == {mom, person} # transitive children (inverse of parents) of person diff --git a/test/test_graph/test_graph_cbd.py b/test/test_graph/test_graph_cbd.py index 9d02f7c5..2a42dd0a 100644 --- a/test/test_graph/test_graph_cbd.py +++ b/test/test_graph/test_graph_cbd.py @@ -1,6 +1,6 @@ import pytest -from rdflib import Graph, Namespace +from rdflib import Graph, Namespace """Tests the Graph class' cbd() function""" diff --git a/test/test_graph/test_graph_context.py b/test/test_graph/test_graph_context.py index 489702d6..9e0b712a 100644 --- a/test/test_graph/test_graph_context.py +++ b/test/test_graph/test_graph_context.py @@ -1,12 +1,12 @@ -import sys import os +import shutil +import sys import unittest - from tempfile import mkdtemp, mkstemp -import shutil import pytest -from rdflib import Graph, ConjunctiveGraph, URIRef, BNode, plugin + +from rdflib import BNode, ConjunctiveGraph, Graph, URIRef, plugin class ContextTestCase(unittest.TestCase): diff --git a/test/test_graph/test_graph_formula.py b/test/test_graph/test_graph_formula.py index d901771b..71437a5b 100644 --- a/test/test_graph/test_graph_formula.py +++ b/test/test_graph/test_graph_formula.py @@ -1,11 +1,11 @@ -import sys import os +import sys from tempfile import mkdtemp, mkstemp import pytest -from rdflib import RDF, RDFS, URIRef, BNode, Variable, plugin -from rdflib.graph import QuotedGraph, ConjunctiveGraph +from rdflib import RDF, RDFS, BNode, URIRef, Variable, plugin +from rdflib.graph import ConjunctiveGraph, QuotedGraph implies = URIRef("http://www.w3.org/2000/10/swap/log#implies") testN3 = """ diff --git a/test/test_graph/test_graph_generators.py b/test/test_graph/test_graph_generators.py index 288bb2fc..a7a910da 100644 --- a/test/test_graph/test_graph_generators.py +++ b/test/test_graph/test_graph_generators.py @@ -1,16 +1,16 @@ import os -from rdflib import Graph, URIRef from test.data import ( CONSISTENT_DATA_DIR, - michel, - tarek, bob, - likes, + cheese, hates, + likes, + michel, pizza, - cheese, + tarek, ) +from rdflib import Graph, URIRef timblcardn3 = open(os.path.join(CONSISTENT_DATA_DIR, "timbl-card.n3")).read() diff --git a/test/test_graph/test_graph_http.py b/test/test_graph/test_graph_http.py index 4bfe6f27..41ae355a 100644 --- a/test/test_graph/test_graph_http.py +++ b/test/test_graph/test_graph_http.py @@ -1,15 +1,14 @@ -from rdflib import Graph, Namespace - +import unittest from http.server import BaseHTTPRequestHandler -from urllib.error import HTTPError from test.testutils import ( - SimpleHTTPMock, + GraphHelper, MockHTTPResponse, + SimpleHTTPMock, ctx_http_server, - GraphHelper, ) -import unittest +from urllib.error import HTTPError +from rdflib import Graph, Namespace """ Test that correct content negotiation headers are passed diff --git a/test/test_graph/test_graph_items.py b/test/test_graph/test_graph_items.py index bc13c367..55f81e7f 100644 --- a/test/test_graph/test_graph_items.py +++ b/test/test_graph/test_graph_items.py @@ -1,4 +1,4 @@ -from rdflib import Graph, RDF +from rdflib import RDF, Graph def test_recursive_list_detection(): diff --git a/test/test_graph/test_slice.py b/test/test_graph/test_slice.py index 7e3cae8e..61fc2656 100644 --- a/test/test_graph/test_slice.py +++ b/test/test_graph/test_slice.py @@ -1,5 +1,6 @@ +from test.data import bob, cheese, hates, likes, michel, pizza, tarek + from rdflib import Graph, URIRef -from test.data import tarek, likes, pizza, cheese, michel, bob, hates class TestGraphSlice: diff --git a/test/test_infixowl.py b/test/test_infixowl.py index 96ed8d37..1880c883 100644 --- a/test/test_infixowl.py +++ b/test/test_infixowl.py @@ -1,18 +1,18 @@ -from rdflib import BNode, Graph, Literal, Namespace, RDFS, OWL, XSD -from rdflib.namespace import NamespaceManager -from rdflib.util import first +from rdflib import OWL, RDFS, XSD, BNode, Graph, Literal, Namespace from rdflib.extras.infixowl import ( BooleanClass, Class, Collection, DeepClassClear, - Individual, - some, EnumeratedClass, + Individual, Property, Restriction, max, + some, ) +from rdflib.namespace import NamespaceManager +from rdflib.util import first def test_infix_owl_example1(): diff --git a/test/test_issues/test_issue084.py b/test/test_issues/test_issue084.py index 831cbd1c..59ccb0b6 100644 --- a/test/test_issues/test_issue084.py +++ b/test/test_issues/test_issue084.py @@ -1,7 +1,7 @@ from codecs import getreader from io import BytesIO, StringIO -from rdflib import URIRef, Literal +from rdflib import Literal, URIRef from rdflib.graph import Graph rdf = """@prefix skos: diff --git a/test/test_issues/test_issue1043.py b/test/test_issues/test_issue1043.py index 143514e7..c32bc147 100644 --- a/test/test_issues/test_issue1043.py +++ b/test/test_issues/test_issue1043.py @@ -1,9 +1,9 @@ import decimal
-import unittest
import io
import sys
+import unittest
-from rdflib import Graph, Namespace, XSD, RDFS, Literal
+from rdflib import RDFS, XSD, Graph, Literal, Namespace
class TestIssue1043(unittest.TestCase):
diff --git a/test/test_issues/test_issue1141.py b/test/test_issues/test_issue1141.py index 572ab395..85a1c2c6 100644 --- a/test/test_issues/test_issue1141.py +++ b/test/test_issues/test_issue1141.py @@ -1,8 +1,8 @@ import unittest from rdflib import Graph -from rdflib.plugins.stores.memory import Memory, SimpleMemory from rdflib.plugins.stores.auditable import AuditableStore +from rdflib.plugins.stores.memory import Memory, SimpleMemory class TestIssue1141(unittest.TestCase): diff --git a/test/test_issues/test_issue1160.py b/test/test_issues/test_issue1160.py index 3aba0ecc..7457f16a 100644 --- a/test/test_issues/test_issue1160.py +++ b/test/test_issues/test_issue1160.py @@ -2,7 +2,6 @@ import unittest from unittest import mock import rdflib - from rdflib import ConjunctiveGraph from rdflib.parser import URLInputSource diff --git a/test/test_issues/test_issue1404.py b/test/test_issues/test_issue1404.py index 2d40204a..15b0285e 100644 --- a/test/test_issues/test_issue1404.py +++ b/test/test_issues/test_issue1404.py @@ -1,6 +1,6 @@ -from rdflib import Graph, URIRef, FOAF -from rdflib.term import RDFLibGenid +from rdflib import FOAF, Graph, URIRef from rdflib.compare import isomorphic +from rdflib.term import RDFLibGenid def test_skolem_de_skolem_roundtrip(): diff --git a/test/test_issues/test_issue1484.py b/test/test_issues/test_issue1484.py index c86702bb..d0353a99 100644 --- a/test/test_issues/test_issue1484.py +++ b/test/test_issues/test_issue1484.py @@ -1,7 +1,8 @@ -import unittest import io import json -from rdflib import Graph, RDF, RDFS, Namespace +import unittest + +from rdflib import RDF, RDFS, Graph, Namespace class TestIssue1484_json(unittest.TestCase): diff --git a/test/test_issues/test_issue160.py b/test/test_issues/test_issue160.py index 67f56d83..c9fddcb9 100644 --- a/test/test_issues/test_issue160.py +++ b/test/test_issues/test_issue160.py @@ -1,6 +1,6 @@ from unittest import TestCase -from rdflib import ConjunctiveGraph -from rdflib import Namespace, Literal + +from rdflib import ConjunctiveGraph, Literal, Namespace from rdflib.collection import Collection target1xml = """\ diff --git a/test/test_issues/test_issue161.py b/test/test_issues/test_issue161.py index db15c9b3..936cf6d6 100644 --- a/test/test_issues/test_issue161.py +++ b/test/test_issues/test_issue161.py @@ -1,4 +1,5 @@ from unittest import TestCase + from rdflib.graph import ConjunctiveGraph diff --git a/test/test_issues/test_issue184.py b/test/test_issues/test_issue184.py index c2a39b3f..79ffc91d 100644 --- a/test/test_issues/test_issue184.py +++ b/test/test_issues/test_issue184.py @@ -1,6 +1,5 @@ -from rdflib.term import Literal -from rdflib.term import URIRef from rdflib.graph import ConjunctiveGraph +from rdflib.term import Literal, URIRef def test_escaping_of_triple_doublequotes(): diff --git a/test/test_issues/test_issue190.py b/test/test_issues/test_issue190.py index 458d2390..6c27ec22 100644 --- a/test/test_issues/test_issue190.py +++ b/test/test_issues/test_issue190.py @@ -1,10 +1,11 @@ # -*- coding: utf-8 -*- +import textwrap import unittest +import pytest + from rdflib.graph import ConjunctiveGraph from rdflib.parser import StringInputSource -import textwrap -import pytest prefix = textwrap.dedent( """\ diff --git a/test/test_issues/test_issue209.py b/test/test_issues/test_issue209.py index 61fd6ff2..3d441d6c 100644 --- a/test/test_issues/test_issue209.py +++ b/test/test_issues/test_issue209.py @@ -1,6 +1,7 @@ -import rdflib -import unittest import threading +import unittest + +import rdflib def makeNode(): diff --git a/test/test_issues/test_issue223.py b/test/test_issues/test_issue223.py index ab61d9d8..e491a793 100644 --- a/test/test_issues/test_issue223.py +++ b/test/test_issues/test_issue223.py @@ -1,6 +1,6 @@ +from rdflib.collection import Collection from rdflib.graph import Graph from rdflib.term import URIRef -from rdflib.collection import Collection ttl = """ @prefix : <http://example.org/>. diff --git a/test/test_issues/test_issue247.py b/test/test_issues/test_issue247.py index 1a8c08e2..b44e92f0 100644 --- a/test/test_issues/test_issue247.py +++ b/test/test_issues/test_issue247.py @@ -1,6 +1,7 @@ -import rdflib import unittest +import rdflib + failxml = """\ <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" diff --git a/test/test_issues/test_issue248.py b/test/test_issues/test_issue248.py index 5efd44b0..be403494 100644 --- a/test/test_issues/test_issue248.py +++ b/test/test_issues/test_issue248.py @@ -1,6 +1,7 @@ -import rdflib import unittest +import rdflib + class TestSerialization(unittest.TestCase): def test_issue_248(self): diff --git a/test/test_issues/test_issue274.py b/test/test_issues/test_issue274.py index 291b0f15..bbff8a10 100644 --- a/test/test_issues/test_issue274.py +++ b/test/test_issues/test_issue274.py @@ -1,8 +1,9 @@ from test.testutils import eq_ from unittest import TestCase + import pytest -from rdflib import BNode, Graph, Literal, Namespace, RDFS, XSD +from rdflib import RDFS, XSD, BNode, Graph, Literal, Namespace from rdflib.plugins.sparql.operators import ( register_custom_function, unregister_custom_function, diff --git a/test/test_issues/test_issue363.py b/test/test_issues/test_issue363.py index 93236e65..79df739b 100644 --- a/test/test_issues/test_issue363.py +++ b/test/test_issues/test_issue363.py @@ -1,4 +1,5 @@ import pytest + import rdflib data = """<?xml version="1.0" encoding="utf-8"?> diff --git a/test/test_issues/test_issue446.py b/test/test_issues/test_issue446.py index 6fd21347..20a2aaa1 100644 --- a/test/test_issues/test_issue446.py +++ b/test/test_issues/test_issue446.py @@ -1,7 +1,7 @@ # coding=utf-8 # test for https://github.com/RDFLib/rdflib/issues/446 -from rdflib import Graph, URIRef, Literal +from rdflib import Graph, Literal, URIRef def test_sparql_unicode(): diff --git a/test/test_issues/test_issue545.py b/test/test_issues/test_issue545.py index ea9f185b..c677b2ac 100644 --- a/test/test_issues/test_issue545.py +++ b/test/test_issues/test_issue545.py @@ -1,5 +1,5 @@ +from rdflib.namespace import DC, OWL, RDFS, SKOS from rdflib.plugins import sparql -from rdflib.namespace import RDFS, OWL, DC, SKOS def test_issue(): diff --git a/test/test_issues/test_issue563.py b/test/test_issues/test_issue563.py index 58721236..e930b1a5 100644 --- a/test/test_issues/test_issue563.py +++ b/test/test_issues/test_issue563.py @@ -1,4 +1,4 @@ -from rdflib import BNode, Literal, Graph, Namespace +from rdflib import BNode, Graph, Literal, Namespace from rdflib.compare import isomorphic EX = Namespace("http://example.org/") diff --git a/test/test_issues/test_issue579.py b/test/test_issues/test_issue579.py index 2420e077..f8283f88 100644 --- a/test/test_issues/test_issue579.py +++ b/test/test_issues/test_issue579.py @@ -1,6 +1,6 @@ # test for https://github.com/RDFLib/rdflib/issues/579 -from rdflib import Graph, URIRef, Literal, Namespace +from rdflib import Graph, Literal, Namespace, URIRef from rdflib.namespace import FOAF, RDF diff --git a/test/test_issues/test_issue655.py b/test/test_issues/test_issue655.py index cac449f1..0e852ddc 100644 --- a/test/test_issues/test_issue655.py +++ b/test/test_issues/test_issue655.py @@ -1,6 +1,7 @@ -from decimal import Decimal import unittest -from rdflib import Graph, Namespace, URIRef, Literal, XSD +from decimal import Decimal + +from rdflib import XSD, Graph, Literal, Namespace, URIRef from rdflib.compare import to_isomorphic diff --git a/test/test_issues/test_issue715.py b/test/test_issues/test_issue715.py index a2e21169..5187c5a0 100644 --- a/test/test_issues/test_issue715.py +++ b/test/test_issues/test_issue715.py @@ -5,7 +5,7 @@ zeroOrMore ('*') property paths and specifying neither the subject or the object. """ -from rdflib import URIRef, Graph +from rdflib import Graph, URIRef def test_issue_715(): diff --git a/test/test_issues/test_issue733.py b/test/test_issues/test_issue733.py index a0618b7f..950eacc2 100644 --- a/test/test_issues/test_issue733.py +++ b/test/test_issues/test_issue733.py @@ -5,10 +5,10 @@ zeroOrMore ('*') property paths and specifying neither the subject or the object. """ -from rdflib import URIRef, Graph import unittest -from rdflib.namespace import RDF, RDFS, NamespaceManager, Namespace +from rdflib import Graph, URIRef +from rdflib.namespace import RDF, RDFS, Namespace, NamespaceManager class TestIssue733(unittest.TestCase): diff --git a/test/test_issues/test_issue801.py b/test/test_issues/test_issue801.py index 431ddcb6..0dfac052 100644 --- a/test/test_issues/test_issue801.py +++ b/test/test_issues/test_issue801.py @@ -1,9 +1,10 @@ """ Issue 801 - Problem with prefixes created for URIs containing %20 """ -from rdflib import Namespace, Graph, BNode, Literal import unittest +from rdflib import BNode, Graph, Literal, Namespace + class TestIssue801(unittest.TestCase): def test_issue_801(self): diff --git a/test/test_issues/test_issue893.py b/test/test_issues/test_issue893.py index 17ba3e47..39af1efd 100644 --- a/test/test_issues/test_issue893.py +++ b/test/test_issues/test_issue893.py @@ -1,4 +1,5 @@ import pickle + from rdflib.graph import Dataset from rdflib.namespace import Namespace diff --git a/test/test_issues/test_issue910.py b/test/test_issues/test_issue910.py index bd0f9189..c3640d3c 100644 --- a/test/test_issues/test_issue910.py +++ b/test/test_issues/test_issue910.py @@ -1,6 +1,7 @@ -from rdflib import Graph
import unittest
+from rdflib import Graph
+
class TestIssue910(unittest.TestCase):
def testA(self):
diff --git a/test/test_issues/test_issue920.py b/test/test_issues/test_issue920.py index 7aafa794..1375012a 100644 --- a/test/test_issues/test_issue920.py +++ b/test/test_issues/test_issue920.py @@ -9,9 +9,10 @@ N3, by contrast, succeeds: g.parse(data='<a:> <b:> <c:> .', format='n3') """ -from rdflib import Graph import unittest +from rdflib import Graph + class TestIssue920(unittest.TestCase): def test_issue_920(self): diff --git a/test/test_issues/test_issue953.py b/test/test_issues/test_issue953.py index 879486d8..65a022f8 100644 --- a/test/test_issues/test_issue953.py +++ b/test/test_issues/test_issue953.py @@ -1,7 +1,7 @@ +import unittest from fractions import Fraction -from rdflib import Graph, ConjunctiveGraph, Literal, URIRef -import unittest +from rdflib import ConjunctiveGraph, Graph, Literal, URIRef class TestIssue953(unittest.TestCase): diff --git a/test/test_issues/test_issue977.py b/test/test_issues/test_issue977.py index 088f5ca0..70d45860 100644 --- a/test/test_issues/test_issue977.py +++ b/test/test_issues/test_issue977.py @@ -1,6 +1,6 @@ import unittest -from rdflib import Graph, XSD, RDF, RDFS, URIRef, Literal +from rdflib import RDF, RDFS, XSD, Graph, Literal, URIRef class TestIssue977(unittest.TestCase): diff --git a/test/test_issues/test_issue_git_200.py b/test/test_issues/test_issue_git_200.py index 2013a325..b5640a53 100644 --- a/test/test_issues/test_issue_git_200.py +++ b/test/test_issues/test_issue_git_200.py @@ -1,6 +1,7 @@ -import rdflib import pytest +import rdflib + def test_broken_add(): diff --git a/test/test_literal/test_datetime.py b/test/test_literal/test_datetime.py index 8f5e12ea..43c4246e 100644 --- a/test/test_literal/test_datetime.py +++ b/test/test_literal/test_datetime.py @@ -1,13 +1,11 @@ import sys - from datetime import datetime -from isodate import datetime_isoformat, UTC +from isodate import UTC, datetime_isoformat from isodate.isostrf import DATE_EXT_COMPLETE, TZ_EXT -from rdflib.term import URIRef -from rdflib.term import Literal from rdflib.namespace import XSD +from rdflib.term import Literal, URIRef class TestRelativeBase: diff --git a/test/test_literal/test_hex_binary.py b/test/test_literal/test_hex_binary.py index fc152126..05383c0c 100644 --- a/test/test_literal/test_hex_binary.py +++ b/test/test_literal/test_hex_binary.py @@ -1,8 +1,9 @@ # -*- coding: utf-8 -*- -import unittest import binascii -from rdflib import Literal, XSD +import unittest + +from rdflib import XSD, Literal class HexBinaryTestCase(unittest.TestCase): diff --git a/test/test_literal/test_literal.py b/test/test_literal/test_literal.py index 44c3e25c..28965f65 100644 --- a/test/test_literal/test_literal.py +++ b/test/test_literal/test_literal.py @@ -7,17 +7,17 @@ # mypy: no_implicit_optional, warn_redundant_casts, warn_unused_ignores # mypy: warn_return_any, no_implicit_reexport, strict_equality +import datetime +import unittest from decimal import Decimal from typing import Any, Optional, Sequence, Tuple, Type, Union -import unittest -import datetime + +import pytest import rdflib # needed for eval(repr(...)) below -from rdflib.term import Literal, URIRef, _XSD_DOUBLE, bind, _XSD_BOOLEAN from rdflib import XSD from rdflib.namespace import RDF, Namespace - -import pytest +from rdflib.term import _XSD_BOOLEAN, _XSD_DOUBLE, Literal, URIRef, bind EGNS = Namespace("http://example.com/") @@ -116,10 +116,8 @@ class TestNewPT: ("Not a valid time", XSD.time, True), ("Not a valid date", XSD.date, True), ("7264666c6962", XSD.hexBinary, False), - # RDF.langString is not a recognized datatype IRI as we assign no literal value to it, though this should likely change. ("English string", RDF.langString, None), - # The datatypes IRIs below should never be recognized. ("[p]", EGNS.unrecognized, None), ], diff --git a/test/test_literal/test_term.py b/test/test_literal/test_term.py index e70fb591..506f1a3f 100644 --- a/test/test_literal/test_term.py +++ b/test/test_literal/test_term.py @@ -5,9 +5,9 @@ some more specific Literal tests are in test_literal.py import base64 import random -from rdflib.term import URIRef, BNode, Literal, _is_valid_unicode -from rdflib.graph import QuotedGraph, Graph +from rdflib.graph import Graph, QuotedGraph from rdflib.namespace import XSD +from rdflib.term import BNode, Literal, URIRef, _is_valid_unicode def uformat(s): diff --git a/test/test_literal/test_tokendatatype.py b/test/test_literal/test_tokendatatype.py index 13e4b360..2b27b308 100644 --- a/test/test_literal/test_tokendatatype.py +++ b/test/test_literal/test_tokendatatype.py @@ -1,4 +1,4 @@ -from rdflib import Literal, XSD +from rdflib import XSD, Literal class TestTokenDatatype: diff --git a/test/test_literal/test_uriref_literal_comparison.py b/test/test_literal/test_uriref_literal_comparison.py index f6efa598..0b85bd37 100644 --- a/test/test_literal/test_uriref_literal_comparison.py +++ b/test/test_literal/test_uriref_literal_comparison.py @@ -1,15 +1,9 @@ import unittest -from rdflib.namespace import RDF - -from rdflib.term import URIRef -from rdflib.term import BNode -from rdflib.term import Literal - from rdflib.graph import Graph - +from rdflib.namespace import RDF from rdflib.plugins.parsers.rdfxml import CORE_SYNTAX_TERMS - +from rdflib.term import BNode, Literal, URIRef """ Ah... it's coming back to me... diff --git a/test/test_literal/test_xmlliterals.py b/test/test_literal/test_xmlliterals.py index 69e72705..fe11d006 100644 --- a/test/test_literal/test_xmlliterals.py +++ b/test/test_literal/test_xmlliterals.py @@ -1,13 +1,13 @@ import logging import textwrap +import xml.dom.minidom from typing import Callable, Optional, Sequence import pytest + import rdflib from rdflib import RDF, Literal -import xml.dom.minidom - def testPythonRoundtrip(): l1 = Literal("<msg>hello</msg>", datatype=RDF.XMLLiteral) diff --git a/test/test_misc/test_b64_binary.py b/test/test_misc/test_b64_binary.py index a64a7674..d7e0832d 100644 --- a/test/test_misc/test_b64_binary.py +++ b/test/test_misc/test_b64_binary.py @@ -1,7 +1,8 @@ # -*- coding: utf-8 -*- import base64 -from rdflib import Literal, XSD + +from rdflib import XSD, Literal class TestB64Binary: diff --git a/test/test_misc/test_bnode_ncname.py b/test/test_misc/test_bnode_ncname.py index 4077997b..b429be9e 100644 --- a/test/test_misc/test_bnode_ncname.py +++ b/test/test_misc/test_bnode_ncname.py @@ -3,7 +3,6 @@ import re from hashlib import md5 from uuid import uuid4 - # Adapted from http://icodesnip.com/snippet/python/simple-universally-unique-id-uuid-or-guid diff --git a/test/test_misc/test_conventions.py b/test/test_misc/test_conventions.py index 84fb0801..73f5ce19 100644 --- a/test/test_misc/test_conventions.py +++ b/test/test_misc/test_conventions.py @@ -1,6 +1,6 @@ -import unittest -import pkgutil import os.path +import pkgutil +import unittest import rdflib diff --git a/test/test_misc/test_create_input_source.py b/test/test_misc/test_create_input_source.py index 86bd214e..c1b40725 100644 --- a/test/test_misc/test_create_input_source.py +++ b/test/test_misc/test_create_input_source.py @@ -1,4 +1,5 @@ import pytest + from rdflib.parser import create_input_source diff --git a/test/test_misc/test_parse_file_guess_format.py b/test/test_misc/test_parse_file_guess_format.py index c1c3ec04..4940112e 100644 --- a/test/test_misc/test_parse_file_guess_format.py +++ b/test/test_misc/test_parse_file_guess_format.py @@ -7,15 +7,15 @@ # mypy: no_implicit_optional, warn_redundant_casts, warn_unused_ignores # mypy: warn_return_any, no_implicit_reexport, strict_equality -import pytest import logging from pathlib import Path from shutil import copyfile from tempfile import TemporaryDirectory -from rdflib.exceptions import ParserError +import pytest from rdflib import Graph +from rdflib.exceptions import ParserError from rdflib.util import guess_format diff --git a/test/test_misc/test_plugins.py b/test/test_misc/test_plugins.py index f9d8c146..46147f5a 100644 --- a/test/test_misc/test_plugins.py +++ b/test/test_misc/test_plugins.py @@ -3,10 +3,10 @@ import logging import shutil import subprocess import sys +import warnings from contextlib import ExitStack, contextmanager from pathlib import Path from typing import Any, Callable, Dict, Generator, List -import warnings import rdflib.plugin import rdflib.plugins.sparql diff --git a/test/test_misc/test_resource.py b/test/test_misc/test_resource.py index 50fe2331..5f008377 100644 --- a/test/test_misc/test_resource.py +++ b/test/test_misc/test_resource.py @@ -1,6 +1,6 @@ from rdflib import Graph -from rdflib.resource import Resource from rdflib.namespace import RDFS +from rdflib.resource import Resource def test_properties(rdfs_graph: Graph) -> None: diff --git a/test/test_mulpath_n3.py b/test/test_mulpath_n3.py index f4f26dc4..7684dd21 100644 --- a/test/test_mulpath_n3.py +++ b/test/test_mulpath_n3.py @@ -1,6 +1,5 @@ -from rdflib.paths import ZeroOrMore - from rdflib import RDFS, URIRef +from rdflib.paths import ZeroOrMore def test_mulpath_n3(): diff --git a/test/test_n3.py b/test/test_n3.py index ef442646..a585912f 100644 --- a/test/test_n3.py +++ b/test/test_n3.py @@ -1,14 +1,13 @@ +import itertools import os +from test import TEST_DIR +from urllib.error import URLError import pytest -from rdflib.graph import Graph, ConjunctiveGraph -from rdflib.term import Literal, URIRef +from rdflib.graph import ConjunctiveGraph, Graph from rdflib.plugins.parsers.notation3 import BadSyntax, exponent_syntax -import itertools -from urllib.error import URLError - -from test import TEST_DIR +from rdflib.term import Literal, URIRef test_data = """ # Definitions of terms describing the n3 model @@ -66,7 +65,6 @@ n3:context a rdf:Property; rdfs:domain n3:statement; class TestN3Case: - def test_base_cumulative(self): """ Test that the n3 parser supports base declarations diff --git a/test/test_n3_formula.py b/test/test_n3_formula.py index 737b65d7..08cafd17 100644 --- a/test/test_n3_formula.py +++ b/test/test_n3_formula.py @@ -1,5 +1,7 @@ import logging + import pytest + import rdflib import rdflib.term diff --git a/test/test_namespace/test_definednamespace_creator.py b/test/test_namespace/test_definednamespace_creator.py index 70293c9a..afc06a57 100644 --- a/test/test_namespace/test_definednamespace_creator.py +++ b/test/test_namespace/test_definednamespace_creator.py @@ -1,5 +1,5 @@ -import sys import subprocess +import sys from pathlib import Path diff --git a/test/test_namespace/test_namespace.py b/test/test_namespace/test_namespace.py index 6f448ecf..c1c2cb74 100644 --- a/test/test_namespace/test_namespace.py +++ b/test/test_namespace/test_namespace.py @@ -1,6 +1,5 @@ import unittest from unittest.case import expectedFailure - from warnings import warn import pytest @@ -13,9 +12,9 @@ from rdflib.namespace import ( RDF, RDFS, SH, + ClosedNamespace, DefinedNamespaceMeta, Namespace, - ClosedNamespace, URIPattern, ) from rdflib.term import URIRef diff --git a/test/test_nquads.py b/test/test_nquads.py index ac5a6dcd..8af32d08 100644 --- a/test/test_nquads.py +++ b/test/test_nquads.py @@ -1,8 +1,9 @@ import os import unittest -from rdflib import ConjunctiveGraph, URIRef, Namespace from test import TEST_DIR +from rdflib import ConjunctiveGraph, Namespace, URIRef + TEST_BASE = "test/nquads.rdflib" diff --git a/test/test_nt_misc.py b/test/test_nt_misc.py index 4afb0698..3c79dd27 100644 --- a/test/test_nt_misc.py +++ b/test/test_nt_misc.py @@ -1,13 +1,13 @@ -import unittest import logging import os import re -from rdflib import Graph, Literal, URIRef -from rdflib.plugins.parsers import ntriples -from urllib.request import urlopen +import unittest from pathlib import Path - from test import TEST_DIR +from urllib.request import urlopen + +from rdflib import Graph, Literal, URIRef +from rdflib.plugins.parsers import ntriples log = logging.getLogger(__name__) diff --git a/test/test_parsers/test_n3parse_of_rdf_lists.py b/test/test_parsers/test_n3parse_of_rdf_lists.py index 80489175..88cffffb 100644 --- a/test/test_parsers/test_n3parse_of_rdf_lists.py +++ b/test/test_parsers/test_n3parse_of_rdf_lists.py @@ -1,7 +1,6 @@ from rdflib.graph import Graph from rdflib.term import URIRef - DATA = """<http://example.com#C> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2002/07/owl#Class>. <http://example.com#B> <http://www.w3.org/2000/01/rdf-schema#subClassOf> _:fIYNVPxd4. <http://example.com#B> <http://www.w3.org/2000/01/rdf-schema#subClassOf> <http://example.com#A>. diff --git a/test/test_parsers/test_nquads_w3c.py b/test/test_parsers/test_nquads_w3c.py index 8738ae7b..b8bcf36e 100644 --- a/test/test_parsers/test_nquads_w3c.py +++ b/test/test_parsers/test_nquads_w3c.py @@ -1,11 +1,13 @@ """This runs the nquads tests for the W3C RDF Working Group's N-Quads test suite.""" +from test.manifest import RDFT, RDFTest, read_manifest from typing import Callable, Dict + +import pytest + from rdflib import ConjunctiveGraph from rdflib.term import Node, URIRef -from test.manifest import RDFT, RDFTest, read_manifest -import pytest verbose = False diff --git a/test/test_parsers/test_nt_w3c.py b/test/test_parsers/test_nt_w3c.py index 3f689450..e131a21b 100644 --- a/test/test_parsers/test_nt_w3c.py +++ b/test/test_parsers/test_nt_w3c.py @@ -1,15 +1,15 @@ """This runs the nt tests for the W3C RDF Working Group's N-Quads test suite.""" import os -from typing import Callable, Dict - -from rdflib import Graph -from rdflib.term import Node, URIRef from test import TEST_DIR from test.manifest import RDFT, RDFTest, read_manifest +from typing import Callable, Dict import pytest +from rdflib import Graph +from rdflib.term import Node, URIRef + verbose = False diff --git a/test/test_parsers/test_parser.py b/test/test_parsers/test_parser.py index da38ea91..2ba1f749 100644 --- a/test/test_parsers/test_parser.py +++ b/test/test_parsers/test_parser.py @@ -1,9 +1,8 @@ import unittest -from rdflib.namespace import RDF, RDFS -from rdflib.term import URIRef -from rdflib.term import Literal from rdflib.graph import Graph +from rdflib.namespace import RDF, RDFS +from rdflib.term import Literal, URIRef class ParserTestCase(unittest.TestCase): diff --git a/test/test_parsers/test_parser_hext.py b/test/test_parsers/test_parser_hext.py index 4af94c79..4099ae7d 100644 --- a/test/test_parsers/test_parser_hext.py +++ b/test/test_parsers/test_parser_hext.py @@ -2,7 +2,7 @@ import sys from pathlib import Path sys.path.append(str(Path(__file__).parent.parent.absolute())) -from rdflib import Dataset, ConjunctiveGraph, Literal +from rdflib import ConjunctiveGraph, Dataset, Literal from rdflib.namespace import XSD diff --git a/test/test_parsers/test_parser_reads_from_pathlike_object.py b/test/test_parsers/test_parser_reads_from_pathlike_object.py index 3a671073..acd21424 100644 --- a/test/test_parsers/test_parser_reads_from_pathlike_object.py +++ b/test/test_parsers/test_parser_reads_from_pathlike_object.py @@ -1,7 +1,8 @@ import tempfile -import rdflib from pathlib import Path +import rdflib + def test_reading_from_path_object(): xml_sample = """\ diff --git a/test/test_parsers/test_parser_structure.py b/test/test_parsers/test_parser_structure.py index 17faf5e6..80f2d4de 100644 --- a/test/test_parsers/test_parser_structure.py +++ b/test/test_parsers/test_parser_structure.py @@ -1,6 +1,7 @@ -import rdflib.plugins.sparql.parser import pprint +import rdflib.plugins.sparql.parser + def test_parser_structure() -> None: def t(q): diff --git a/test/test_parsers/test_parser_turtlelike.py b/test/test_parsers/test_parser_turtlelike.py index de6b37b8..2d8e46c1 100644 --- a/test/test_parsers/test_parser_turtlelike.py +++ b/test/test_parsers/test_parser_turtlelike.py @@ -3,8 +3,9 @@ This module contains tests for the parsing of the turtle family of formats: N3, Turtle, NTriples, NQauds and TriG. """ -from dataclasses import dataclass, field +import enum import itertools +from dataclasses import dataclass, field from typing import ( Callable, Collection, @@ -18,14 +19,11 @@ from typing import ( Union, ) -from pyparsing import Opt - -from rdflib import Namespace, Literal, XSD, Graph -import enum - import pytest from _pytest.mark.structures import Mark, MarkDecorator, ParameterSet +from pyparsing import Opt +from rdflib import XSD, Graph, Literal, Namespace from rdflib.term import Identifier from rdflib.util import from_n3 diff --git a/test/test_parsers/test_turtle_w3c.py b/test/test_parsers/test_turtle_w3c.py index e5f52a75..35449ee7 100644 --- a/test/test_parsers/test_turtle_w3c.py +++ b/test/test_parsers/test_turtle_w3c.py @@ -3,16 +3,17 @@ test suite.""" import os from pathlib import Path +from test.manifest import RDFT, RDFTest, read_manifest +from test.testutils import file_uri_to_path from typing import Callable, Dict, Set + +import pytest + from rdflib import Graph -from rdflib.namespace import Namespace, split_uri from rdflib.compare import graph_diff, isomorphic +from rdflib.namespace import Namespace, split_uri from rdflib.term import Node, URIRef -from test.manifest import RDFT, RDFTest, read_manifest -import pytest -from test.testutils import file_uri_to_path - verbose = False diff --git a/test/test_rdfxml.py b/test/test_rdfxml.py index 4e53c3c7..ec6300a2 100644 --- a/test/test_rdfxml.py +++ b/test/test_rdfxml.py @@ -1,23 +1,18 @@ -import sys -from encodings.utf_8 import StreamWriter -from typing import ClassVar - -import unittest - +import logging import os import os.path +import sys +import unittest +from encodings.utf_8 import StreamWriter from io import StringIO - +from typing import ClassVar from urllib.request import url2pathname, urlopen -from rdflib import RDF, RDFS, URIRef, BNode, Literal, Namespace, Graph +from rdflib import RDF, RDFS, BNode, Graph, Literal, Namespace, URIRef from rdflib.exceptions import ParserError from rdflib.plugins.parsers.RDFVOC import RDFVOC from rdflib.util import first - -import logging - _logger = logging.getLogger("parser_rdfcore") verbose = 0 @@ -245,8 +240,8 @@ if __name__ == "__main__": cached_file("http://www.w3.org/2000/10/rdf-tests/rdfcore/Manifest.rdf"), format="xml", ) - import sys import getopt + import sys try: optlist, args = getopt.getopt(sys.argv[1:], "h:", ["help"]) diff --git a/test/test_roundtrip.py b/test/test_roundtrip.py index 697dd610..1f44cc04 100644 --- a/test/test_roundtrip.py +++ b/test/test_roundtrip.py @@ -1,7 +1,8 @@ -from json.decoder import JSONDecodeError import logging import os.path +from json.decoder import JSONDecodeError from pathlib import Path +from test.testutils import GraphHelper from typing import Callable, Collection, Iterable, List, Optional, Set, Tuple, Union from xml.sax import SAXParseException @@ -10,10 +11,9 @@ from _pytest.mark.structures import Mark, MarkDecorator, ParameterSet import rdflib import rdflib.compare +from rdflib.namespace import XSD from rdflib.plugins.parsers.notation3 import BadSyntax from rdflib.util import guess_format -from rdflib.namespace import XSD -from test.testutils import GraphHelper logger = logging.getLogger(__name__) diff --git a/test/test_serializers/test_finalnewline.py b/test/test_serializers/test_finalnewline.py index 5784f81e..4b5eb503 100644 --- a/test/test_serializers/test_finalnewline.py +++ b/test/test_serializers/test_finalnewline.py @@ -1,5 +1,5 @@ -from rdflib import ConjunctiveGraph, URIRef import rdflib.plugin +from rdflib import ConjunctiveGraph, URIRef def test_finalnewline(): diff --git a/test/test_serializers/test_prettyxml.py b/test/test_serializers/test_prettyxml.py index dfef93aa..91098394 100644 --- a/test/test_serializers/test_prettyxml.py +++ b/test/test_serializers/test_prettyxml.py @@ -1,10 +1,10 @@ # -*- coding: UTF-8 -*- -from rdflib.term import URIRef, BNode, Literal -from rdflib.namespace import RDF, RDFS from io import BytesIO -from rdflib.plugins.serializers.rdfxml import PrettyXMLSerializer from rdflib.graph import ConjunctiveGraph +from rdflib.namespace import RDF, RDFS +from rdflib.plugins.serializers.rdfxml import PrettyXMLSerializer +from rdflib.term import BNode, Literal, URIRef class SerializerTestBase(object): diff --git a/test/test_serializers/test_serializer.py b/test/test_serializers/test_serializer.py index 5f99bb12..678ea982 100644 --- a/test/test_serializers/test_serializer.py +++ b/test/test_serializers/test_serializer.py @@ -1,18 +1,16 @@ +import itertools import logging import unittest -from rdflib import RDF, Graph, Literal, Namespace, URIRef -from tempfile import TemporaryDirectory from pathlib import Path, PurePath - +from tempfile import TemporaryDirectory +from test.testutils import GraphHelper from typing import Tuple, cast import pytest -import itertools +from rdflib import RDF, Graph, Literal, Namespace, URIRef from rdflib.graph import ConjunctiveGraph -from test.testutils import GraphHelper - @pytest.mark.parametrize( "format, tuple_index, is_keyword", diff --git a/test/test_serializers/test_serializer_hext.py b/test/test_serializers/test_serializer_hext.py index f2c7867f..acdc0abd 100644 --- a/test/test_serializers/test_serializer_hext.py +++ b/test/test_serializers/test_serializer_hext.py @@ -2,9 +2,10 @@ import sys from pathlib import Path sys.path.append(str(Path(__file__).parent.parent.absolute())) -from rdflib import Dataset, Graph, ConjunctiveGraph import json +from rdflib import ConjunctiveGraph, Dataset, Graph + def test_hext_graph(): """Tests single-grant (not context-aware) data""" diff --git a/test/test_serializers/test_serializer_turtle.py b/test/test_serializers/test_serializer_turtle.py index cb1ce94d..d629faea 100644 --- a/test/test_serializers/test_serializer_turtle.py +++ b/test/test_serializers/test_serializer_turtle.py @@ -1,4 +1,4 @@ -from rdflib import Graph, URIRef, BNode, RDF, RDFS, Literal, Namespace +from rdflib import RDF, RDFS, BNode, Graph, Literal, Namespace, URIRef from rdflib.collection import Collection from rdflib.plugins.serializers.turtle import TurtleSerializer diff --git a/test/test_serializers/test_serializer_xml.py b/test/test_serializers/test_serializer_xml.py index 66f97d12..ae75db0a 100644 --- a/test/test_serializers/test_serializer_xml.py +++ b/test/test_serializers/test_serializer_xml.py @@ -1,9 +1,9 @@ -from rdflib.term import URIRef, BNode -from rdflib.namespace import RDFS from io import BytesIO -from rdflib.plugins.serializers.rdfxml import XMLSerializer from rdflib.graph import ConjunctiveGraph +from rdflib.namespace import RDFS +from rdflib.plugins.serializers.rdfxml import XMLSerializer +from rdflib.term import BNode, URIRef class SerializerTestBase(object): diff --git a/test/test_sparql/test_agg_undef.py b/test/test_sparql/test_agg_undef.py index e4e96ea7..33010adc 100644 --- a/test/test_sparql/test_agg_undef.py +++ b/test/test_sparql/test_agg_undef.py @@ -1,4 +1,5 @@ import pytest + from rdflib import Graph, Literal, Variable query_tpl = """ diff --git a/test/test_sparql/test_construct_bindings.py b/test/test_sparql/test_construct_bindings.py index 3b21e87d..3713fe10 100644 --- a/test/test_sparql/test_construct_bindings.py +++ b/test/test_sparql/test_construct_bindings.py @@ -1,10 +1,10 @@ -from rdflib import Graph, URIRef, Literal, BNode -from rdflib.plugins.sparql import prepareQuery -from rdflib.compare import isomorphic - import unittest from test.testutils import eq_ +from rdflib import BNode, Graph, Literal, URIRef +from rdflib.compare import isomorphic +from rdflib.plugins.sparql import prepareQuery + class TestConstructInitBindings(unittest.TestCase): def test_construct_init_bindings(self): diff --git a/test/test_sparql/test_datetime_processing.py b/test/test_sparql/test_datetime_processing.py index 20e64a84..86fce8db 100644 --- a/test/test_sparql/test_datetime_processing.py +++ b/test/test_sparql/test_datetime_processing.py @@ -1,10 +1,11 @@ -from rdflib import Graph, URIRef, Literal, BNode, XSD -from rdflib.plugins.sparql import prepareQuery -from rdflib.compare import isomorphic -import rdflib -from test.testutils import eq_ -from pprint import pprint import io +from pprint import pprint +from test.testutils import eq_ + +import rdflib +from rdflib import XSD, BNode, Graph, Literal, URIRef +from rdflib.compare import isomorphic +from rdflib.plugins.sparql import prepareQuery def test_dateTime_dateTime_subs_issue(): diff --git a/test/test_sparql/test_evaluate_bind.py b/test/test_sparql/test_evaluate_bind.py index 91f704a3..3ceeffa9 100644 --- a/test/test_sparql/test_evaluate_bind.py +++ b/test/test_sparql/test_evaluate_bind.py @@ -4,7 +4,7 @@ Verify evaluation of BIND expressions of different types. See """ import pytest -from rdflib import Graph, URIRef, Literal, Variable +from rdflib import Graph, Literal, URIRef, Variable def get_bind_tests(): diff --git a/test/test_sparql/test_expressions.py b/test/test_sparql/test_expressions.py index 305027e2..fb96f3ac 100644 --- a/test/test_sparql/test_expressions.py +++ b/test/test_sparql/test_expressions.py @@ -1,13 +1,11 @@ from functools import partial +from test.testutils import eq_ as eq import rdflib.plugins.sparql.parser as p -from rdflib.plugins.sparql.sparql import QueryContext, SPARQLError, Prologue -from rdflib.plugins.sparql.algebra import traverse, translatePName +from rdflib import Literal, Variable +from rdflib.plugins.sparql.algebra import translatePName, traverse from rdflib.plugins.sparql.operators import simplify - -from rdflib import Variable, Literal - -from test.testutils import eq_ as eq +from rdflib.plugins.sparql.sparql import Prologue, QueryContext, SPARQLError def _eval(e, ctx=None): diff --git a/test/test_sparql/test_initbindings.py b/test/test_sparql/test_initbindings.py index bb1fc323..9080c3bb 100644 --- a/test/test_sparql/test_initbindings.py +++ b/test/test_sparql/test_initbindings.py @@ -1,8 +1,6 @@ +from rdflib import ConjunctiveGraph, Literal, Namespace, URIRef, Variable from rdflib.plugins.sparql import prepareQuery - -from rdflib import ConjunctiveGraph, URIRef, Literal, Namespace, Variable - g = ConjunctiveGraph() diff --git a/test/test_sparql/test_operators.py b/test/test_sparql/test_operators.py index 80a5aaf0..c20aace1 100644 --- a/test/test_sparql/test_operators.py +++ b/test/test_sparql/test_operators.py @@ -1,10 +1,10 @@ import datetime -import rdflib -from rdflib.plugins.sparql import operators -from rdflib.plugins.sparql import sparql import pytest +import rdflib +from rdflib.plugins.sparql import operators, sparql + def test_date_cast(): now = datetime.datetime.now() diff --git a/test/test_sparql/test_prepare.py b/test/test_sparql/test_prepare.py index ae1496d4..e4b5bd31 100644 --- a/test/test_sparql/test_prepare.py +++ b/test/test_sparql/test_prepare.py @@ -1,10 +1,8 @@ import os -from rdflib.plugins.sparql import prepareUpdate, prepareQuery + +from rdflib import Graph, URIRef from rdflib.namespace import FOAF -from rdflib import ( - Graph, - URIRef, -) +from rdflib.plugins.sparql import prepareQuery, prepareUpdate def test_prepare_update(): diff --git a/test/test_sparql/test_service.py b/test/test_sparql/test_service.py index 52415839..bfb92398 100644 --- a/test/test_sparql/test_service.py +++ b/test/test_sparql/test_service.py @@ -1,9 +1,9 @@ -from rdflib import Graph, URIRef, Literal, Variable -from rdflib.plugins.sparql import prepareQuery -from rdflib.compare import isomorphic - from test import helper +from rdflib import Graph, Literal, URIRef, Variable +from rdflib.compare import isomorphic +from rdflib.plugins.sparql import prepareQuery + def test_service(): g = Graph() diff --git a/test/test_sparql/test_sparql.py b/test/test_sparql/test_sparql.py index 3c90da9d..4c139c83 100644 --- a/test/test_sparql/test_sparql.py +++ b/test/test_sparql/test_sparql.py @@ -1,20 +1,21 @@ +from test.testutils import eq_ from typing import Any, Callable, Type -from rdflib.plugins.sparql import sparql, prepareQuery -from rdflib.plugins.sparql.sparql import SPARQLError -from rdflib import Graph, URIRef, Literal, BNode, ConjunctiveGraph -from rdflib.namespace import Namespace, RDF, RDFS -from rdflib.compare import isomorphic -from rdflib.query import Result -from rdflib.term import Variable -from rdflib.plugins.sparql.evaluate import evalPart -from rdflib.plugins.sparql.evalutils import _eval + import pytest from pytest import MonkeyPatch + +import rdflib.plugins.sparql import rdflib.plugins.sparql.operators import rdflib.plugins.sparql.parser -import rdflib.plugins.sparql - -from test.testutils import eq_ +from rdflib import BNode, ConjunctiveGraph, Graph, Literal, URIRef +from rdflib.compare import isomorphic +from rdflib.namespace import RDF, RDFS, Namespace +from rdflib.plugins.sparql import prepareQuery, sparql +from rdflib.plugins.sparql.evaluate import evalPart +from rdflib.plugins.sparql.evalutils import _eval +from rdflib.plugins.sparql.sparql import SPARQLError +from rdflib.query import Result +from rdflib.term import Variable def test_graph_prefix(): diff --git a/test/test_sparql/test_sparql_parser.py b/test/test_sparql/test_sparql_parser.py index f5d6267e..2055d08b 100644 --- a/test/test_sparql/test_sparql_parser.py +++ b/test/test_sparql/test_sparql_parser.py @@ -1,11 +1,12 @@ +import math +import sys +import unittest +from typing import Set, Tuple + from rdflib import Graph, Literal -from rdflib.term import Node from rdflib.namespace import Namespace from rdflib.plugins.sparql.processor import processUpdate -import unittest -import sys -import math -from typing import Set, Tuple +from rdflib.term import Node def triple_set(graph: Graph) -> Set[Tuple[Node, Node, Node]]: diff --git a/test/test_sparql/test_tsvresults.py b/test/test_sparql/test_tsvresults.py index 3ddd0d86..9852ec2c 100644 --- a/test/test_sparql/test_tsvresults.py +++ b/test/test_sparql/test_tsvresults.py @@ -1,4 +1,5 @@ from io import StringIO + from rdflib.plugins.sparql.results.tsvresults import TSVResultParser diff --git a/test/test_store/test_nodepickler.py b/test/test_store/test_nodepickler.py index b37da271..840f1d34 100644 --- a/test/test_store/test_nodepickler.py +++ b/test/test_store/test_nodepickler.py @@ -1,8 +1,7 @@ import pickle -from rdflib.term import Literal - from rdflib.store import NodePickler +from rdflib.term import Literal # same as nt/more_literals.nt cases = [ diff --git a/test/test_store/test_store.py b/test/test_store/test_store.py index 83711758..60c013b1 100644 --- a/test/test_store/test_store.py +++ b/test/test_store/test_store.py @@ -1,6 +1,6 @@ from rdflib import Graph -from rdflib.store import NodePickler, Store from rdflib.namespace import NamespaceManager +from rdflib.store import NodePickler, Store def test_namespaces() -> None: diff --git a/test/test_store/test_store_sparqlstore.py b/test/test_store/test_store_sparqlstore.py index d26ac9bb..c544b9f2 100644 --- a/test/test_store/test_store_sparqlstore.py +++ b/test/test_store/test_store_sparqlstore.py @@ -1,20 +1,18 @@ -from rdflib import Graph, URIRef, Literal +import re +import socket import unittest from http.server import BaseHTTPRequestHandler, HTTPServer -import socket +from test import helper +from test.testutils import MockHTTPResponse, ServedSimpleHTTPMock from threading import Thread +from typing import Callable, ClassVar, Type from unittest.mock import patch -from rdflib.namespace import RDF, XSD, XMLNS, FOAF, RDFS -from rdflib.plugins.stores.sparqlstore import SPARQLConnector -from typing import ClassVar, Callable, Type + import pytest -import re -from test import helper -from test.testutils import ( - MockHTTPResponse, - ServedSimpleHTTPMock, -) +from rdflib import Graph, Literal, URIRef +from rdflib.namespace import FOAF, RDF, RDFS, XMLNS, XSD +from rdflib.plugins.stores.sparqlstore import SPARQLConnector class TestSPARQLStoreGraph: diff --git a/test/test_store/test_store_sparqlupdatestore_mock.py b/test/test_store/test_store_sparqlupdatestore_mock.py index 5d35223f..b1a63e05 100644 --- a/test/test_store/test_store_sparqlupdatestore_mock.py +++ b/test/test_store/test_store_sparqlupdatestore_mock.py @@ -1,8 +1,9 @@ -from rdflib.graph import ConjunctiveGraph +import unittest +from test.testutils import MockHTTPResponse, ServedSimpleHTTPMock from typing import ClassVar + from rdflib import Namespace -from test.testutils import MockHTTPResponse, ServedSimpleHTTPMock -import unittest +from rdflib.graph import ConjunctiveGraph EG = Namespace("http://example.org/") diff --git a/test/test_testutils.py b/test/test_testutils.py index f416da2a..2d712d3b 100644 --- a/test/test_testutils.py +++ b/test/test_testutils.py @@ -1,13 +1,14 @@ -from dataclasses import dataclass import os +from dataclasses import dataclass from pathlib import PurePosixPath, PureWindowsPath from typing import Optional +import pytest + from rdflib.graph import ConjunctiveGraph, Graph from rdflib.term import URIRef -from .testutils import GraphHelper, file_uri_to_path -import pytest +from .testutils import GraphHelper, file_uri_to_path def check( diff --git a/test/test_trig_w3c.py b/test/test_trig_w3c.py index b13fc409..9876086f 100644 --- a/test/test_trig_w3c.py +++ b/test/test_trig_w3c.py @@ -2,16 +2,16 @@ """ +import os +from test.manifest import RDFT, RDFTest, read_manifest from typing import Callable, Dict -from rdflib import ConjunctiveGraph -from rdflib.namespace import Namespace, split_uri -from rdflib.compare import graph_diff, isomorphic -from rdflib.term import Node, URIRef -from test.manifest import RDFT, RDFTest, read_manifest import pytest -import os +from rdflib import ConjunctiveGraph +from rdflib.compare import graph_diff, isomorphic +from rdflib.namespace import Namespace, split_uri +from rdflib.term import Node, URIRef verbose = False diff --git a/test/test_turtle_quoting.py b/test/test_turtle_quoting.py index 953db824..02a218da 100644 --- a/test/test_turtle_quoting.py +++ b/test/test_turtle_quoting.py @@ -6,12 +6,14 @@ formats that are related to turtle, such as ntriples, nquads, trig and n3. import itertools import logging from typing import Callable, Dict, Iterable, List, Tuple + import pytest -from rdflib.graph import ConjunctiveGraph, Graph +from rdflib import Namespace +from rdflib.graph import ConjunctiveGraph, Graph from rdflib.plugins.parsers import ntriples from rdflib.term import Literal, URIRef -from rdflib import Namespace + from .testutils import GraphHelper # https://www.w3.org/TR/turtle/#string diff --git a/test/test_util.py b/test/test_util.py index b421a8c0..3782ffef 100644 --- a/test/test_util.py +++ b/test/test_util.py @@ -4,14 +4,10 @@ import time from unittest.case import expectedFailure import pytest -from rdflib.graph import Graph -from rdflib.graph import QuotedGraph -from rdflib.graph import ConjunctiveGraph -from rdflib.term import BNode -from rdflib.term import Literal -from rdflib.term import URIRef -from rdflib import util -from rdflib import XSD + +from rdflib import XSD, util +from rdflib.graph import ConjunctiveGraph, Graph, QuotedGraph +from rdflib.term import BNode, Literal, URIRef n3source = """\ @prefix : <http://www.w3.org/2000/10/swap/Primer#>. diff --git a/test/testutils.py b/test/testutils.py index bf0fa8fd..c192b5c4 100644 --- a/test/testutils.py +++ b/test/testutils.py @@ -1,49 +1,47 @@ from __future__ import print_function -import os -import sys -from types import TracebackType -import isodate import datetime +import email.message +import os import random - +import sys +import unittest from contextlib import AbstractContextManager, contextmanager +from http.server import BaseHTTPRequestHandler, HTTPServer, SimpleHTTPRequestHandler +from pathlib import PurePath, PureWindowsPath +from threading import Thread +from traceback import print_exc +from types import TracebackType from typing import ( + TYPE_CHECKING, + Any, Callable, + Dict, Iterable, + Iterator, List, + NamedTuple, Optional, - TYPE_CHECKING, - Type, - Iterator, Set, Tuple, - Dict, - Any, + Type, TypeVar, Union, cast, - NamedTuple, ) -from urllib.parse import ParseResult, unquote, urlparse, parse_qs -from traceback import print_exc -from threading import Thread -from http.server import BaseHTTPRequestHandler, HTTPServer, SimpleHTTPRequestHandler -import email.message -import unittest - -from rdflib import BNode, Graph, ConjunctiveGraph -from rdflib.term import Identifier, Literal, Node, URIRef from unittest.mock import MagicMock, Mock from urllib.error import HTTPError +from urllib.parse import ParseResult, parse_qs, unquote, urlparse from urllib.request import urlopen -from pathlib import PurePath, PureWindowsPath + +import isodate from nturl2path import url2pathname as nt_url2pathname -import rdflib.compare +import rdflib.compare import rdflib.plugin +from rdflib import BNode, ConjunctiveGraph, Graph from rdflib.plugin import Plugin - +from rdflib.term import Identifier, Literal, Node, URIRef PluginT = TypeVar("PluginT") |