docs: def _AddDependencyEdges(self, rdf_artifact):
      """Add an edge for every dependency of the given artifact.
  
      This method gets the attribute names for a given artifact and for every
      attribute it adds a directed edge from the attribute node to the artifact
      node. If an artifact does not have any dependencies it is added to the set
      of reachable nodes.
  
      Args:
        rdf_artifact: The artifact object.
      """
      artifact_dependencies = artifact_registry.GetArtifactPathDependencies(
          rdf_artifact)
      if artifact_dependencies:
        for attribute in artifact_dependencies:
          self._AddEdge(attribute, rdf_artifact.name)
      else:
        self.reachable_nodes.add(rdf_artifact.name)
        self.graph[rdf_artifact.name].is_provided = True