104104    Union ,
105105)
106106
107- from  rdflib .graph  import  ConjunctiveGraph , Graph , ReadOnlyGraphAggregate 
107+ from  rdflib .graph  import  ConjunctiveGraph , Graph , ReadOnlyGraphAggregate ,  _TripleType 
108108from  rdflib .term  import  BNode , IdentifiedNode , Node , URIRef 
109109
110110if  TYPE_CHECKING :
@@ -281,7 +281,6 @@ def copy(self):
281281        )
282282
283283
284- _TripleT  =  List [Node ]
285284_HashT  =  Callable [[], "HASH" ]
286285
287286
@@ -326,7 +325,9 @@ def _initial_color(self) -> List[Color]:
326325                    self ._neighbors [p ].add (p )
327326        if  len (bnodes ) >  0 :
328327            return  [Color (list (bnodes ), self .hashfunc , hash_cache = self ._hash_cache )] +  [
329-                 Color ([x ], self .hashfunc , x , hash_cache = self ._hash_cache )
328+                 # type error: List item 0 has incompatible type "Union[IdentifiedNode, Literal]"; expected "IdentifiedNode" 
329+                 # type error: Argument 3 to "Color" has incompatible type "Union[IdentifiedNode, Literal]"; expected "Tuple[Tuple[Union[int, str], URIRef, Union[int, str]], ...]" 
330+                 Color ([x ], self .hashfunc , x , hash_cache = self ._hash_cache )  # type: ignore[list-item, arg-type] 
330331                for  x  in  others 
331332            ]
332333        else :
@@ -521,7 +522,7 @@ def canonical_triples(self, stats: Optional[Stats] = None):
521522
522523    def  _canonicalize_bnodes (
523524        self ,
524-         triple : Tuple [ IdentifiedNode ,  IdentifiedNode ,  Node ] ,
525+         triple : "_TripleType" ,
525526        labels : Dict [Node , str ],
526527    ):
527528        for  term  in  triple :
@@ -531,7 +532,7 @@ def _canonicalize_bnodes(
531532                yield  term 
532533
533534
534- def  to_isomorphic (graph ) :
535+ def  to_isomorphic (graph :  Graph )  ->   IsomorphicGraph :
535536    if  isinstance (graph , IsomorphicGraph ):
536537        return  graph 
537538    result  =  IsomorphicGraph ()
@@ -541,7 +542,7 @@ def to_isomorphic(graph):
541542    return  result 
542543
543544
544- def  isomorphic (graph1 , graph2 ) :
545+ def  isomorphic (graph1 :  Graph , graph2 :  Graph )  ->   bool :
545546    """Compare graph for equality. 
546547
547548    Uses an algorithm to compute unique hashes which takes bnodes into account. 
@@ -577,7 +578,9 @@ def isomorphic(graph1, graph2):
577578    return  gd1  ==  gd2 
578579
579580
580- def  to_canonical_graph (g1 , stats = None ):
581+ def  to_canonical_graph (
582+     g1 : Graph , stats : Optional [Stats ] =  None 
583+ ) ->  ReadOnlyGraphAggregate :
581584    """Creates a canonical, read-only graph. 
582585
583586    Creates a canonical, read-only graph where all bnode id:s are based on 
@@ -588,7 +591,7 @@ def to_canonical_graph(g1, stats=None):
588591    return  ReadOnlyGraphAggregate ([graph ])
589592
590593
591- def  graph_diff (g1 , g2 ) :
594+ def  graph_diff (g1 :  Graph , g2 :  Graph )  ->   Tuple [ Graph ,  Graph ,  Graph ] :
592595    """Returns three sets of triples: "in both", "in first" and "in second".""" 
593596    # bnodes have deterministic values in canonical graphs: 
594597    cg1  =  to_canonical_graph (g1 )
@@ -602,7 +605,7 @@ def graph_diff(g1, g2):
602605_MOCK_BNODE  =  BNode ()
603606
604607
605- def  similar (g1 , g2 ):
608+ def  similar (g1 :  Graph , g2 :  Graph ):
606609    """Checks if the two graphs are "similar". 
607610
608611    Checks if the two graphs are "similar", by comparing sorted triples where 
@@ -615,12 +618,12 @@ def similar(g1, g2):
615618    return  all (t1  ==  t2  for  (t1 , t2 ) in  _squashed_graphs_triples (g1 , g2 ))
616619
617620
618- def  _squashed_graphs_triples (g1 , g2 ):
621+ def  _squashed_graphs_triples (g1 :  Graph , g2 :  Graph ):
619622    for  (t1 , t2 ) in  zip (sorted (_squash_graph (g1 )), sorted (_squash_graph (g2 ))):
620623        yield  t1 , t2 
621624
622625
623- def  _squash_graph (graph ):
626+ def  _squash_graph (graph :  Graph ):
624627    return  (_squash_bnodes (triple ) for  triple  in  graph )
625628
626629
0 commit comments