package dgm.configuration; import com.tinkerpop.blueprints.Direction; import java.util.Map; /** * Any walk that can be reversed could function as an input to the parameter * reducer. * <p/> * However, not every language for defining graph walks is invertible. So to not * complicate things for the moment we restrict to forward and backward walks * which are each other's reverse. * * @author wires */ public interface WalkConfig { /** * The direction of the graph walk. * <p/> * At the moment Graph walks are restricted to forward or backward walks. * <p/> * <ul> * <li>Direction.IN means we follow edges from head to tail</li> * <li>Direction.OUT means we follow edges from tail to head</li> * </ul> * * @return */ Direction direction(); /** * A walk is always configured against a {@link TypeConfig} * * @return */ TypeConfig type(); /** * List of named {@link PropertyConfig}s * * @return */ Map<String, ? extends PropertyConfig> properties(); /** * Name of the walk */ String name(); }