class_docstr: A dataset with all four of train, inductive_inference, inductive test, and inductive validation sets as URLs.
class_docstr_tok: ["A","dataset","with","all","four","of","train",",","inductive_inference",",","inductive","test",",","and","inductive","validation","sets","as","URLs","."]
docstr: Initialize dataset.
  
  :param transductive_training_url: The URL of the training file
  :param inductive_inference_url: The URL of the inductive inference graph file
  :param inductive_testing_url: The URL of the inductive testing file
  :param inductive_validation_url: The URL of the inductive validation file
  :param cache_root:
      An optional directory to store the extracted files. Is none is given, the default PyKEEN directory is used.
      This is defined either by the environment variable ``PYKEEN_HOME`` or defaults to ``~/.data/pykeen``.
  :param force: If true, redownload any cached files
  :param eager: Should the data be loaded eagerly? Defaults to false.
  :param create_inverse_triples: Should inverse triples be created? Defaults to false.
  :param load_triples_kwargs: Arguments to pass through to :func:`TriplesFactory.from_path`
      and ultimately through to :func:`pykeen.triples.utils.load_triples`.
  :param download_kwargs: Keyword arguments to pass to :func:`pystow.utils.download`
  :param version: accepts a string "v1" to "v4" to select among Teru et al inductive datasets
docstr_tok: ["Initialize","dataset",".",":","param","transductive_training_url",":","The","URL","of","the","training","file",":","param","inductive_inference_url",":","The","URL","of","the","inductive","inference","graph","file",":","param","inductive_testing_url",":","The","URL","of","the","inductive","testing","file",":","param","inductive_validation_url",":","The","URL","of","the","inductive","validation","file",":","param","cache_root",":","An","optional","directory","to","store","the","extracted","files",".","Is","none","is","given",",","the","default","PyKEEN","directory","is","used",".","This","is","defined","either","by","the","environment","variable","``","PYKEEN_HOME","``","or","defaults","to","``","~\/.data\/pykeen","``",".",":","param","force",":","If","true",",","redownload","any","cached","files",":","param","eager",":","Should","the","data","be","loaded","eagerly","?","Defaults","to","false",".",":","param","create_inverse_triples",":","Should","inverse","triples","be","created","?","Defaults","to","false",".",":","param","load_triples_kwargs",":","Arguments","to","pass","through","to",":","func",":","`","TriplesFactory.from_path","`","and","ultimately","through","to",":","func",":","`","pykeen.triples.utils.load_triples","`",".",":","param","download_kwargs",":","Keyword","arguments","to","pass","to",":","func",":","`","pystow.utils.download","`",":","param","version",":","accepts","a","string","``","v1","''","to","``","v4","''","to","select","among","Teru","et","al","inductive","datasets"]
code: def __init__(
      self,
      transductive_training_url: str,
      inductive_inference_url: str,
      inductive_testing_url: str,
      inductive_validation_url: str,
      cache_root: Optional[str] = None,
      force: bool = False,
      eager: bool = False,
      create_inverse_triples: bool = False,
      load_triples_kwargs: Optional[Mapping[str, Any]] = None,
      download_kwargs: Optional[Mapping[str, Any]] = None,
      version: Optional[str] = None,
  ):
      """Initialize dataset.
  
      :param transductive_training_url: The URL of the training file
      :param inductive_inference_url: The URL of the inductive inference graph file
      :param inductive_testing_url: The URL of the inductive testing file
      :param inductive_validation_url: The URL of the inductive validation file
      :param cache_root:
          An optional directory to store the extracted files. Is none is given, the default PyKEEN directory is used.
          This is defined either by the environment variable ``PYKEEN_HOME`` or defaults to ``~/.data/pykeen``.
      :param force: If true, redownload any cached files
      :param eager: Should the data be loaded eagerly? Defaults to false.
      :param create_inverse_triples: Should inverse triples be created? Defaults to false.
      :param load_triples_kwargs: Arguments to pass through to :func:`TriplesFactory.from_path`
          and ultimately through to :func:`pykeen.triples.utils.load_triples`.
      :param download_kwargs: Keyword arguments to pass to :func:`pystow.utils.download`
      :param version: accepts a string "v1" to "v4" to select among Teru et al inductive datasets
      """
      self.cache_root = self._help_cache(
          cache_root, version, sep_train_inference=True
      )
  
      self.transductive_training_url = transductive_training_url
      self.inductive_inference_url = inductive_inference_url
      self.inductive_testing_url = inductive_testing_url
      self.inductive_validation_url = inductive_validation_url
  
      transductive_training_path = self.cache_root.joinpath(
          "training", name_from_url(self.transductive_training_url)
      )
      inductive_inference_path = self.cache_root.joinpath(
          "inference", name_from_url(self.inductive_inference_url)
      )
      inductive_testing_path = self.cache_root.joinpath(
          "inference", name_from_url(self.inductive_testing_url)
      )
      inductive_validation_path = self.cache_root.joinpath(
          "inference", name_from_url(self.inductive_validation_url)
      )
  
      download_kwargs = (
          {} if download_kwargs is None else dict(download_kwargs)
      )
      download_kwargs.setdefault("backend", "urllib")
  
      for url, path in [
          (self.transductive_training_url, transductive_training_path),
          (self.inductive_inference_url, inductive_inference_path),
          (self.inductive_testing_url, inductive_testing_path),
          (self.inductive_validation_url, inductive_validation_path),
      ]:
          if force or not path.is_file():
              download(url, path, **download_kwargs)
  
      super().__init__(
          transductive_training_path=transductive_training_path,
          inductive_inference_path=inductive_inference_path,
          inductive_testing_path=inductive_testing_path,
          inductive_validation_path=inductive_validation_path,
          eager=eager,
          create_inverse_triples=create_inverse_triples,
          load_triples_kwargs=load_triples_kwargs,
      )
  
imports: from __future__ import annotations
  import logging
  import pathlib
  from dataclasses import dataclass
  from typing import Any, Iterable, Mapping, Optional, Union
  from pystow.utils import download, name_from_url
  from tabulate import tabulate
  from ...constants import PYKEEN_DATASETS
  from ...triples import CoreTriplesFactory, TriplesFactory
  from ...utils import normalize_path
label_desc: Use image node_id 1 to create a new UnpackedRemoteDisjointInductiveDataset object from inherited base classes: DisjointInductivePathDataset with example: obj = UnpackedRemoteDisjointInductiveDataset(transductive_training_url, inductive_inference_url, inductive_testing_url, inductive_validation_url, cache_root, force, eager, create_inverse_triples, load_triples_kwargs, download_kwargs, version)