Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Explanation of "directed acyclic graph of nodes"

...

A Fedora 4 repository is composed of one or more workspaces, each consisting of a directed acyclic graph of nodes where edges represent a parent-child relation.

For those without a computer science background, in repository terms:

  • A node is an object.
  • An edge is a relationship (in this case, a parent-child relationship) that links two or more nodes.  Edges are represented as RDF properties in a Fedora object.
  • A graph is a set of nodes connected by edges.  The entire set of objects in the workspace and their relationships to each other form a graph.
  • A directed graph is a graph whose edges have direction associated with them:  that is, the relations that link the nodes move in a given direction from one node to the next.  An example of an edge with a direction is isAChildOf.  The relationship expresses a direction from the parent to the child.  The relationship isParent can also link the same two nodes, but in the opposite direction.
  • A directed acyclic graph is a graph where whose edges never form loops (i.e., cycles) of nodes.  That is, if you start at node A, then follow a set of identical relations from that node to other nodes in a chain, you will never end up back at node A.  No Fedora object can ever be its own grandpa.
  • A hierarchical tree, such as the one modelled in the Fedora repository workspace, is a classic example of a directed acyclic graph of nodes.

Each persistent workspace is identified by a unique name within the repository. There is a default workspace, which has an empty workspace identifier.

...