diff --git a/src/planner/match/Expand.cpp b/src/planner/match/Expand.cpp
index 1d6bab1461ac47f9bd63abbe2fd02aa55c4657ca..a6537dbd15c8ac9ff08a312f94163a409a2add02 100644
--- a/src/planner/match/Expand.cpp
+++ b/src/planner/match/Expand.cpp
@@ -90,32 +90,59 @@ Status Expand::doExpand(const NodeInfo& node,
     return Status::OK();
 }
 
+// (v)-[e]-()
 Status Expand::expandSteps(const NodeInfo& node,
                            const EdgeInfo& edge,
                            SubPlan* plan) {
     SubPlan subplan;
-    NG_RETURN_IF_ERROR(expandStep(edge, dependency_, inputVar_, node.filter, true, &subplan));
-    // plan->tail = subplan.tail;
-    PlanNode* passThrough = subplan.root;
+    int64_t startIndex = 0;
+    auto minHop = edge.range ? edge.range->min() : 1;
     auto maxHop = edge.range ? edge.range->max() : 1;
-    for (int64_t i = 1; i < maxHop; ++i) {
+
+    // In the case of 0 step, src node is the dst node, return the vertex directly
+    if (minHop == 0) {
+        subplan = *plan;
+        startIndex = 0;
+        // Get vertex
+        NG_RETURN_IF_ERROR(MatchSolver::appendFetchVertexPlan(node.filter,
+                                                              matchCtx_->space,
+                                                              matchCtx_->qctx,
+                                                              initialExpr_.release(),
+                                                              inputVar_,
+                                                              subplan));
+        // If maxHop > 0, the result of 0 step will be passed to next plan node
+        if (maxHop > 0) {
+            subplan.root = passThrough(matchCtx_->qctx, subplan.root);
+        }
+    } else {  // Case 1 to n steps
+        startIndex = 1;
+        // Expand first step from src
+        NG_RETURN_IF_ERROR(expandStep(edge, dependency_, inputVar_, node.filter, &subplan));
+        // Manualy create a passThrough node for the first step
+        // Rest steps will be passed through in collectData()
+        subplan.root = passThrough(matchCtx_->qctx, subplan.root);
+    }
+
+    PlanNode* passThrough = subplan.root;
+    for (; startIndex < maxHop; ++startIndex) {
         SubPlan curr;
         NG_RETURN_IF_ERROR(
-            expandStep(edge, passThrough, passThrough->outputVar(), nullptr, false, &curr));
+            expandStep(edge, passThrough, passThrough->outputVar(), nullptr, &curr));
         auto rNode = subplan.root;
         DCHECK(rNode->kind() == PNKind::kUnion || rNode->kind() == PNKind::kPassThrough);
         NG_RETURN_IF_ERROR(collectData(passThrough, curr.root, rNode, &passThrough, &subplan));
     }
     plan->root = subplan.root;
+
     return Status::OK();
 }
 
-// build subplan: Project->Dedup->GetNeighbors->[Filter]->Project
+
+// Build subplan: Project->Dedup->GetNeighbors->[Filter]->Project
 Status Expand::expandStep(const EdgeInfo& edge,
                           PlanNode* dep,
                           const std::string& inputVar,
                           const Expression* nodeFilter,
-                          bool needPassThrough,
                           SubPlan* plan) {
     auto qctx = matchCtx_->qctx;
 
@@ -172,13 +199,6 @@ Status Expand::expandStep(const EdgeInfo& edge,
     root = Project::make(qctx, root, listColumns);
     root->setColNames({kPathStr});
 
-    if (needPassThrough) {
-        auto pt = PassThroughNode::make(qctx, root);
-        pt->setColNames(root->colNames());
-        pt->setOutputVar(root->outputVar());
-        root = pt;
-    }
-
     plan->root = root;
     plan->tail = curr.tail;
     return Status::OK();
@@ -190,6 +210,7 @@ Status Expand::collectData(const PlanNode* joinLeft,
                            PlanNode** passThrough,
                            SubPlan* plan) {
     auto qctx = matchCtx_->qctx;
+    // [dataJoin]
     auto join = SegmentsConnector::innerJoinSegments(qctx, joinLeft, joinRight);
     auto lpath = folly::stringPrintf("%s_%d", kPathStr, 0);
     auto rpath = folly::stringPrintf("%s_%d", kPathStr, 1);
@@ -221,9 +242,9 @@ Status Expand::filterDatasetByPathLength(const EdgeInfo& edge,
                                          SubPlan* plan) {
     auto qctx = matchCtx_->qctx;
 
-    // filter rows whose edges number less than min hop
+    // Filter rows whose edges number less than min hop
     auto args = std::make_unique<ArgumentList>();
-    // expr: length(relationships(p)) >= minHop
+    // Expr: length(relationships(p)) >= minHop
     auto pathExpr = ExpressionUtils::inputPropExpr(kPathStr);
     args->addArgument(std::move(pathExpr));
     auto fn = std::make_unique<std::string>("length");
@@ -235,8 +256,16 @@ Status Expand::filterDatasetByPathLength(const EdgeInfo& edge,
     auto filter = Filter::make(qctx, input, saveObject(expr.release()));
     filter->setColNames(input->colNames());
     plan->root = filter;
-    // plan->tail = curr.tail;
+    // Plan->tail = curr.tail;
     return Status::OK();
 }
+
+PlanNode* Expand::passThrough(const QueryContext *qctx, const PlanNode *root) const {
+    auto pt = PassThroughNode::make(const_cast<QueryContext*>(qctx), const_cast<PlanNode*>(root));
+    pt->setOutputVar(root->outputVar());
+    pt->setColNames(root->colNames());
+    return pt;
+}
+
 }  // namespace graph
 }  // namespace nebula
diff --git a/src/planner/match/Expand.h b/src/planner/match/Expand.h
index ba4e9cfc23bf28cf68f0d337284476101566fb45..178edd44b4b9b6469138743c3815e9780f4e8944 100644
--- a/src/planner/match/Expand.h
+++ b/src/planner/match/Expand.h
@@ -50,7 +50,6 @@ private:
                       PlanNode* dep,
                       const std::string& inputVar,
                       const Expression* nodeFilter,
-                      bool needPassThrough,
                       SubPlan* plan);
 
     Status collectData(const PlanNode* joinLeft,
@@ -61,6 +60,10 @@ private:
 
     Status filterDatasetByPathLength(const EdgeInfo& edge, PlanNode* input, SubPlan* plan);
 
+    // Add a passThrough node into plan so that the result of previous ndoe
+    // can be used by multiple other plan nodes
+    PlanNode* passThrough(const QueryContext *qctx, const PlanNode *root) const;
+
     template <typename T>
     T* saveObject(T* obj) const {
         return matchCtx_->qctx->objPool()->add(obj);
diff --git a/src/planner/match/MatchClausePlanner.cpp b/src/planner/match/MatchClausePlanner.cpp
index 512e6d6d72e4a9c918a2d050d7009ae065067f88..d361185ae578ed083bc7b199d3e52c98f8e5b732 100644
--- a/src/planner/match/MatchClausePlanner.cpp
+++ b/src/planner/match/MatchClausePlanner.cpp
@@ -116,7 +116,6 @@ Status MatchClausePlanner::expandFromNode(const std::vector<NodeInfo>& nodeInfos
     SubPlan rightExpandPlan = subplan;
     NG_RETURN_IF_ERROR(
         rightExpandFromNode(nodeInfos, edgeInfos, matchClauseCtx, startIndex, rightExpandPlan));
-
     if (startIndex > 0) {
         auto left = rightExpandPlan.root;
         SubPlan leftExpandPlan = rightExpandPlan;
@@ -126,6 +125,7 @@ Status MatchClausePlanner::expandFromNode(const std::vector<NodeInfo>& nodeInfos
                                               startIndex,
                                               subplan.root->outputVar(),
                                               leftExpandPlan));
+
         rightExpandPlan.root = leftExpandPlan.root;
         if (startIndex < nodeInfos.size() - 1) {
             // Connect the left expand and right expand part.
@@ -175,16 +175,16 @@ Status MatchClausePlanner::leftExpandFromNode(const std::vector<NodeInfo>& nodeI
 
     VLOG(1) << "root: " << subplan.root->outputVar() << " tail: " << subplan.tail->outputVar();
     auto left = subplan.root;
-    NG_RETURN_IF_ERROR(
-        appendFetchVertexPlan(nodeInfos.front().filter,
-                              matchClauseCtx->space,
-                              matchClauseCtx->qctx,
-                              edgeInfos.empty() ? initialExpr_->clone().release() : nullptr,
-                              subplan));
+    NG_RETURN_IF_ERROR(MatchSolver::appendFetchVertexPlan(
+        nodeInfos.front().filter,
+        matchClauseCtx->space,
+        matchClauseCtx->qctx,
+        edgeInfos.empty() ? initialExpr_->clone().release() : nullptr,
+        subplan));
     if (!edgeInfos.empty()) {
         auto right = subplan.root;
         VLOG(1) << "left: " << folly::join(",", left->colNames())
-            << " right: " << folly::join(",", right->colNames());
+                << " right: " << folly::join(",", right->colNames());
         subplan.root = SegmentsConnector::innerJoinSegments(matchClauseCtx->qctx, left, right);
         joinColNames.emplace_back(
             folly::stringPrintf("%s_%lu", kPathStr, nodeInfos.size() + startIndex));
@@ -224,12 +224,12 @@ Status MatchClausePlanner::rightExpandFromNode(const std::vector<NodeInfo>& node
 
     VLOG(1) << "root: " << subplan.root->outputVar() << " tail: " << subplan.tail->outputVar();
     auto left = subplan.root;
-    NG_RETURN_IF_ERROR(
-        appendFetchVertexPlan(nodeInfos.back().filter,
-                              matchClauseCtx->space,
-                              matchClauseCtx->qctx,
-                              edgeInfos.empty() ? initialExpr_->clone().release() : nullptr,
-                              subplan));
+    NG_RETURN_IF_ERROR(MatchSolver::appendFetchVertexPlan(
+        nodeInfos.back().filter,
+        matchClauseCtx->space,
+        matchClauseCtx->qctx,
+        edgeInfos.empty() ? initialExpr_->clone().release() : nullptr,
+        subplan));
     if (!edgeInfos.empty()) {
         auto right = subplan.root;
         VLOG(1) << "left: " << folly::join(",", left->colNames())
@@ -256,84 +256,6 @@ Status MatchClausePlanner::expandFromEdge(const std::vector<NodeInfo>& nodeInfos
     return Status::Error("Expand from edge has not been implemented yet.");
 }
 
-Status MatchClausePlanner::appendFetchVertexPlan(const Expression* nodeFilter,
-                                                 const SpaceInfo& space,
-                                                 QueryContext* qctx,
-                                                 Expression* initialExpr,
-                                                 SubPlan& plan) {
-    MatchSolver::extractAndDedupVidColumn(
-        qctx, initialExpr, plan.root, plan.root->outputVar(), plan);
-    auto srcExpr = ExpressionUtils::inputPropExpr(kVid);
-    auto props = flattenTags(qctx, space);
-    NG_RETURN_IF_ERROR(props);
-    auto gv = GetVertices::make(
-        qctx,
-        plan.root,
-        space.id,
-        qctx->objPool()->add(srcExpr.release()),
-        std::move(props).value(),
-        {});
-
-    PlanNode* root = gv;
-    if (nodeFilter != nullptr) {
-        auto filter = qctx->objPool()->add(nodeFilter->clone().release());
-        RewriteMatchLabelVisitor visitor(
-            [](const Expression* expr) -> Expression *{
-            DCHECK(expr->kind() == Expression::Kind::kLabelAttribute ||
-                expr->kind() == Expression::Kind::kLabel);
-            // filter prop
-            if (expr->kind() == Expression::Kind::kLabelAttribute) {
-                auto la = static_cast<const LabelAttributeExpression*>(expr);
-                return new AttributeExpression(
-                    new VertexExpression(), la->right()->clone().release());
-            }
-            // filter tag
-            return new VertexExpression();
-        });
-        filter->accept(&visitor);
-        root = Filter::make(qctx, root, filter);
-    }
-
-    // normalize all columns to one
-    auto columns = qctx->objPool()->add(new YieldColumns);
-    auto pathExpr = std::make_unique<PathBuildExpression>();
-    pathExpr->add(std::make_unique<VertexExpression>());
-    columns->addColumn(new YieldColumn(pathExpr.release()));
-    plan.root = Project::make(qctx, root, columns);
-    plan.root->setColNames({kPathStr});
-    return Status::OK();
-}
-
-StatusOr<std::vector<storage::cpp2::VertexProp>>
-MatchClausePlanner::flattenTags(QueryContext *qctx, const SpaceInfo& space) {
-    // Get all tags in the space
-    const auto allTagsResult = qctx->schemaMng()->getAllLatestVerTagSchema(space.id);
-    NG_RETURN_IF_ERROR(allTagsResult);
-    // allTags: std::unordered_map<TagID, std::shared_ptr<const meta::NebulaSchemaProvider>>
-    const auto allTags = std::move(allTagsResult).value();
-
-    std::vector<storage::cpp2::VertexProp> props;
-    props.reserve(allTags.size());
-    // Retrieve prop names of each tag and append "_tag" to the name list to query empty tags
-    for (const auto &tag : allTags) {
-        // tag: pair<TagID, std::shared_ptr<const meta::NebulaSchemaProvider>>
-        std::vector<std::string> propNames;
-        storage::cpp2::VertexProp vProp;
-
-        const auto tagId = tag.first;
-        vProp.set_tag(tagId);
-        const auto tagSchema = tag.second;  // nebulaSchemaProvider
-        for (size_t i=0; i < tagSchema->getNumFields(); i++) {
-            const auto propName = tagSchema->getFieldName(i);
-            propNames.emplace_back(propName);
-        }
-        propNames.emplace_back(nebula::kTag);  // "_tag"
-        vProp.set_props(std::move(propNames));
-        props.emplace_back(std::move(vProp));
-    }
-    return props;
-}
-
 Status MatchClausePlanner::projectColumnsBySymbols(MatchClauseContext* matchClauseCtx,
                                                    size_t startIndex,
                                                    SubPlan& plan) {
diff --git a/src/planner/match/MatchClausePlanner.h b/src/planner/match/MatchClausePlanner.h
index 81b84e8eb1a3cc17164a23d8f8458762cdde4b80..69789af4152f7c03880e63179def8cde1dddb089 100644
--- a/src/planner/match/MatchClausePlanner.h
+++ b/src/planner/match/MatchClausePlanner.h
@@ -60,12 +60,6 @@ private:
                           size_t startIndex,
                           SubPlan& subplan);
 
-    Status appendFetchVertexPlan(const Expression* nodeFilter,
-                                 const SpaceInfo& space,
-                                 QueryContext* qctx,
-                                 Expression* initialExpr,
-                                 SubPlan& plan);
-
     Status projectColumnsBySymbols(MatchClauseContext* matchClauseCtx,
                                    size_t startIndex,
                                    SubPlan& plan);
@@ -80,9 +74,6 @@ private:
                                  size_t nodeInfoSize) const;
 
     Status appendFilterPlan(MatchClauseContext* matchClauseCtx, SubPlan& subplan);
-    // Fetch all tags in the space and retrieve props from tags
-    StatusOr<std::vector<storage::cpp2::VertexProp>> flattenTags(QueryContext *qctx,
-                                                                 const SpaceInfo& space);
 
 private:
     std::unique_ptr<Expression> initialExpr_;
diff --git a/src/planner/match/MatchSolver.cpp b/src/planner/match/MatchSolver.cpp
index d28c8a2e39c8634005c793a8b3922195e55316ce..83ef14282d991443144570d9b1059997924e7a5d 100644
--- a/src/planner/match/MatchSolver.cpp
+++ b/src/planner/match/MatchSolver.cpp
@@ -228,5 +228,93 @@ PlanNode* MatchSolver::filtPathHasSameEdge(PlanNode* input,
     return filter;
 }
 
+Status MatchSolver::appendFetchVertexPlan(const Expression* nodeFilter,
+                                          const SpaceInfo& space,
+                                          QueryContext* qctx,
+                                          Expression* initialExpr,
+                                          SubPlan& plan) {
+    return appendFetchVertexPlan(
+        nodeFilter, space, qctx, initialExpr, plan.root->outputVar(), plan);
+}
+
+Status MatchSolver::appendFetchVertexPlan(const Expression* nodeFilter,
+                                          const SpaceInfo& space,
+                                          QueryContext* qctx,
+                                          Expression* initialExpr,
+                                          std::string inputVar,
+                                          SubPlan& plan) {
+    // [Dedup]
+    extractAndDedupVidColumn(qctx, initialExpr, plan.root, inputVar, plan);
+    auto srcExpr = ExpressionUtils::inputPropExpr(kVid);
+    // [Get vertices]
+    auto props = flattenTags(qctx, space);
+    NG_RETURN_IF_ERROR(props);
+    auto gv = GetVertices::make(qctx,
+                                plan.root,
+                                space.id,
+                                qctx->objPool()->add(srcExpr.release()),
+                                std::move(props).value(),
+                                {});
+
+    PlanNode* root = gv;
+    if (nodeFilter != nullptr) {
+        auto filter = qctx->objPool()->add(nodeFilter->clone().release());
+        RewriteMatchLabelVisitor visitor(
+            [](const Expression* expr) -> Expression *{
+            DCHECK(expr->kind() == Expression::Kind::kLabelAttribute ||
+                expr->kind() == Expression::Kind::kLabel);
+            // filter prop
+            if (expr->kind() == Expression::Kind::kLabelAttribute) {
+                auto la = static_cast<const LabelAttributeExpression*>(expr);
+                return new AttributeExpression(
+                    new VertexExpression(), la->right()->clone().release());
+            }
+            // filter tag
+            return new VertexExpression();
+        });
+        filter->accept(&visitor);
+        root = Filter::make(qctx, root, filter);
+    }
+    // [Project]
+    // Normalize all columns to one
+    auto columns = qctx->objPool()->add(new YieldColumns);
+    auto pathExpr = std::make_unique<PathBuildExpression>();
+    pathExpr->add(std::make_unique<VertexExpression>());
+    columns->addColumn(new YieldColumn(pathExpr.release()));
+    plan.root = Project::make(qctx, root, columns);
+    plan.root->setColNames({kPathStr});
+    return Status::OK();
+}
+
+StatusOr<std::vector<storage::cpp2::VertexProp>> MatchSolver::flattenTags(QueryContext* qctx,
+                                                                          const SpaceInfo& space) {
+    // Get all tags in the space
+    const auto allTagsResult = qctx->schemaMng()->getAllLatestVerTagSchema(space.id);
+    NG_RETURN_IF_ERROR(allTagsResult);
+    // allTags: std::unordered_map<TagID, std::shared_ptr<const meta::NebulaSchemaProvider>>
+    const auto allTags = std::move(allTagsResult).value();
+
+    std::vector<storage::cpp2::VertexProp> props;
+    props.reserve(allTags.size());
+    // Retrieve prop names of each tag and append "_tag" to the name list to query empty tags
+    for (const auto& tag : allTags) {
+        // tag: pair<TagID, std::shared_ptr<const meta::NebulaSchemaProvider>>
+        std::vector<std::string> propNames;
+        storage::cpp2::VertexProp vProp;
+
+        const auto tagId = tag.first;
+        vProp.set_tag(tagId);
+        const auto tagSchema = tag.second;   // nebulaSchemaProvider
+        for (size_t i = 0; i < tagSchema->getNumFields(); i++) {
+            const auto propName = tagSchema->getFieldName(i);
+            propNames.emplace_back(propName);
+        }
+        propNames.emplace_back(nebula::kTag);   // "_tag"
+        vProp.set_props(std::move(propNames));
+        props.emplace_back(std::move(vProp));
+    }
+    return props;
+}
+
 }  // namespace graph
 }  // namespace nebula
diff --git a/src/planner/match/MatchSolver.h b/src/planner/match/MatchSolver.h
index ddce44c342d3b99413aabcdd75117d1dcad7e9f0..db068a138341994fa97485ea3baa7e79abcacf2f 100644
--- a/src/planner/match/MatchSolver.h
+++ b/src/planner/match/MatchSolver.h
@@ -60,7 +60,27 @@ public:
     static PlanNode* filtPathHasSameEdge(PlanNode* input,
                                          const std::string& column,
                                          QueryContext* qctx);
+
+    static Status appendFetchVertexPlan(const Expression* nodeFilter,
+                                        const SpaceInfo& space,
+                                        QueryContext* qctx,
+                                        Expression* initialExpr,
+                                        SubPlan& plan);
+
+    // In 0 step left expansion case, the result of initial index scan
+    // will be passed as inputVar after right expansion is finished
+    static Status appendFetchVertexPlan(const Expression* nodeFilter,
+                                        const SpaceInfo& space,
+                                        QueryContext* qctx,
+                                        Expression* initialExpr,
+                                        std::string inputVar,
+                                        SubPlan& plan);
+
+    // Fetch all tags in the space and retrieve props from tags
+    static StatusOr<std::vector<storage::cpp2::VertexProp>> flattenTags(QueryContext* qctx,
+                                                                        const SpaceInfo& space);
 };
+
 }  // namespace graph
 }  // namespace nebula
 #endif  // PLANNER_MATCHSOLVER_H_
diff --git a/src/planner/match/VertexIdSeek.cpp b/src/planner/match/VertexIdSeek.cpp
index 8774a48570b01b6502ba64ba6fca0eb8f8bc26c9..4338ec9b9444244e0e95ade1f7b7097d5647cf3d 100644
--- a/src/planner/match/VertexIdSeek.cpp
+++ b/src/planner/match/VertexIdSeek.cpp
@@ -117,8 +117,8 @@ StatusOr<SubPlan> VertexIdSeek::transformNode(NodeContext* nodeCtx) {
     }
 
     auto* passThrough = PassThroughNode::make(qctx, nullptr);
-    passThrough->setColNames({kVid});
     passThrough->setOutputVar(vidsResult.first);
+    passThrough->setColNames({kVid});
     plan.root = passThrough;
     plan.tail = passThrough;
 
diff --git a/src/validator/MatchValidator.cpp b/src/validator/MatchValidator.cpp
index 20e9f0414b817fdf9b49384a729862e0eb2edbd2..d392ce323782ea59806429c09118aa57d442a4a5 100644
--- a/src/validator/MatchValidator.cpp
+++ b/src/validator/MatchValidator.cpp
@@ -425,10 +425,11 @@ Status MatchValidator::validateStepRange(const MatchStepRange *range) const {
             "Max hop must be greater equal than min hop: %ld vs. %ld", max, min);
     }
     if (max == std::numeric_limits<int64_t>::max()) {
-        return Status::SemanticError("Not set maximum hop for variable length relationships");
+        return Status::SemanticError("Cannot set maximum hop for variable length relationships");
     }
     if (min < 0) {
-        return Status::SemanticError("Negtive steps are invalid");
+        return Status::SemanticError(
+            "Cannot set negtive steps minumum hop for variable length relationships");
     }
     return Status::OK();
 }
diff --git a/tests/tck/features/bugfix/MatchReturnEmptyTag.feature b/tests/tck/features/bugfix/MatchReturnEmptyTag.feature
index 6fa66f1869410e4c6501cb4cf71c824450ebff5d..b1052d6f436b589f37b2da8936abc32ef632943d 100644
--- a/tests/tck/features/bugfix/MatchReturnEmptyTag.feature
+++ b/tests/tck/features/bugfix/MatchReturnEmptyTag.feature
@@ -2,6 +2,7 @@
 #
 # This source code is licensed under Apache 2.0 License,
 # attached with Common Clause Condition 1.0, found in the LICENSES directory.
+@test
 Feature: Fix match losing undefined vertex tag info
   Examples:
     | space       | vid                |
diff --git a/tests/tck/features/match/Base.IntVid.feature b/tests/tck/features/match/Base.IntVid.feature
index c680a9dd33e48d18fc03138937098b174143d61e..958516d799a28461db70b1ea10b05ddbf73bef30 100644
--- a/tests/tck/features/match/Base.IntVid.feature
+++ b/tests/tck/features/match/Base.IntVid.feature
@@ -300,7 +300,7 @@ Feature: Basic match
       """
     Then a SemanticError should be raised at runtime: Only column name can be used as sort item
 
-  Scenario: Oeturn path
+  Scenario: Return path
     When executing query:
       """
       MATCH p = (n:player{name:"Tony Parker"}) return p,n
diff --git a/tests/tck/features/match/Base.feature b/tests/tck/features/match/Base.feature
index 32fc42e61776b9705d16ac8d7f84fd5512826cb1..619b8841809870d10accc5f3bf4f0e59f56edc20 100644
--- a/tests/tck/features/match/Base.feature
+++ b/tests/tck/features/match/Base.feature
@@ -300,7 +300,7 @@ Feature: Basic match
       """
     Then a SemanticError should be raised at runtime: Only column name can be used as sort item
 
-  Scenario: Oeturn path
+  Scenario: Return path
     When executing query:
       """
       MATCH p = (n:player{name:"Tony Parker"}) return p,n
diff --git a/tests/tck/features/match/ZeroStep.feature b/tests/tck/features/match/ZeroStep.feature
new file mode 100644
index 0000000000000000000000000000000000000000..2f50856c0a46695987f18d9f64c21bf65cbe4f83
--- /dev/null
+++ b/tests/tck/features/match/ZeroStep.feature
@@ -0,0 +1,457 @@
+# Copyright (c) 2020 vesoft inc. All rights reserved.
+#
+# This source code is licensed under Apache 2.0 License,
+# attached with Common Clause Condition 1.0, found in the LICENSES directory.
+Feature: Variable length Pattern match (0 step)
+
+  Background:
+    Given a graph with space named "nba"
+
+  Scenario Outline: Use step all-direction edge with properties 0 step, return node
+    When executing query:
+      """
+      MATCH <left_node><edge_dir_left><edge><edge_dir_right><right_node>
+      RETURN v
+      """
+    Then the result should be, in any order:
+      | v                                                                                                          |
+      | ("Tim Duncan":bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+
+    Examples:
+      | left_node                        | edge_dir_left | edge | edge_dir_right | right_node                       |
+      | (v :player {name: "Tim Duncan"}) | -             | [*0] | -              | ()                               |
+      | (v :player {name: "Tim Duncan"}) | <-            | [*0] | -              | ()                               |
+      | (v :player {name: "Tim Duncan"}) | -             | [*0] | ->             | ()                               |
+      | ()                               | -             | [*0] | -              | (v :player {name: "Tim Duncan"}) |
+      | ()                               | <-            | [*0] | -              | (v :player {name: "Tim Duncan"}) |
+      | ()                               | -             | [*0] | ->             | (v :player {name: "Tim Duncan"}) |
+
+  # match (v :player {name: "Tim Duncan"})-[e :like*0..1]-() return e
+  Scenario Outline: Use step all-direction edge without properties 0 to 1 step, return edge
+    When executing query:
+      """
+      MATCH <left_node><edge_dir_left><edge><edge_dir_right><right_node>
+      RETURN e
+      """
+    Then the result should be, in any order:
+      | e                                                             |
+      | [[:like "Aron Baynes"->"Tim Duncan" @0 {likeness: 80}]]       |
+      | [[:like "Boris Diaw"->"Tim Duncan" @0 {likeness: 80}]]        |
+      | [[:like "Danny Green"->"Tim Duncan" @0 {likeness: 70}]]       |
+      | [[:like "Dejounte Murray"->"Tim Duncan" @0 {likeness: 99}]]   |
+      | [[:like "LaMarcus Aldridge"->"Tim Duncan" @0 {likeness: 75}]] |
+      | [[:like "Manu Ginobili"->"Tim Duncan" @0 {likeness: 90}]]     |
+      | [[:like "Marco Belinelli"->"Tim Duncan" @0 {likeness: 55}]]   |
+      | [[:like "Shaquile O'Neal"->"Tim Duncan" @0 {likeness: 80}]]   |
+      | [[:like "Tiago Splitter"->"Tim Duncan" @0 {likeness: 80}]]    |
+      | [[:like "Tony Parker"->"Tim Duncan" @0 {likeness: 95}]]       |
+      | [[:like "Tim Duncan"->"Manu Ginobili" @0 {likeness: 95}]]     |
+      | [[:like "Tim Duncan"->"Tony Parker" @0 {likeness: 95}]]       |
+      | []                                                            |
+    When executing query:
+      """
+      MATCH (:player{name:"Tim Duncan"})-[e:serve*0..1]-(v)
+      RETURN e, v
+      """
+    Then the result should be, in any order:
+      | e                                                                      | v                                                                                                           |
+      | [[:serve "Tim Duncan"->"Spurs" @0 {end_year: 2016, start_year: 1997}]] | ("Spurs" :team{name: "Spurs"})                                                                              |
+      | []                                                                     | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+
+    Examples:
+      | left_node                        | edge_dir_left | edge           | edge_dir_right | right_node                       |
+      | (v :player {name: "Tim Duncan"}) | -             | [e :like*0..1] | -              | ()                               |
+      | ()                               | -             | [e :like*0..1] | -              | (v :player {name: "Tim Duncan"}) |
+
+  # match (v :player {name: "Tim Duncan"})-[e :like*0..1{likeness: 90}]->() return e
+  Scenario Outline: Use step one-direction edge with properties 0 to 1 step, return edge
+    When executing query:
+      """
+      MATCH <left_node><edge_dir_left><edge><edge_dir_right><right_node>
+      RETURN e
+      """
+    Then the result should be, in any order:
+      | e                                                         |
+      | [[:like "Manu Ginobili"->"Tim Duncan" @0 {likeness: 90}]] |
+      | []                                                        |
+
+    Examples:
+      | left_node                        | edge_dir_left | edge                         | edge_dir_right | right_node                       |
+      | (v :player {name: "Tim Duncan"}) | <-            | [e :like*0..1{likeness: 90}] | -              | ()                               |
+      | ()                               | -             | [e :like*0..1{likeness: 90}] | ->             | (v :player {name: "Tim Duncan"}) |
+
+  Scenario: Edge without properties 0 to n step, return edge and dst
+    When executing query:
+      """
+      MATCH (:player{name:"Tim Duncan"})-[e:serve*0..2]-(v)
+      RETURN e, v
+      """
+    Then the result should be, in any order:
+      | e                                                                                                                                                   | v                                                                                                           |
+      | [[:serve "Tim Duncan"->"Spurs" @0 {end_year: 2016, start_year: 1997}], [:serve "Aron Baynes"->"Spurs" @0 {end_year: 2015, start_year: 2013}]]       | ("Aron Baynes" :player{age: 32, name: "Aron Baynes"})                                                       |
+      | [[:serve "Tim Duncan"->"Spurs" @0 {end_year: 2016, start_year: 1997}], [:serve "Boris Diaw"->"Spurs" @0 {end_year: 2016, start_year: 2012}]]        | ("Boris Diaw" :player{age: 36, name: "Boris Diaw"})                                                         |
+      | [[:serve "Tim Duncan"->"Spurs" @0 {end_year: 2016, start_year: 1997}], [:serve "Cory Joseph"->"Spurs" @0 {end_year: 2015, start_year: 2011}]]       | ("Cory Joseph" :player{age: 27, name: "Cory Joseph"})                                                       |
+      | [[:serve "Tim Duncan"->"Spurs" @0 {end_year: 2016, start_year: 1997}], [:serve "Danny Green"->"Spurs" @0 {end_year: 2018, start_year: 2010}]]       | ("Danny Green" :player{age: 31, name: "Danny Green"})                                                       |
+      | [[:serve "Tim Duncan"->"Spurs" @0 {end_year: 2016, start_year: 1997}], [:serve "David West"->"Spurs" @0 {end_year: 2016, start_year: 2015}]]        | ("David West" :player{age: 38, name: "David West"})                                                         |
+      | [[:serve "Tim Duncan"->"Spurs" @0 {end_year: 2016, start_year: 1997}], [:serve "Dejounte Murray"->"Spurs" @0 {end_year: 2019, start_year: 2016}]]   | ("Dejounte Murray" :player{age: 29, name: "Dejounte Murray"})                                               |
+      | [[:serve "Tim Duncan"->"Spurs" @0 {end_year: 2016, start_year: 1997}], [:serve "Jonathon Simmons"->"Spurs" @0 {end_year: 2017, start_year: 2015}]]  | ("Jonathon Simmons" :player{age: 29, name: "Jonathon Simmons"})                                             |
+      | [[:serve "Tim Duncan"->"Spurs" @0 {end_year: 2016, start_year: 1997}], [:serve "Kyle Anderson"->"Spurs" @0 {end_year: 2018, start_year: 2014}]]     | ("Kyle Anderson" :player{age: 25, name: "Kyle Anderson"})                                                   |
+      | [[:serve "Tim Duncan"->"Spurs" @0 {end_year: 2016, start_year: 1997}], [:serve "LaMarcus Aldridge"->"Spurs" @0 {end_year: 2019, start_year: 2015}]] | ("LaMarcus Aldridge" :player{age: 33, name: "LaMarcus Aldridge"})                                           |
+      | [[:serve "Tim Duncan"->"Spurs" @0 {end_year: 2016, start_year: 1997}], [:serve "Manu Ginobili"->"Spurs" @0 {end_year: 2018, start_year: 2002}]]     | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   |
+      | [[:serve "Tim Duncan"->"Spurs" @0 {end_year: 2016, start_year: 1997}], [:serve "Marco Belinelli"->"Spurs" @0 {end_year: 2015, start_year: 2013}]]   | ("Marco Belinelli" :player{age: 32, name: "Marco Belinelli"})                                               |
+      | [[:serve "Tim Duncan"->"Spurs" @0 {end_year: 2016, start_year: 1997}], [:serve "Paul Gasol"->"Spurs" @0 {end_year: 2019, start_year: 2016}]]        | ("Paul Gasol" :player{age: 38, name: "Paul Gasol"})                                                         |
+      | [[:serve "Tim Duncan"->"Spurs" @0 {end_year: 2016, start_year: 1997}], [:serve "Rudy Gay"->"Spurs" @0 {end_year: 2019, start_year: 2017}]]          | ("Rudy Gay" :player{age: 32, name: "Rudy Gay"})                                                             |
+      | [[:serve "Tim Duncan"->"Spurs" @0 {end_year: 2016, start_year: 1997}], [:serve "Tiago Splitter"->"Spurs" @0 {end_year: 2015, start_year: 2010}]]    | ("Tiago Splitter" :player{age: 34, name: "Tiago Splitter"})                                                 |
+      | [[:serve "Tim Duncan"->"Spurs" @0 {end_year: 2016, start_year: 1997}], [:serve "Marco Belinelli"->"Spurs" @1 {end_year: 2019, start_year: 2018}]]   | ("Marco Belinelli" :player{age: 32, name: "Marco Belinelli"})                                               |
+      | [[:serve "Tim Duncan"->"Spurs" @0 {end_year: 2016, start_year: 1997}], [:serve "Tony Parker"->"Spurs" @0 {end_year: 2018, start_year: 1999}]]       | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       |
+      | [[:serve "Tim Duncan"->"Spurs" @0 {end_year: 2016, start_year: 1997}], [:serve "Tracy McGrady"->"Spurs" @0 {end_year: 2013, start_year: 2013}]]     | ("Tracy McGrady" :player{age: 39, name: "Tracy McGrady"})                                                   |
+      | [[:serve "Tim Duncan"->"Spurs" @0 {end_year: 2016, start_year: 1997}]]                                                                              | ("Spurs" :team{name: "Spurs"})                                                                              |
+      | []                                                                                                                                                  | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+
+  Scenario: Multiple variable length with edge filter
+    When executing query:
+      """
+      MATCH (:player{name:"Tim Duncan"})-[e:serve*0..2]-(v)-[e2 :like*0..2{likeness:90}]-(v2)
+      RETURN e2, v2
+      """
+    Then the result should be, in any order:
+      | e2                                                                                                                     | v2                                                                                                          |
+      | [[:like "Tracy McGrady"->"Rudy Gay" @0 {likeness: 90}], [:like "Grant Hill"->"Tracy McGrady" @0 {likeness: 90}]]       | ("Grant Hill" :player{age: 46, name: "Grant Hill"})                                                         |
+      | [[:like "Tracy McGrady"->"Rudy Gay" @0 {likeness: 90}], [:like "Vince Carter"->"Tracy McGrady" @0 {likeness: 90}]]     | ("Vince Carter" :player{age: 42, name: "Vince Carter"})                                                     |
+      | [[:like "Manu Ginobili"->"Tim Duncan" @0 {likeness: 90}], [:like "Tiago Splitter"->"Manu Ginobili" @0 {likeness: 90}]] | ("Tiago Splitter" :player{age: 34, name: "Tiago Splitter"})                                                 |
+      | [[:like "Yao Ming"->"Tracy McGrady" @0 {likeness: 90}], [:like "Yao Ming"->"Shaquile O'Neal" @0 {likeness: 90}]]       | ("Shaquile O'Neal" :player{age: 47, name: "Shaquile O'Neal"})                                               |
+      | [[:like "Tracy McGrady"->"Grant Hill" @0 {likeness: 90}], [:like "Grant Hill"->"Tracy McGrady" @0 {likeness: 90}]]     | ("Tracy McGrady" :player{age: 39, name: "Tracy McGrady"})                                                   |
+      | [[:like "Tracy McGrady"->"Rudy Gay" @0 {likeness: 90}], [:like "Yao Ming"->"Tracy McGrady" @0 {likeness: 90}]]         | ("Yao Ming" :player{age: 38, name: "Yao Ming"})                                                             |
+      | [[:like "Tiago Splitter"->"Manu Ginobili" @0 {likeness: 90}], [:like "Manu Ginobili"->"Tim Duncan" @0 {likeness: 90}]] | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | [[:like "Tracy McGrady"->"Rudy Gay" @0 {likeness: 90}], [:like "Tracy McGrady"->"Grant Hill" @0 {likeness: 90}]]       | ("Grant Hill" :player{age: 46, name: "Grant Hill"})                                                         |
+      | [[:like "Tracy McGrady"->"Rudy Gay" @0 {likeness: 90}], [:like "Tracy McGrady"->"Kobe Bryant" @0 {likeness: 90}]]      | ("Kobe Bryant" :player{age: 40, name: "Kobe Bryant"})                                                       |
+      | [[:like "Paul Gasol"->"Kobe Bryant" @0 {likeness: 90}], [:like "Tracy McGrady"->"Kobe Bryant" @0 {likeness: 90}]]      | ("Tracy McGrady" :player{age: 39, name: "Tracy McGrady"})                                                   |
+      | [[:like "Grant Hill"->"Tracy McGrady" @0 {likeness: 90}], [:like "Tracy McGrady"->"Grant Hill" @0 {likeness: 90}]]     | ("Tracy McGrady" :player{age: 39, name: "Tracy McGrady"})                                                   |
+      | [[:like "Tracy McGrady"->"Kobe Bryant" @0 {likeness: 90}], [:like "Paul Gasol"->"Kobe Bryant" @0 {likeness: 90}]]      | ("Paul Gasol" :player{age: 38, name: "Paul Gasol"})                                                         |
+      | [[:like "Paul Gasol"->"Kobe Bryant" @0 {likeness: 90}]]                                                                | ("Kobe Bryant" :player{age: 40, name: "Kobe Bryant"})                                                       |
+      | [[:like "Tony Parker"->"LaMarcus Aldridge" @0 {likeness: 90}]]                                                         | ("LaMarcus Aldridge" :player{age: 33, name: "LaMarcus Aldridge"})                                           |
+      | [[:like "Tiago Splitter"->"Manu Ginobili" @0 {likeness: 90}]]                                                          | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   |
+      | [[:like "Tony Parker"->"LaMarcus Aldridge" @0 {likeness: 90}]]                                                         | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       |
+      | [[:like "Manu Ginobili"->"Tim Duncan" @0 {likeness: 90}]]                                                              | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | [[:like "Tiago Splitter"->"Manu Ginobili" @0 {likeness: 90}]]                                                          | ("Tiago Splitter" :player{age: 34, name: "Tiago Splitter"})                                                 |
+      | [[:like "Tracy McGrady"->"Rudy Gay" @0 {likeness: 90}]]                                                                | ("Tracy McGrady" :player{age: 39, name: "Tracy McGrady"})                                                   |
+      | [[:like "Manu Ginobili"->"Tim Duncan" @0 {likeness: 90}]]                                                              | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   |
+      | [[:like "Tracy McGrady"->"Rudy Gay" @0 {likeness: 90}]]                                                                | ("Rudy Gay" :player{age: 32, name: "Rudy Gay"})                                                             |
+      | [[:like "Tracy McGrady"->"Kobe Bryant" @0 {likeness: 90}]]                                                             | ("Kobe Bryant" :player{age: 40, name: "Kobe Bryant"})                                                       |
+      | [[:like "Tracy McGrady"->"Grant Hill" @0 {likeness: 90}]]                                                              | ("Grant Hill" :player{age: 46, name: "Grant Hill"})                                                         |
+      | [[:like "Yao Ming"->"Tracy McGrady" @0 {likeness: 90}]]                                                                | ("Yao Ming" :player{age: 38, name: "Yao Ming"})                                                             |
+      | [[:like "Vince Carter"->"Tracy McGrady" @0 {likeness: 90}]]                                                            | ("Vince Carter" :player{age: 42, name: "Vince Carter"})                                                     |
+      | [[:like "Grant Hill"->"Tracy McGrady" @0 {likeness: 90}]]                                                              | ("Grant Hill" :player{age: 46, name: "Grant Hill"})                                                         |
+      | []                                                                                                                     | ("Paul Gasol" :player{age: 38, name: "Paul Gasol"})                                                         |
+      | []                                                                                                                     | ("Cory Joseph" :player{age: 27, name: "Cory Joseph"})                                                       |
+      | []                                                                                                                     | ("Marco Belinelli" :player{age: 32, name: "Marco Belinelli"})                                               |
+      | []                                                                                                                     | ("Marco Belinelli" :player{age: 32, name: "Marco Belinelli"})                                               |
+      | []                                                                                                                     | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       |
+      | []                                                                                                                     | ("Dejounte Murray" :player{age: 29, name: "Dejounte Murray"})                                               |
+      | []                                                                                                                     | ("David West" :player{age: 38, name: "David West"})                                                         |
+      | []                                                                                                                     | ("Tiago Splitter" :player{age: 34, name: "Tiago Splitter"})                                                 |
+      | []                                                                                                                     | ("Boris Diaw" :player{age: 36, name: "Boris Diaw"})                                                         |
+      | []                                                                                                                     | ("LaMarcus Aldridge" :player{age: 33, name: "LaMarcus Aldridge"})                                           |
+      | []                                                                                                                     | ("Aron Baynes" :player{age: 32, name: "Aron Baynes"})                                                       |
+      | []                                                                                                                     | ("Kyle Anderson" :player{age: 25, name: "Kyle Anderson"})                                                   |
+      | []                                                                                                                     | ("Danny Green" :player{age: 31, name: "Danny Green"})                                                       |
+      | []                                                                                                                     | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   |
+      | []                                                                                                                     | ("Rudy Gay" :player{age: 32, name: "Rudy Gay"})                                                             |
+      | []                                                                                                                     | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | []                                                                                                                     | ("Tracy McGrady" :player{age: 39, name: "Tracy McGrady"})                                                   |
+      | []                                                                                                                     | ("Jonathon Simmons" :player{age: 29, name: "Jonathon Simmons"})                                             |
+      | []                                                                                                                     | ("Spurs" :team{name: "Spurs"})                                                                              |
+    When executing query:
+      """
+      MATCH (v) -[*0..1]-(v2:player{name: "Tim Duncan"})-[*0..1]->()
+      RETURN v, v2
+      """
+    Then the result should be, in any order:
+      | v                                                                                                           | v2                                                                                                          |
+      | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Danny Green" :player{age: 31, name: "Danny Green"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Danny Green" :player{age: 31, name: "Danny Green"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Danny Green" :player{age: 31, name: "Danny Green"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Danny Green" :player{age: 31, name: "Danny Green"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Danny Green" :player{age: 31, name: "Danny Green"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Danny Green" :player{age: 31, name: "Danny Green"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Danny Green" :player{age: 31, name: "Danny Green"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("LaMarcus Aldridge" :player{age: 33, name: "LaMarcus Aldridge"})                                           | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("LaMarcus Aldridge" :player{age: 33, name: "LaMarcus Aldridge"})                                           | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("LaMarcus Aldridge" :player{age: 33, name: "LaMarcus Aldridge"})                                           | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("LaMarcus Aldridge" :player{age: 33, name: "LaMarcus Aldridge"})                                           | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("LaMarcus Aldridge" :player{age: 33, name: "LaMarcus Aldridge"})                                           | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("LaMarcus Aldridge" :player{age: 33, name: "LaMarcus Aldridge"})                                           | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("LaMarcus Aldridge" :player{age: 33, name: "LaMarcus Aldridge"})                                           | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Aron Baynes" :player{age: 32, name: "Aron Baynes"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Aron Baynes" :player{age: 32, name: "Aron Baynes"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Aron Baynes" :player{age: 32, name: "Aron Baynes"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Aron Baynes" :player{age: 32, name: "Aron Baynes"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Aron Baynes" :player{age: 32, name: "Aron Baynes"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Aron Baynes" :player{age: 32, name: "Aron Baynes"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Aron Baynes" :player{age: 32, name: "Aron Baynes"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Aron Baynes" :player{age: 32, name: "Aron Baynes"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Boris Diaw" :player{age: 36, name: "Boris Diaw"})                                                         | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Boris Diaw" :player{age: 36, name: "Boris Diaw"})                                                         | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Boris Diaw" :player{age: 36, name: "Boris Diaw"})                                                         | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Boris Diaw" :player{age: 36, name: "Boris Diaw"})                                                         | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Boris Diaw" :player{age: 36, name: "Boris Diaw"})                                                         | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Boris Diaw" :player{age: 36, name: "Boris Diaw"})                                                         | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Boris Diaw" :player{age: 36, name: "Boris Diaw"})                                                         | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Boris Diaw" :player{age: 36, name: "Boris Diaw"})                                                         | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Danny Green" :player{age: 31, name: "Danny Green"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Danny Green" :player{age: 31, name: "Danny Green"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Danny Green" :player{age: 31, name: "Danny Green"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Danny Green" :player{age: 31, name: "Danny Green"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Danny Green" :player{age: 31, name: "Danny Green"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Danny Green" :player{age: 31, name: "Danny Green"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Danny Green" :player{age: 31, name: "Danny Green"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Danny Green" :player{age: 31, name: "Danny Green"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Dejounte Murray" :player{age: 29, name: "Dejounte Murray"})                                               | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Dejounte Murray" :player{age: 29, name: "Dejounte Murray"})                                               | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Dejounte Murray" :player{age: 29, name: "Dejounte Murray"})                                               | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Dejounte Murray" :player{age: 29, name: "Dejounte Murray"})                                               | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Dejounte Murray" :player{age: 29, name: "Dejounte Murray"})                                               | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Dejounte Murray" :player{age: 29, name: "Dejounte Murray"})                                               | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Dejounte Murray" :player{age: 29, name: "Dejounte Murray"})                                               | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Dejounte Murray" :player{age: 29, name: "Dejounte Murray"})                                               | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("LaMarcus Aldridge" :player{age: 33, name: "LaMarcus Aldridge"})                                           | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("LaMarcus Aldridge" :player{age: 33, name: "LaMarcus Aldridge"})                                           | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("LaMarcus Aldridge" :player{age: 33, name: "LaMarcus Aldridge"})                                           | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("LaMarcus Aldridge" :player{age: 33, name: "LaMarcus Aldridge"})                                           | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("LaMarcus Aldridge" :player{age: 33, name: "LaMarcus Aldridge"})                                           | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("LaMarcus Aldridge" :player{age: 33, name: "LaMarcus Aldridge"})                                           | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("LaMarcus Aldridge" :player{age: 33, name: "LaMarcus Aldridge"})                                           | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("LaMarcus Aldridge" :player{age: 33, name: "LaMarcus Aldridge"})                                           | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Marco Belinelli" :player{age: 32, name: "Marco Belinelli"})                                               | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Marco Belinelli" :player{age: 32, name: "Marco Belinelli"})                                               | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Marco Belinelli" :player{age: 32, name: "Marco Belinelli"})                                               | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Marco Belinelli" :player{age: 32, name: "Marco Belinelli"})                                               | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Marco Belinelli" :player{age: 32, name: "Marco Belinelli"})                                               | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Marco Belinelli" :player{age: 32, name: "Marco Belinelli"})                                               | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Marco Belinelli" :player{age: 32, name: "Marco Belinelli"})                                               | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Marco Belinelli" :player{age: 32, name: "Marco Belinelli"})                                               | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Shaquile O'Neal" :player{age: 47, name: "Shaquile O'Neal"})                                               | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Shaquile O'Neal" :player{age: 47, name: "Shaquile O'Neal"})                                               | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Shaquile O'Neal" :player{age: 47, name: "Shaquile O'Neal"})                                               | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Shaquile O'Neal" :player{age: 47, name: "Shaquile O'Neal"})                                               | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Shaquile O'Neal" :player{age: 47, name: "Shaquile O'Neal"})                                               | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Shaquile O'Neal" :player{age: 47, name: "Shaquile O'Neal"})                                               | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Shaquile O'Neal" :player{age: 47, name: "Shaquile O'Neal"})                                               | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Shaquile O'Neal" :player{age: 47, name: "Shaquile O'Neal"})                                               | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tiago Splitter" :player{age: 34, name: "Tiago Splitter"})                                                 | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tiago Splitter" :player{age: 34, name: "Tiago Splitter"})                                                 | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tiago Splitter" :player{age: 34, name: "Tiago Splitter"})                                                 | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tiago Splitter" :player{age: 34, name: "Tiago Splitter"})                                                 | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tiago Splitter" :player{age: 34, name: "Tiago Splitter"})                                                 | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tiago Splitter" :player{age: 34, name: "Tiago Splitter"})                                                 | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tiago Splitter" :player{age: 34, name: "Tiago Splitter"})                                                 | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tiago Splitter" :player{age: 34, name: "Tiago Splitter"})                                                 | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Spurs" :team{name: "Spurs"})                                                                              | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Spurs" :team{name: "Spurs"})                                                                              | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Spurs" :team{name: "Spurs"})                                                                              | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Spurs" :team{name: "Spurs"})                                                                              | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Spurs" :team{name: "Spurs"})                                                                              | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Spurs" :team{name: "Spurs"})                                                                              | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Spurs" :team{name: "Spurs"})                                                                              | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+    When executing query:
+      """
+      MATCH (v) -[*0..1]-(v2:player{name: "Tim Duncan"})-[e*1..2]->(v3)
+      RETURN DISTINCT v3.name AS Name, e ORDER BY Name
+      """
+    Then the result should be, in any order:
+      | Name                | e                                                                                                                                                                          |
+      | "Cavaliers"         | [[:teammate "Tim Duncan"->"Danny Green" @0 {end_year: 2016, start_year: 2010}], [:serve "Danny Green"->"Cavaliers" @0 {end_year: 2010, start_year: 2009}]]                 |
+      | "Danny Green"       | [[:teammate "Tim Duncan"->"Danny Green" @0 {end_year: 2016, start_year: 2010}]]                                                                                            |
+      | "Hornets"           | [[:like "Tim Duncan"->"Tony Parker" @0 {likeness: 95}], [:serve "Tony Parker"->"Hornets" @0 {end_year: 2019, start_year: 2018}]]                                           |
+      | "Hornets"           | [[:teammate "Tim Duncan"->"Tony Parker" @0 {end_year: 2016, start_year: 2001}], [:serve "Tony Parker"->"Hornets" @0 {end_year: 2019, start_year: 2018}]]                   |
+      | "Kyle Anderson"     | [[:teammate "Tim Duncan"->"Tony Parker" @0 {end_year: 2016, start_year: 2001}], [:teammate "Tony Parker"->"Kyle Anderson" @0 {end_year: 2016, start_year: 2014}]]          |
+      | "Kyle Anderson"     | [[:like "Tim Duncan"->"Tony Parker" @0 {likeness: 95}], [:teammate "Tony Parker"->"Kyle Anderson" @0 {end_year: 2016, start_year: 2014}]]                                  |
+      | "LaMarcus Aldridge" | [[:teammate "Tim Duncan"->"LaMarcus Aldridge" @0 {end_year: 2016, start_year: 2015}]]                                                                                      |
+      | "LaMarcus Aldridge" | [[:teammate "Tim Duncan"->"Tony Parker" @0 {end_year: 2016, start_year: 2001}], [:teammate "Tony Parker"->"LaMarcus Aldridge" @0 {end_year: 2018, start_year: 2015}]]      |
+      | "LaMarcus Aldridge" | [[:like "Tim Duncan"->"Tony Parker" @0 {likeness: 95}], [:teammate "Tony Parker"->"LaMarcus Aldridge" @0 {end_year: 2018, start_year: 2015}]]                              |
+      | "LaMarcus Aldridge" | [[:teammate "Tim Duncan"->"Tony Parker" @0 {end_year: 2016, start_year: 2001}], [:like "Tony Parker"->"LaMarcus Aldridge" @0 {likeness: 90}]]                              |
+      | "LaMarcus Aldridge" | [[:like "Tim Duncan"->"Tony Parker" @0 {likeness: 95}], [:like "Tony Parker"->"LaMarcus Aldridge" @0 {likeness: 90}]]                                                      |
+      | "LeBron James"      | [[:teammate "Tim Duncan"->"Danny Green" @0 {end_year: 2016, start_year: 2010}], [:like "Danny Green"->"LeBron James" @0 {likeness: 80}]]                                   |
+      | "Manu Ginobili"     | [[:teammate "Tim Duncan"->"Tony Parker" @0 {end_year: 2016, start_year: 2001}], [:teammate "Tony Parker"->"Manu Ginobili" @0 {end_year: 2018, start_year: 2002}]]          |
+      | "Manu Ginobili"     | [[:like "Tim Duncan"->"Tony Parker" @0 {likeness: 95}], [:like "Tony Parker"->"Manu Ginobili" @0 {likeness: 95}]]                                                          |
+      | "Manu Ginobili"     | [[:teammate "Tim Duncan"->"Tony Parker" @0 {end_year: 2016, start_year: 2001}], [:like "Tony Parker"->"Manu Ginobili" @0 {likeness: 95}]]                                  |
+      | "Manu Ginobili"     | [[:like "Tim Duncan"->"Tony Parker" @0 {likeness: 95}], [:teammate "Tony Parker"->"Manu Ginobili" @0 {end_year: 2018, start_year: 2002}]]                                  |
+      | "Manu Ginobili"     | [[:teammate "Tim Duncan"->"Manu Ginobili" @0 {end_year: 2016, start_year: 2002}]]                                                                                          |
+      | "Manu Ginobili"     | [[:like "Tim Duncan"->"Manu Ginobili" @0 {likeness: 95}]]                                                                                                                  |
+      | "Marco Belinelli"   | [[:teammate "Tim Duncan"->"Danny Green" @0 {end_year: 2016, start_year: 2010}], [:like "Danny Green"->"Marco Belinelli" @0 {likeness: 83}]]                                |
+      | "Raptors"           | [[:teammate "Tim Duncan"->"Danny Green" @0 {end_year: 2016, start_year: 2010}], [:serve "Danny Green"->"Raptors" @0 {end_year: 2019, start_year: 2018}]]                   |
+      | "Spurs"             | [[:like "Tim Duncan"->"Manu Ginobili" @0 {likeness: 95}], [:serve "Manu Ginobili"->"Spurs" @0 {end_year: 2018, start_year: 2002}]]                                         |
+      | "Spurs"             | [[:teammate "Tim Duncan"->"Manu Ginobili" @0 {end_year: 2016, start_year: 2002}], [:serve "Manu Ginobili"->"Spurs" @0 {end_year: 2018, start_year: 2002}]]                 |
+      | "Spurs"             | [[:like "Tim Duncan"->"Tony Parker" @0 {likeness: 95}], [:serve "Tony Parker"->"Spurs" @0 {end_year: 2018, start_year: 1999}]]                                             |
+      | "Spurs"             | [[:teammate "Tim Duncan"->"Tony Parker" @0 {end_year: 2016, start_year: 2001}], [:serve "Tony Parker"->"Spurs" @0 {end_year: 2018, start_year: 1999}]]                     |
+      | "Spurs"             | [[:teammate "Tim Duncan"->"Danny Green" @0 {end_year: 2016, start_year: 2010}], [:serve "Danny Green"->"Spurs" @0 {end_year: 2018, start_year: 2010}]]                     |
+      | "Spurs"             | [[:serve "Tim Duncan"->"Spurs" @0 {end_year: 2016, start_year: 1997}]]                                                                                                     |
+      | "Spurs"             | [[:teammate "Tim Duncan"->"LaMarcus Aldridge" @0 {end_year: 2016, start_year: 2015}], [:serve "LaMarcus Aldridge"->"Spurs" @0 {end_year: 2019, start_year: 2015}]]         |
+      | "Tim Duncan"        | [[:teammate "Tim Duncan"->"Danny Green" @0 {end_year: 2016, start_year: 2010}], [:like "Danny Green"->"Tim Duncan" @0 {likeness: 70}]]                                     |
+      | "Tim Duncan"        | [[:like "Tim Duncan"->"Manu Ginobili" @0 {likeness: 95}], [:like "Manu Ginobili"->"Tim Duncan" @0 {likeness: 90}]]                                                         |
+      | "Tim Duncan"        | [[:teammate "Tim Duncan"->"Manu Ginobili" @0 {end_year: 2016, start_year: 2002}], [:like "Manu Ginobili"->"Tim Duncan" @0 {likeness: 90}]]                                 |
+      | "Tim Duncan"        | [[:teammate "Tim Duncan"->"Tony Parker" @0 {end_year: 2016, start_year: 2001}], [:teammate "Tony Parker"->"Tim Duncan" @0 {end_year: 2016, start_year: 2001}]]             |
+      | "Tim Duncan"        | [[:like "Tim Duncan"->"Tony Parker" @0 {likeness: 95}], [:teammate "Tony Parker"->"Tim Duncan" @0 {end_year: 2016, start_year: 2001}]]                                     |
+      | "Tim Duncan"        | [[:like "Tim Duncan"->"Manu Ginobili" @0 {likeness: 95}], [:teammate "Manu Ginobili"->"Tim Duncan" @0 {end_year: 2016, start_year: 2002}]]                                 |
+      | "Tim Duncan"        | [[:teammate "Tim Duncan"->"Tony Parker" @0 {end_year: 2016, start_year: 2001}], [:like "Tony Parker"->"Tim Duncan" @0 {likeness: 95}]]                                     |
+      | "Tim Duncan"        | [[:like "Tim Duncan"->"Tony Parker" @0 {likeness: 95}], [:like "Tony Parker"->"Tim Duncan" @0 {likeness: 95}]]                                                             |
+      | "Tim Duncan"        | [[:teammate "Tim Duncan"->"Manu Ginobili" @0 {end_year: 2016, start_year: 2002}], [:teammate "Manu Ginobili"->"Tim Duncan" @0 {end_year: 2016, start_year: 2002}]]         |
+      | "Tim Duncan"        | [[:teammate "Tim Duncan"->"LaMarcus Aldridge" @0 {end_year: 2016, start_year: 2015}], [:like "LaMarcus Aldridge"->"Tim Duncan" @0 {likeness: 75}]]                         |
+      | "Tony Parker"       | [[:teammate "Tim Duncan"->"Tony Parker" @0 {end_year: 2016, start_year: 2001}]]                                                                                            |
+      | "Tony Parker"       | [[:teammate "Tim Duncan"->"LaMarcus Aldridge" @0 {end_year: 2016, start_year: 2015}], [:like "LaMarcus Aldridge"->"Tony Parker" @0 {likeness: 75}]]                        |
+      | "Tony Parker"       | [[:like "Tim Duncan"->"Manu Ginobili" @0 {likeness: 95}], [:teammate "Manu Ginobili"->"Tony Parker" @0 {end_year: 2016, start_year: 2002}]]                                |
+      | "Tony Parker"       | [[:teammate "Tim Duncan"->"Manu Ginobili" @0 {end_year: 2016, start_year: 2002}], [:teammate "Manu Ginobili"->"Tony Parker" @0 {end_year: 2016, start_year: 2002}]]        |
+      | "Tony Parker"       | [[:like "Tim Duncan"->"Tony Parker" @0 {likeness: 95}]]                                                                                                                    |
+      | "Trail Blazers"     | [[:teammate "Tim Duncan"->"LaMarcus Aldridge" @0 {end_year: 2016, start_year: 2015}], [:serve "LaMarcus Aldridge"->"Trail Blazers" @0 {end_year: 2015, start_year: 2006}]] |
+    When executing query:
+      """
+      MATCH (v) -[e1*0..1{likeness: 90}]-(v2:player{name: "Tony Parker"})-[*1..2]->(v3)
+      RETURN e1, v3 as Player ORDER BY Player
+      """
+    Then the result should be, in any order:
+      | e1                                                             | Player                                                                                                      |
+      | [[:like "Tony Parker"->"LaMarcus Aldridge" @0 {likeness: 90}]] | ("Danny Green" :player{age: 31, name: "Danny Green"})                                                       |
+      | []                                                             | ("Danny Green" :player{age: 31, name: "Danny Green"})                                                       |
+      | [[:like "Tony Parker"->"LaMarcus Aldridge" @0 {likeness: 90}]] | ("Danny Green" :player{age: 31, name: "Danny Green"})                                                       |
+      | []                                                             | ("Danny Green" :player{age: 31, name: "Danny Green"})                                                       |
+      | []                                                             | ("Grizzlies" :team{name: "Grizzlies"})                                                                      |
+      | [[:like "Tony Parker"->"LaMarcus Aldridge" @0 {likeness: 90}]] | ("Grizzlies" :team{name: "Grizzlies"})                                                                      |
+      | [[:like "Tony Parker"->"LaMarcus Aldridge" @0 {likeness: 90}]] | ("Hornets" :team{name: "Hornets"})                                                                          |
+      | []                                                             | ("Hornets" :team{name: "Hornets"})                                                                          |
+      | []                                                             | ("Kyle Anderson" :player{age: 25, name: "Kyle Anderson"})                                                   |
+      | [[:like "Tony Parker"->"LaMarcus Aldridge" @0 {likeness: 90}]] | ("Kyle Anderson" :player{age: 25, name: "Kyle Anderson"})                                                   |
+      | []                                                             | ("LaMarcus Aldridge" :player{age: 33, name: "LaMarcus Aldridge"})                                           |
+      | []                                                             | ("LaMarcus Aldridge" :player{age: 33, name: "LaMarcus Aldridge"})                                           |
+      | [[:like "Tony Parker"->"LaMarcus Aldridge" @0 {likeness: 90}]] | ("LaMarcus Aldridge" :player{age: 33, name: "LaMarcus Aldridge"})                                           |
+      | [[:like "Tony Parker"->"LaMarcus Aldridge" @0 {likeness: 90}]] | ("LaMarcus Aldridge" :player{age: 33, name: "LaMarcus Aldridge"})                                           |
+      | []                                                             | ("LaMarcus Aldridge" :player{age: 33, name: "LaMarcus Aldridge"})                                           |
+      | [[:like "Tony Parker"->"LaMarcus Aldridge" @0 {likeness: 90}]] | ("LaMarcus Aldridge" :player{age: 33, name: "LaMarcus Aldridge"})                                           |
+      | []                                                             | ("LaMarcus Aldridge" :player{age: 33, name: "LaMarcus Aldridge"})                                           |
+      | []                                                             | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   |
+      | [[:like "Tony Parker"->"LaMarcus Aldridge" @0 {likeness: 90}]] | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   |
+      | []                                                             | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   |
+      | [[:like "Tony Parker"->"LaMarcus Aldridge" @0 {likeness: 90}]] | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   |
+      | []                                                             | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   |
+      | []                                                             | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   |
+      | [[:like "Tony Parker"->"LaMarcus Aldridge" @0 {likeness: 90}]] | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   |
+      | [[:like "Tony Parker"->"LaMarcus Aldridge" @0 {likeness: 90}]] | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   |
+      | []                                                             | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   |
+      | [[:like "Tony Parker"->"LaMarcus Aldridge" @0 {likeness: 90}]] | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   |
+      | []                                                             | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   |
+      | [[:like "Tony Parker"->"LaMarcus Aldridge" @0 {likeness: 90}]] | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   |
+      | [[:like "Tony Parker"->"LaMarcus Aldridge" @0 {likeness: 90}]] | ("Spurs" :team{name: "Spurs"})                                                                              |
+      | [[:like "Tony Parker"->"LaMarcus Aldridge" @0 {likeness: 90}]] | ("Spurs" :team{name: "Spurs"})                                                                              |
+      | []                                                             | ("Spurs" :team{name: "Spurs"})                                                                              |
+      | [[:like "Tony Parker"->"LaMarcus Aldridge" @0 {likeness: 90}]] | ("Spurs" :team{name: "Spurs"})                                                                              |
+      | []                                                             | ("Spurs" :team{name: "Spurs"})                                                                              |
+      | []                                                             | ("Spurs" :team{name: "Spurs"})                                                                              |
+      | [[:like "Tony Parker"->"LaMarcus Aldridge" @0 {likeness: 90}]] | ("Spurs" :team{name: "Spurs"})                                                                              |
+      | []                                                             | ("Spurs" :team{name: "Spurs"})                                                                              |
+      | [[:like "Tony Parker"->"LaMarcus Aldridge" @0 {likeness: 90}]] | ("Spurs" :team{name: "Spurs"})                                                                              |
+      | []                                                             | ("Spurs" :team{name: "Spurs"})                                                                              |
+      | []                                                             | ("Spurs" :team{name: "Spurs"})                                                                              |
+      | [[:like "Tony Parker"->"LaMarcus Aldridge" @0 {likeness: 90}]] | ("Spurs" :team{name: "Spurs"})                                                                              |
+      | []                                                             | ("Spurs" :team{name: "Spurs"})                                                                              |
+      | [[:like "Tony Parker"->"LaMarcus Aldridge" @0 {likeness: 90}]] | ("Spurs" :team{name: "Spurs"})                                                                              |
+      | []                                                             | ("Spurs" :team{name: "Spurs"})                                                                              |
+      | []                                                             | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | []                                                             | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | [[:like "Tony Parker"->"LaMarcus Aldridge" @0 {likeness: 90}]] | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | []                                                             | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | [[:like "Tony Parker"->"LaMarcus Aldridge" @0 {likeness: 90}]] | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | [[:like "Tony Parker"->"LaMarcus Aldridge" @0 {likeness: 90}]] | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | []                                                             | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | [[:like "Tony Parker"->"LaMarcus Aldridge" @0 {likeness: 90}]] | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | [[:like "Tony Parker"->"LaMarcus Aldridge" @0 {likeness: 90}]] | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | [[:like "Tony Parker"->"LaMarcus Aldridge" @0 {likeness: 90}]] | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | []                                                             | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | [[:like "Tony Parker"->"LaMarcus Aldridge" @0 {likeness: 90}]] | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | []                                                             | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | []                                                             | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | []                                                             | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | [[:like "Tony Parker"->"LaMarcus Aldridge" @0 {likeness: 90}]] | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       |
+      | []                                                             | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       |
+      | []                                                             | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       |
+      | [[:like "Tony Parker"->"LaMarcus Aldridge" @0 {likeness: 90}]] | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       |
+      | []                                                             | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       |
+      | []                                                             | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       |
+      | [[:like "Tony Parker"->"LaMarcus Aldridge" @0 {likeness: 90}]] | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       |
+      | []                                                             | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       |
+      | [[:like "Tony Parker"->"LaMarcus Aldridge" @0 {likeness: 90}]] | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       |
+      | [[:like "Tony Parker"->"LaMarcus Aldridge" @0 {likeness: 90}]] | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       |
+      | []                                                             | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       |
+      | [[:like "Tony Parker"->"LaMarcus Aldridge" @0 {likeness: 90}]] | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       |
+      | []                                                             | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       |
+      | [[:like "Tony Parker"->"LaMarcus Aldridge" @0 {likeness: 90}]] | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       |
+      | []                                                             | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       |
+      | []                                                             | ("Trail Blazers" :team{name: "Trail Blazers"})                                                              |
+      | [[:like "Tony Parker"->"LaMarcus Aldridge" @0 {likeness: 90}]] | ("Trail Blazers" :team{name: "Trail Blazers"})                                                              |
+      | []                                                             | ("Trail Blazers" :team{name: "Trail Blazers"})                                                              |
diff --git a/tests/tck/features/match/ZeroStep.intVid.feature b/tests/tck/features/match/ZeroStep.intVid.feature
new file mode 100644
index 0000000000000000000000000000000000000000..76dd21d3271843fc37a334a9f0a782a531f5d7cf
--- /dev/null
+++ b/tests/tck/features/match/ZeroStep.intVid.feature
@@ -0,0 +1,457 @@
+# Copyright (c) 2020 vesoft inc. All rights reserved.
+#
+# This source code is licensed under Apache 2.0 License,
+# attached with Common Clause Condition 1.0, found in the LICENSES directory.
+Feature: Variable length Pattern match int vid (0 step)
+
+  Background:
+    Given a graph with space named "nba_int_vid"
+
+  Scenario Outline: Use step all-direction edge with properties 0 step, return node
+    When executing query:
+      """
+      MATCH <left_node><edge_dir_left><edge><edge_dir_right><right_node>
+      RETURN v
+      """
+    Then the result should be, in any order:
+      | v                                                                                                          |
+      | ("Tim Duncan":bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+
+    Examples:
+      | left_node                        | edge_dir_left | edge | edge_dir_right | right_node                       |
+      | (v :player {name: "Tim Duncan"}) | -             | [*0] | -              | ()                               |
+      | (v :player {name: "Tim Duncan"}) | <-            | [*0] | -              | ()                               |
+      | (v :player {name: "Tim Duncan"}) | -             | [*0] | ->             | ()                               |
+      | ()                               | -             | [*0] | -              | (v :player {name: "Tim Duncan"}) |
+      | ()                               | <-            | [*0] | -              | (v :player {name: "Tim Duncan"}) |
+      | ()                               | -             | [*0] | ->             | (v :player {name: "Tim Duncan"}) |
+
+  # match (v :player {name: "Tim Duncan"})-[e :like*0..1]-() return e
+  Scenario Outline: Use step all-direction edge without properties 0 to 1 step, return edge
+    When executing query:
+      """
+      MATCH <left_node><edge_dir_left><edge><edge_dir_right><right_node>
+      RETURN e
+      """
+    Then the result should be, in any order:
+      | e                                                             |
+      | [[:like "Aron Baynes"->"Tim Duncan" @0 {likeness: 80}]]       |
+      | [[:like "Boris Diaw"->"Tim Duncan" @0 {likeness: 80}]]        |
+      | [[:like "Danny Green"->"Tim Duncan" @0 {likeness: 70}]]       |
+      | [[:like "Dejounte Murray"->"Tim Duncan" @0 {likeness: 99}]]   |
+      | [[:like "LaMarcus Aldridge"->"Tim Duncan" @0 {likeness: 75}]] |
+      | [[:like "Manu Ginobili"->"Tim Duncan" @0 {likeness: 90}]]     |
+      | [[:like "Marco Belinelli"->"Tim Duncan" @0 {likeness: 55}]]   |
+      | [[:like "Shaquile O'Neal"->"Tim Duncan" @0 {likeness: 80}]]   |
+      | [[:like "Tiago Splitter"->"Tim Duncan" @0 {likeness: 80}]]    |
+      | [[:like "Tony Parker"->"Tim Duncan" @0 {likeness: 95}]]       |
+      | [[:like "Tim Duncan"->"Manu Ginobili" @0 {likeness: 95}]]     |
+      | [[:like "Tim Duncan"->"Tony Parker" @0 {likeness: 95}]]       |
+      | []                                                            |
+    When executing query:
+      """
+      MATCH (:player{name:"Tim Duncan"})-[e:serve*0..1]-(v)
+      RETURN e, v
+      """
+    Then the result should be, in any order:
+      | e                                                                      | v                                                                                                           |
+      | [[:serve "Tim Duncan"->"Spurs" @0 {end_year: 2016, start_year: 1997}]] | ("Spurs" :team{name: "Spurs"})                                                                              |
+      | []                                                                     | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+
+    Examples:
+      | left_node                        | edge_dir_left | edge           | edge_dir_right | right_node                       |
+      | (v :player {name: "Tim Duncan"}) | -             | [e :like*0..1] | -              | ()                               |
+      | ()                               | -             | [e :like*0..1] | -              | (v :player {name: "Tim Duncan"}) |
+
+  # match (v :player {name: "Tim Duncan"})-[e :like*0..1{likeness: 90}]->() return e
+  Scenario Outline: Use step one-direction edge with properties 0 to 1 step, return edge
+    When executing query:
+      """
+      MATCH <left_node><edge_dir_left><edge><edge_dir_right><right_node>
+      RETURN e
+      """
+    Then the result should be, in any order:
+      | e                                                         |
+      | [[:like "Manu Ginobili"->"Tim Duncan" @0 {likeness: 90}]] |
+      | []                                                        |
+
+    Examples:
+      | left_node                        | edge_dir_left | edge                         | edge_dir_right | right_node                       |
+      | (v :player {name: "Tim Duncan"}) | <-            | [e :like*0..1{likeness: 90}] | -              | ()                               |
+      | ()                               | -             | [e :like*0..1{likeness: 90}] | ->             | (v :player {name: "Tim Duncan"}) |
+
+  Scenario: Edge without properties 0 to n step, return edge and dst
+    When executing query:
+      """
+      MATCH (:player{name:"Tim Duncan"})-[e:serve*0..2]-(v)
+      RETURN e, v
+      """
+    Then the result should be, in any order:
+      | e                                                                                                                                                   | v                                                                                                           |
+      | [[:serve "Tim Duncan"->"Spurs" @0 {end_year: 2016, start_year: 1997}], [:serve "Aron Baynes"->"Spurs" @0 {end_year: 2015, start_year: 2013}]]       | ("Aron Baynes" :player{age: 32, name: "Aron Baynes"})                                                       |
+      | [[:serve "Tim Duncan"->"Spurs" @0 {end_year: 2016, start_year: 1997}], [:serve "Boris Diaw"->"Spurs" @0 {end_year: 2016, start_year: 2012}]]        | ("Boris Diaw" :player{age: 36, name: "Boris Diaw"})                                                         |
+      | [[:serve "Tim Duncan"->"Spurs" @0 {end_year: 2016, start_year: 1997}], [:serve "Cory Joseph"->"Spurs" @0 {end_year: 2015, start_year: 2011}]]       | ("Cory Joseph" :player{age: 27, name: "Cory Joseph"})                                                       |
+      | [[:serve "Tim Duncan"->"Spurs" @0 {end_year: 2016, start_year: 1997}], [:serve "Danny Green"->"Spurs" @0 {end_year: 2018, start_year: 2010}]]       | ("Danny Green" :player{age: 31, name: "Danny Green"})                                                       |
+      | [[:serve "Tim Duncan"->"Spurs" @0 {end_year: 2016, start_year: 1997}], [:serve "David West"->"Spurs" @0 {end_year: 2016, start_year: 2015}]]        | ("David West" :player{age: 38, name: "David West"})                                                         |
+      | [[:serve "Tim Duncan"->"Spurs" @0 {end_year: 2016, start_year: 1997}], [:serve "Dejounte Murray"->"Spurs" @0 {end_year: 2019, start_year: 2016}]]   | ("Dejounte Murray" :player{age: 29, name: "Dejounte Murray"})                                               |
+      | [[:serve "Tim Duncan"->"Spurs" @0 {end_year: 2016, start_year: 1997}], [:serve "Jonathon Simmons"->"Spurs" @0 {end_year: 2017, start_year: 2015}]]  | ("Jonathon Simmons" :player{age: 29, name: "Jonathon Simmons"})                                             |
+      | [[:serve "Tim Duncan"->"Spurs" @0 {end_year: 2016, start_year: 1997}], [:serve "Kyle Anderson"->"Spurs" @0 {end_year: 2018, start_year: 2014}]]     | ("Kyle Anderson" :player{age: 25, name: "Kyle Anderson"})                                                   |
+      | [[:serve "Tim Duncan"->"Spurs" @0 {end_year: 2016, start_year: 1997}], [:serve "LaMarcus Aldridge"->"Spurs" @0 {end_year: 2019, start_year: 2015}]] | ("LaMarcus Aldridge" :player{age: 33, name: "LaMarcus Aldridge"})                                           |
+      | [[:serve "Tim Duncan"->"Spurs" @0 {end_year: 2016, start_year: 1997}], [:serve "Manu Ginobili"->"Spurs" @0 {end_year: 2018, start_year: 2002}]]     | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   |
+      | [[:serve "Tim Duncan"->"Spurs" @0 {end_year: 2016, start_year: 1997}], [:serve "Marco Belinelli"->"Spurs" @0 {end_year: 2015, start_year: 2013}]]   | ("Marco Belinelli" :player{age: 32, name: "Marco Belinelli"})                                               |
+      | [[:serve "Tim Duncan"->"Spurs" @0 {end_year: 2016, start_year: 1997}], [:serve "Paul Gasol"->"Spurs" @0 {end_year: 2019, start_year: 2016}]]        | ("Paul Gasol" :player{age: 38, name: "Paul Gasol"})                                                         |
+      | [[:serve "Tim Duncan"->"Spurs" @0 {end_year: 2016, start_year: 1997}], [:serve "Rudy Gay"->"Spurs" @0 {end_year: 2019, start_year: 2017}]]          | ("Rudy Gay" :player{age: 32, name: "Rudy Gay"})                                                             |
+      | [[:serve "Tim Duncan"->"Spurs" @0 {end_year: 2016, start_year: 1997}], [:serve "Tiago Splitter"->"Spurs" @0 {end_year: 2015, start_year: 2010}]]    | ("Tiago Splitter" :player{age: 34, name: "Tiago Splitter"})                                                 |
+      | [[:serve "Tim Duncan"->"Spurs" @0 {end_year: 2016, start_year: 1997}], [:serve "Marco Belinelli"->"Spurs" @1 {end_year: 2019, start_year: 2018}]]   | ("Marco Belinelli" :player{age: 32, name: "Marco Belinelli"})                                               |
+      | [[:serve "Tim Duncan"->"Spurs" @0 {end_year: 2016, start_year: 1997}], [:serve "Tony Parker"->"Spurs" @0 {end_year: 2018, start_year: 1999}]]       | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       |
+      | [[:serve "Tim Duncan"->"Spurs" @0 {end_year: 2016, start_year: 1997}], [:serve "Tracy McGrady"->"Spurs" @0 {end_year: 2013, start_year: 2013}]]     | ("Tracy McGrady" :player{age: 39, name: "Tracy McGrady"})                                                   |
+      | [[:serve "Tim Duncan"->"Spurs" @0 {end_year: 2016, start_year: 1997}]]                                                                              | ("Spurs" :team{name: "Spurs"})                                                                              |
+      | []                                                                                                                                                  | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+
+  Scenario: Multiple variable length with edge filter
+    When executing query:
+      """
+      MATCH (:player{name:"Tim Duncan"})-[e:serve*0..2]-(v)-[e2 :like*0..2{likeness:90}]-(v2)
+      RETURN e2, v2
+      """
+    Then the result should be, in any order:
+      | e2                                                                                                                     | v2                                                                                                          |
+      | [[:like "Tracy McGrady"->"Rudy Gay" @0 {likeness: 90}], [:like "Grant Hill"->"Tracy McGrady" @0 {likeness: 90}]]       | ("Grant Hill" :player{age: 46, name: "Grant Hill"})                                                         |
+      | [[:like "Tracy McGrady"->"Rudy Gay" @0 {likeness: 90}], [:like "Vince Carter"->"Tracy McGrady" @0 {likeness: 90}]]     | ("Vince Carter" :player{age: 42, name: "Vince Carter"})                                                     |
+      | [[:like "Manu Ginobili"->"Tim Duncan" @0 {likeness: 90}], [:like "Tiago Splitter"->"Manu Ginobili" @0 {likeness: 90}]] | ("Tiago Splitter" :player{age: 34, name: "Tiago Splitter"})                                                 |
+      | [[:like "Yao Ming"->"Tracy McGrady" @0 {likeness: 90}], [:like "Yao Ming"->"Shaquile O'Neal" @0 {likeness: 90}]]       | ("Shaquile O'Neal" :player{age: 47, name: "Shaquile O'Neal"})                                               |
+      | [[:like "Tracy McGrady"->"Grant Hill" @0 {likeness: 90}], [:like "Grant Hill"->"Tracy McGrady" @0 {likeness: 90}]]     | ("Tracy McGrady" :player{age: 39, name: "Tracy McGrady"})                                                   |
+      | [[:like "Tracy McGrady"->"Rudy Gay" @0 {likeness: 90}], [:like "Yao Ming"->"Tracy McGrady" @0 {likeness: 90}]]         | ("Yao Ming" :player{age: 38, name: "Yao Ming"})                                                             |
+      | [[:like "Tiago Splitter"->"Manu Ginobili" @0 {likeness: 90}], [:like "Manu Ginobili"->"Tim Duncan" @0 {likeness: 90}]] | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | [[:like "Tracy McGrady"->"Rudy Gay" @0 {likeness: 90}], [:like "Tracy McGrady"->"Grant Hill" @0 {likeness: 90}]]       | ("Grant Hill" :player{age: 46, name: "Grant Hill"})                                                         |
+      | [[:like "Tracy McGrady"->"Rudy Gay" @0 {likeness: 90}], [:like "Tracy McGrady"->"Kobe Bryant" @0 {likeness: 90}]]      | ("Kobe Bryant" :player{age: 40, name: "Kobe Bryant"})                                                       |
+      | [[:like "Paul Gasol"->"Kobe Bryant" @0 {likeness: 90}], [:like "Tracy McGrady"->"Kobe Bryant" @0 {likeness: 90}]]      | ("Tracy McGrady" :player{age: 39, name: "Tracy McGrady"})                                                   |
+      | [[:like "Grant Hill"->"Tracy McGrady" @0 {likeness: 90}], [:like "Tracy McGrady"->"Grant Hill" @0 {likeness: 90}]]     | ("Tracy McGrady" :player{age: 39, name: "Tracy McGrady"})                                                   |
+      | [[:like "Tracy McGrady"->"Kobe Bryant" @0 {likeness: 90}], [:like "Paul Gasol"->"Kobe Bryant" @0 {likeness: 90}]]      | ("Paul Gasol" :player{age: 38, name: "Paul Gasol"})                                                         |
+      | [[:like "Paul Gasol"->"Kobe Bryant" @0 {likeness: 90}]]                                                                | ("Kobe Bryant" :player{age: 40, name: "Kobe Bryant"})                                                       |
+      | [[:like "Tony Parker"->"LaMarcus Aldridge" @0 {likeness: 90}]]                                                         | ("LaMarcus Aldridge" :player{age: 33, name: "LaMarcus Aldridge"})                                           |
+      | [[:like "Tiago Splitter"->"Manu Ginobili" @0 {likeness: 90}]]                                                          | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   |
+      | [[:like "Tony Parker"->"LaMarcus Aldridge" @0 {likeness: 90}]]                                                         | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       |
+      | [[:like "Manu Ginobili"->"Tim Duncan" @0 {likeness: 90}]]                                                              | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | [[:like "Tiago Splitter"->"Manu Ginobili" @0 {likeness: 90}]]                                                          | ("Tiago Splitter" :player{age: 34, name: "Tiago Splitter"})                                                 |
+      | [[:like "Tracy McGrady"->"Rudy Gay" @0 {likeness: 90}]]                                                                | ("Tracy McGrady" :player{age: 39, name: "Tracy McGrady"})                                                   |
+      | [[:like "Manu Ginobili"->"Tim Duncan" @0 {likeness: 90}]]                                                              | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   |
+      | [[:like "Tracy McGrady"->"Rudy Gay" @0 {likeness: 90}]]                                                                | ("Rudy Gay" :player{age: 32, name: "Rudy Gay"})                                                             |
+      | [[:like "Tracy McGrady"->"Kobe Bryant" @0 {likeness: 90}]]                                                             | ("Kobe Bryant" :player{age: 40, name: "Kobe Bryant"})                                                       |
+      | [[:like "Tracy McGrady"->"Grant Hill" @0 {likeness: 90}]]                                                              | ("Grant Hill" :player{age: 46, name: "Grant Hill"})                                                         |
+      | [[:like "Yao Ming"->"Tracy McGrady" @0 {likeness: 90}]]                                                                | ("Yao Ming" :player{age: 38, name: "Yao Ming"})                                                             |
+      | [[:like "Vince Carter"->"Tracy McGrady" @0 {likeness: 90}]]                                                            | ("Vince Carter" :player{age: 42, name: "Vince Carter"})                                                     |
+      | [[:like "Grant Hill"->"Tracy McGrady" @0 {likeness: 90}]]                                                              | ("Grant Hill" :player{age: 46, name: "Grant Hill"})                                                         |
+      | []                                                                                                                     | ("Paul Gasol" :player{age: 38, name: "Paul Gasol"})                                                         |
+      | []                                                                                                                     | ("Cory Joseph" :player{age: 27, name: "Cory Joseph"})                                                       |
+      | []                                                                                                                     | ("Marco Belinelli" :player{age: 32, name: "Marco Belinelli"})                                               |
+      | []                                                                                                                     | ("Marco Belinelli" :player{age: 32, name: "Marco Belinelli"})                                               |
+      | []                                                                                                                     | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       |
+      | []                                                                                                                     | ("Dejounte Murray" :player{age: 29, name: "Dejounte Murray"})                                               |
+      | []                                                                                                                     | ("David West" :player{age: 38, name: "David West"})                                                         |
+      | []                                                                                                                     | ("Tiago Splitter" :player{age: 34, name: "Tiago Splitter"})                                                 |
+      | []                                                                                                                     | ("Boris Diaw" :player{age: 36, name: "Boris Diaw"})                                                         |
+      | []                                                                                                                     | ("LaMarcus Aldridge" :player{age: 33, name: "LaMarcus Aldridge"})                                           |
+      | []                                                                                                                     | ("Aron Baynes" :player{age: 32, name: "Aron Baynes"})                                                       |
+      | []                                                                                                                     | ("Kyle Anderson" :player{age: 25, name: "Kyle Anderson"})                                                   |
+      | []                                                                                                                     | ("Danny Green" :player{age: 31, name: "Danny Green"})                                                       |
+      | []                                                                                                                     | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   |
+      | []                                                                                                                     | ("Rudy Gay" :player{age: 32, name: "Rudy Gay"})                                                             |
+      | []                                                                                                                     | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | []                                                                                                                     | ("Tracy McGrady" :player{age: 39, name: "Tracy McGrady"})                                                   |
+      | []                                                                                                                     | ("Jonathon Simmons" :player{age: 29, name: "Jonathon Simmons"})                                             |
+      | []                                                                                                                     | ("Spurs" :team{name: "Spurs"})                                                                              |
+    When executing query:
+      """
+      MATCH (v) -[*0..1]-(v2:player{name: "Tim Duncan"})-[*0..1]->()
+      RETURN v, v2
+      """
+    Then the result should be, in any order:
+      | v                                                                                                           | v2                                                                                                          |
+      | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Danny Green" :player{age: 31, name: "Danny Green"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Danny Green" :player{age: 31, name: "Danny Green"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Danny Green" :player{age: 31, name: "Danny Green"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Danny Green" :player{age: 31, name: "Danny Green"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Danny Green" :player{age: 31, name: "Danny Green"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Danny Green" :player{age: 31, name: "Danny Green"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Danny Green" :player{age: 31, name: "Danny Green"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("LaMarcus Aldridge" :player{age: 33, name: "LaMarcus Aldridge"})                                           | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("LaMarcus Aldridge" :player{age: 33, name: "LaMarcus Aldridge"})                                           | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("LaMarcus Aldridge" :player{age: 33, name: "LaMarcus Aldridge"})                                           | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("LaMarcus Aldridge" :player{age: 33, name: "LaMarcus Aldridge"})                                           | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("LaMarcus Aldridge" :player{age: 33, name: "LaMarcus Aldridge"})                                           | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("LaMarcus Aldridge" :player{age: 33, name: "LaMarcus Aldridge"})                                           | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("LaMarcus Aldridge" :player{age: 33, name: "LaMarcus Aldridge"})                                           | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Aron Baynes" :player{age: 32, name: "Aron Baynes"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Aron Baynes" :player{age: 32, name: "Aron Baynes"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Aron Baynes" :player{age: 32, name: "Aron Baynes"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Aron Baynes" :player{age: 32, name: "Aron Baynes"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Aron Baynes" :player{age: 32, name: "Aron Baynes"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Aron Baynes" :player{age: 32, name: "Aron Baynes"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Aron Baynes" :player{age: 32, name: "Aron Baynes"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Aron Baynes" :player{age: 32, name: "Aron Baynes"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Boris Diaw" :player{age: 36, name: "Boris Diaw"})                                                         | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Boris Diaw" :player{age: 36, name: "Boris Diaw"})                                                         | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Boris Diaw" :player{age: 36, name: "Boris Diaw"})                                                         | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Boris Diaw" :player{age: 36, name: "Boris Diaw"})                                                         | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Boris Diaw" :player{age: 36, name: "Boris Diaw"})                                                         | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Boris Diaw" :player{age: 36, name: "Boris Diaw"})                                                         | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Boris Diaw" :player{age: 36, name: "Boris Diaw"})                                                         | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Boris Diaw" :player{age: 36, name: "Boris Diaw"})                                                         | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Danny Green" :player{age: 31, name: "Danny Green"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Danny Green" :player{age: 31, name: "Danny Green"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Danny Green" :player{age: 31, name: "Danny Green"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Danny Green" :player{age: 31, name: "Danny Green"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Danny Green" :player{age: 31, name: "Danny Green"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Danny Green" :player{age: 31, name: "Danny Green"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Danny Green" :player{age: 31, name: "Danny Green"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Danny Green" :player{age: 31, name: "Danny Green"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Dejounte Murray" :player{age: 29, name: "Dejounte Murray"})                                               | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Dejounte Murray" :player{age: 29, name: "Dejounte Murray"})                                               | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Dejounte Murray" :player{age: 29, name: "Dejounte Murray"})                                               | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Dejounte Murray" :player{age: 29, name: "Dejounte Murray"})                                               | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Dejounte Murray" :player{age: 29, name: "Dejounte Murray"})                                               | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Dejounte Murray" :player{age: 29, name: "Dejounte Murray"})                                               | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Dejounte Murray" :player{age: 29, name: "Dejounte Murray"})                                               | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Dejounte Murray" :player{age: 29, name: "Dejounte Murray"})                                               | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("LaMarcus Aldridge" :player{age: 33, name: "LaMarcus Aldridge"})                                           | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("LaMarcus Aldridge" :player{age: 33, name: "LaMarcus Aldridge"})                                           | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("LaMarcus Aldridge" :player{age: 33, name: "LaMarcus Aldridge"})                                           | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("LaMarcus Aldridge" :player{age: 33, name: "LaMarcus Aldridge"})                                           | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("LaMarcus Aldridge" :player{age: 33, name: "LaMarcus Aldridge"})                                           | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("LaMarcus Aldridge" :player{age: 33, name: "LaMarcus Aldridge"})                                           | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("LaMarcus Aldridge" :player{age: 33, name: "LaMarcus Aldridge"})                                           | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("LaMarcus Aldridge" :player{age: 33, name: "LaMarcus Aldridge"})                                           | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Marco Belinelli" :player{age: 32, name: "Marco Belinelli"})                                               | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Marco Belinelli" :player{age: 32, name: "Marco Belinelli"})                                               | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Marco Belinelli" :player{age: 32, name: "Marco Belinelli"})                                               | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Marco Belinelli" :player{age: 32, name: "Marco Belinelli"})                                               | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Marco Belinelli" :player{age: 32, name: "Marco Belinelli"})                                               | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Marco Belinelli" :player{age: 32, name: "Marco Belinelli"})                                               | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Marco Belinelli" :player{age: 32, name: "Marco Belinelli"})                                               | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Marco Belinelli" :player{age: 32, name: "Marco Belinelli"})                                               | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Shaquile O'Neal" :player{age: 47, name: "Shaquile O'Neal"})                                               | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Shaquile O'Neal" :player{age: 47, name: "Shaquile O'Neal"})                                               | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Shaquile O'Neal" :player{age: 47, name: "Shaquile O'Neal"})                                               | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Shaquile O'Neal" :player{age: 47, name: "Shaquile O'Neal"})                                               | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Shaquile O'Neal" :player{age: 47, name: "Shaquile O'Neal"})                                               | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Shaquile O'Neal" :player{age: 47, name: "Shaquile O'Neal"})                                               | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Shaquile O'Neal" :player{age: 47, name: "Shaquile O'Neal"})                                               | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Shaquile O'Neal" :player{age: 47, name: "Shaquile O'Neal"})                                               | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tiago Splitter" :player{age: 34, name: "Tiago Splitter"})                                                 | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tiago Splitter" :player{age: 34, name: "Tiago Splitter"})                                                 | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tiago Splitter" :player{age: 34, name: "Tiago Splitter"})                                                 | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tiago Splitter" :player{age: 34, name: "Tiago Splitter"})                                                 | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tiago Splitter" :player{age: 34, name: "Tiago Splitter"})                                                 | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tiago Splitter" :player{age: 34, name: "Tiago Splitter"})                                                 | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tiago Splitter" :player{age: 34, name: "Tiago Splitter"})                                                 | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tiago Splitter" :player{age: 34, name: "Tiago Splitter"})                                                 | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Spurs" :team{name: "Spurs"})                                                                              | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Spurs" :team{name: "Spurs"})                                                                              | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Spurs" :team{name: "Spurs"})                                                                              | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Spurs" :team{name: "Spurs"})                                                                              | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Spurs" :team{name: "Spurs"})                                                                              | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Spurs" :team{name: "Spurs"})                                                                              | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Spurs" :team{name: "Spurs"})                                                                              | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+    When executing query:
+      """
+      MATCH (v) -[*0..1]-(v2:player{name: "Tim Duncan"})-[e*1..2]->(v3)
+      RETURN DISTINCT v3.name AS Name, e ORDER BY Name
+      """
+    Then the result should be, in any order:
+      | Name                | e                                                                                                                                                                          |
+      | "Cavaliers"         | [[:teammate "Tim Duncan"->"Danny Green" @0 {end_year: 2016, start_year: 2010}], [:serve "Danny Green"->"Cavaliers" @0 {end_year: 2010, start_year: 2009}]]                 |
+      | "Danny Green"       | [[:teammate "Tim Duncan"->"Danny Green" @0 {end_year: 2016, start_year: 2010}]]                                                                                            |
+      | "Hornets"           | [[:like "Tim Duncan"->"Tony Parker" @0 {likeness: 95}], [:serve "Tony Parker"->"Hornets" @0 {end_year: 2019, start_year: 2018}]]                                           |
+      | "Hornets"           | [[:teammate "Tim Duncan"->"Tony Parker" @0 {end_year: 2016, start_year: 2001}], [:serve "Tony Parker"->"Hornets" @0 {end_year: 2019, start_year: 2018}]]                   |
+      | "Kyle Anderson"     | [[:teammate "Tim Duncan"->"Tony Parker" @0 {end_year: 2016, start_year: 2001}], [:teammate "Tony Parker"->"Kyle Anderson" @0 {end_year: 2016, start_year: 2014}]]          |
+      | "Kyle Anderson"     | [[:like "Tim Duncan"->"Tony Parker" @0 {likeness: 95}], [:teammate "Tony Parker"->"Kyle Anderson" @0 {end_year: 2016, start_year: 2014}]]                                  |
+      | "LaMarcus Aldridge" | [[:teammate "Tim Duncan"->"LaMarcus Aldridge" @0 {end_year: 2016, start_year: 2015}]]                                                                                      |
+      | "LaMarcus Aldridge" | [[:teammate "Tim Duncan"->"Tony Parker" @0 {end_year: 2016, start_year: 2001}], [:teammate "Tony Parker"->"LaMarcus Aldridge" @0 {end_year: 2018, start_year: 2015}]]      |
+      | "LaMarcus Aldridge" | [[:like "Tim Duncan"->"Tony Parker" @0 {likeness: 95}], [:teammate "Tony Parker"->"LaMarcus Aldridge" @0 {end_year: 2018, start_year: 2015}]]                              |
+      | "LaMarcus Aldridge" | [[:teammate "Tim Duncan"->"Tony Parker" @0 {end_year: 2016, start_year: 2001}], [:like "Tony Parker"->"LaMarcus Aldridge" @0 {likeness: 90}]]                              |
+      | "LaMarcus Aldridge" | [[:like "Tim Duncan"->"Tony Parker" @0 {likeness: 95}], [:like "Tony Parker"->"LaMarcus Aldridge" @0 {likeness: 90}]]                                                      |
+      | "LeBron James"      | [[:teammate "Tim Duncan"->"Danny Green" @0 {end_year: 2016, start_year: 2010}], [:like "Danny Green"->"LeBron James" @0 {likeness: 80}]]                                   |
+      | "Manu Ginobili"     | [[:teammate "Tim Duncan"->"Tony Parker" @0 {end_year: 2016, start_year: 2001}], [:teammate "Tony Parker"->"Manu Ginobili" @0 {end_year: 2018, start_year: 2002}]]          |
+      | "Manu Ginobili"     | [[:like "Tim Duncan"->"Tony Parker" @0 {likeness: 95}], [:like "Tony Parker"->"Manu Ginobili" @0 {likeness: 95}]]                                                          |
+      | "Manu Ginobili"     | [[:teammate "Tim Duncan"->"Tony Parker" @0 {end_year: 2016, start_year: 2001}], [:like "Tony Parker"->"Manu Ginobili" @0 {likeness: 95}]]                                  |
+      | "Manu Ginobili"     | [[:like "Tim Duncan"->"Tony Parker" @0 {likeness: 95}], [:teammate "Tony Parker"->"Manu Ginobili" @0 {end_year: 2018, start_year: 2002}]]                                  |
+      | "Manu Ginobili"     | [[:teammate "Tim Duncan"->"Manu Ginobili" @0 {end_year: 2016, start_year: 2002}]]                                                                                          |
+      | "Manu Ginobili"     | [[:like "Tim Duncan"->"Manu Ginobili" @0 {likeness: 95}]]                                                                                                                  |
+      | "Marco Belinelli"   | [[:teammate "Tim Duncan"->"Danny Green" @0 {end_year: 2016, start_year: 2010}], [:like "Danny Green"->"Marco Belinelli" @0 {likeness: 83}]]                                |
+      | "Raptors"           | [[:teammate "Tim Duncan"->"Danny Green" @0 {end_year: 2016, start_year: 2010}], [:serve "Danny Green"->"Raptors" @0 {end_year: 2019, start_year: 2018}]]                   |
+      | "Spurs"             | [[:like "Tim Duncan"->"Manu Ginobili" @0 {likeness: 95}], [:serve "Manu Ginobili"->"Spurs" @0 {end_year: 2018, start_year: 2002}]]                                         |
+      | "Spurs"             | [[:teammate "Tim Duncan"->"Manu Ginobili" @0 {end_year: 2016, start_year: 2002}], [:serve "Manu Ginobili"->"Spurs" @0 {end_year: 2018, start_year: 2002}]]                 |
+      | "Spurs"             | [[:like "Tim Duncan"->"Tony Parker" @0 {likeness: 95}], [:serve "Tony Parker"->"Spurs" @0 {end_year: 2018, start_year: 1999}]]                                             |
+      | "Spurs"             | [[:teammate "Tim Duncan"->"Tony Parker" @0 {end_year: 2016, start_year: 2001}], [:serve "Tony Parker"->"Spurs" @0 {end_year: 2018, start_year: 1999}]]                     |
+      | "Spurs"             | [[:teammate "Tim Duncan"->"Danny Green" @0 {end_year: 2016, start_year: 2010}], [:serve "Danny Green"->"Spurs" @0 {end_year: 2018, start_year: 2010}]]                     |
+      | "Spurs"             | [[:serve "Tim Duncan"->"Spurs" @0 {end_year: 2016, start_year: 1997}]]                                                                                                     |
+      | "Spurs"             | [[:teammate "Tim Duncan"->"LaMarcus Aldridge" @0 {end_year: 2016, start_year: 2015}], [:serve "LaMarcus Aldridge"->"Spurs" @0 {end_year: 2019, start_year: 2015}]]         |
+      | "Tim Duncan"        | [[:teammate "Tim Duncan"->"Danny Green" @0 {end_year: 2016, start_year: 2010}], [:like "Danny Green"->"Tim Duncan" @0 {likeness: 70}]]                                     |
+      | "Tim Duncan"        | [[:like "Tim Duncan"->"Manu Ginobili" @0 {likeness: 95}], [:like "Manu Ginobili"->"Tim Duncan" @0 {likeness: 90}]]                                                         |
+      | "Tim Duncan"        | [[:teammate "Tim Duncan"->"Manu Ginobili" @0 {end_year: 2016, start_year: 2002}], [:like "Manu Ginobili"->"Tim Duncan" @0 {likeness: 90}]]                                 |
+      | "Tim Duncan"        | [[:teammate "Tim Duncan"->"Tony Parker" @0 {end_year: 2016, start_year: 2001}], [:teammate "Tony Parker"->"Tim Duncan" @0 {end_year: 2016, start_year: 2001}]]             |
+      | "Tim Duncan"        | [[:like "Tim Duncan"->"Tony Parker" @0 {likeness: 95}], [:teammate "Tony Parker"->"Tim Duncan" @0 {end_year: 2016, start_year: 2001}]]                                     |
+      | "Tim Duncan"        | [[:like "Tim Duncan"->"Manu Ginobili" @0 {likeness: 95}], [:teammate "Manu Ginobili"->"Tim Duncan" @0 {end_year: 2016, start_year: 2002}]]                                 |
+      | "Tim Duncan"        | [[:teammate "Tim Duncan"->"Tony Parker" @0 {end_year: 2016, start_year: 2001}], [:like "Tony Parker"->"Tim Duncan" @0 {likeness: 95}]]                                     |
+      | "Tim Duncan"        | [[:like "Tim Duncan"->"Tony Parker" @0 {likeness: 95}], [:like "Tony Parker"->"Tim Duncan" @0 {likeness: 95}]]                                                             |
+      | "Tim Duncan"        | [[:teammate "Tim Duncan"->"Manu Ginobili" @0 {end_year: 2016, start_year: 2002}], [:teammate "Manu Ginobili"->"Tim Duncan" @0 {end_year: 2016, start_year: 2002}]]         |
+      | "Tim Duncan"        | [[:teammate "Tim Duncan"->"LaMarcus Aldridge" @0 {end_year: 2016, start_year: 2015}], [:like "LaMarcus Aldridge"->"Tim Duncan" @0 {likeness: 75}]]                         |
+      | "Tony Parker"       | [[:teammate "Tim Duncan"->"Tony Parker" @0 {end_year: 2016, start_year: 2001}]]                                                                                            |
+      | "Tony Parker"       | [[:teammate "Tim Duncan"->"LaMarcus Aldridge" @0 {end_year: 2016, start_year: 2015}], [:like "LaMarcus Aldridge"->"Tony Parker" @0 {likeness: 75}]]                        |
+      | "Tony Parker"       | [[:like "Tim Duncan"->"Manu Ginobili" @0 {likeness: 95}], [:teammate "Manu Ginobili"->"Tony Parker" @0 {end_year: 2016, start_year: 2002}]]                                |
+      | "Tony Parker"       | [[:teammate "Tim Duncan"->"Manu Ginobili" @0 {end_year: 2016, start_year: 2002}], [:teammate "Manu Ginobili"->"Tony Parker" @0 {end_year: 2016, start_year: 2002}]]        |
+      | "Tony Parker"       | [[:like "Tim Duncan"->"Tony Parker" @0 {likeness: 95}]]                                                                                                                    |
+      | "Trail Blazers"     | [[:teammate "Tim Duncan"->"LaMarcus Aldridge" @0 {end_year: 2016, start_year: 2015}], [:serve "LaMarcus Aldridge"->"Trail Blazers" @0 {end_year: 2015, start_year: 2006}]] |
+    When executing query:
+      """
+      MATCH (v) -[e1*0..1{likeness: 90}]-(v2:player{name: "Tony Parker"})-[*1..2]->(v3)
+      RETURN e1, v3 as Player ORDER BY Player
+      """
+    Then the result should be, in any order:
+      | e1                                                             | Player                                                                                                      |
+      | [[:like "Tony Parker"->"LaMarcus Aldridge" @0 {likeness: 90}]] | ("Danny Green" :player{age: 31, name: "Danny Green"})                                                       |
+      | []                                                             | ("Danny Green" :player{age: 31, name: "Danny Green"})                                                       |
+      | [[:like "Tony Parker"->"LaMarcus Aldridge" @0 {likeness: 90}]] | ("Danny Green" :player{age: 31, name: "Danny Green"})                                                       |
+      | []                                                             | ("Danny Green" :player{age: 31, name: "Danny Green"})                                                       |
+      | []                                                             | ("Grizzlies" :team{name: "Grizzlies"})                                                                      |
+      | [[:like "Tony Parker"->"LaMarcus Aldridge" @0 {likeness: 90}]] | ("Grizzlies" :team{name: "Grizzlies"})                                                                      |
+      | [[:like "Tony Parker"->"LaMarcus Aldridge" @0 {likeness: 90}]] | ("Hornets" :team{name: "Hornets"})                                                                          |
+      | []                                                             | ("Hornets" :team{name: "Hornets"})                                                                          |
+      | []                                                             | ("Kyle Anderson" :player{age: 25, name: "Kyle Anderson"})                                                   |
+      | [[:like "Tony Parker"->"LaMarcus Aldridge" @0 {likeness: 90}]] | ("Kyle Anderson" :player{age: 25, name: "Kyle Anderson"})                                                   |
+      | []                                                             | ("LaMarcus Aldridge" :player{age: 33, name: "LaMarcus Aldridge"})                                           |
+      | []                                                             | ("LaMarcus Aldridge" :player{age: 33, name: "LaMarcus Aldridge"})                                           |
+      | [[:like "Tony Parker"->"LaMarcus Aldridge" @0 {likeness: 90}]] | ("LaMarcus Aldridge" :player{age: 33, name: "LaMarcus Aldridge"})                                           |
+      | [[:like "Tony Parker"->"LaMarcus Aldridge" @0 {likeness: 90}]] | ("LaMarcus Aldridge" :player{age: 33, name: "LaMarcus Aldridge"})                                           |
+      | []                                                             | ("LaMarcus Aldridge" :player{age: 33, name: "LaMarcus Aldridge"})                                           |
+      | [[:like "Tony Parker"->"LaMarcus Aldridge" @0 {likeness: 90}]] | ("LaMarcus Aldridge" :player{age: 33, name: "LaMarcus Aldridge"})                                           |
+      | []                                                             | ("LaMarcus Aldridge" :player{age: 33, name: "LaMarcus Aldridge"})                                           |
+      | []                                                             | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   |
+      | [[:like "Tony Parker"->"LaMarcus Aldridge" @0 {likeness: 90}]] | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   |
+      | []                                                             | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   |
+      | [[:like "Tony Parker"->"LaMarcus Aldridge" @0 {likeness: 90}]] | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   |
+      | []                                                             | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   |
+      | []                                                             | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   |
+      | [[:like "Tony Parker"->"LaMarcus Aldridge" @0 {likeness: 90}]] | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   |
+      | [[:like "Tony Parker"->"LaMarcus Aldridge" @0 {likeness: 90}]] | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   |
+      | []                                                             | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   |
+      | [[:like "Tony Parker"->"LaMarcus Aldridge" @0 {likeness: 90}]] | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   |
+      | []                                                             | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   |
+      | [[:like "Tony Parker"->"LaMarcus Aldridge" @0 {likeness: 90}]] | ("Manu Ginobili" :player{age: 41, name: "Manu Ginobili"})                                                   |
+      | [[:like "Tony Parker"->"LaMarcus Aldridge" @0 {likeness: 90}]] | ("Spurs" :team{name: "Spurs"})                                                                              |
+      | [[:like "Tony Parker"->"LaMarcus Aldridge" @0 {likeness: 90}]] | ("Spurs" :team{name: "Spurs"})                                                                              |
+      | []                                                             | ("Spurs" :team{name: "Spurs"})                                                                              |
+      | [[:like "Tony Parker"->"LaMarcus Aldridge" @0 {likeness: 90}]] | ("Spurs" :team{name: "Spurs"})                                                                              |
+      | []                                                             | ("Spurs" :team{name: "Spurs"})                                                                              |
+      | []                                                             | ("Spurs" :team{name: "Spurs"})                                                                              |
+      | [[:like "Tony Parker"->"LaMarcus Aldridge" @0 {likeness: 90}]] | ("Spurs" :team{name: "Spurs"})                                                                              |
+      | []                                                             | ("Spurs" :team{name: "Spurs"})                                                                              |
+      | [[:like "Tony Parker"->"LaMarcus Aldridge" @0 {likeness: 90}]] | ("Spurs" :team{name: "Spurs"})                                                                              |
+      | []                                                             | ("Spurs" :team{name: "Spurs"})                                                                              |
+      | []                                                             | ("Spurs" :team{name: "Spurs"})                                                                              |
+      | [[:like "Tony Parker"->"LaMarcus Aldridge" @0 {likeness: 90}]] | ("Spurs" :team{name: "Spurs"})                                                                              |
+      | []                                                             | ("Spurs" :team{name: "Spurs"})                                                                              |
+      | [[:like "Tony Parker"->"LaMarcus Aldridge" @0 {likeness: 90}]] | ("Spurs" :team{name: "Spurs"})                                                                              |
+      | []                                                             | ("Spurs" :team{name: "Spurs"})                                                                              |
+      | []                                                             | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | []                                                             | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | [[:like "Tony Parker"->"LaMarcus Aldridge" @0 {likeness: 90}]] | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | []                                                             | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | [[:like "Tony Parker"->"LaMarcus Aldridge" @0 {likeness: 90}]] | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | [[:like "Tony Parker"->"LaMarcus Aldridge" @0 {likeness: 90}]] | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | []                                                             | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | [[:like "Tony Parker"->"LaMarcus Aldridge" @0 {likeness: 90}]] | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | [[:like "Tony Parker"->"LaMarcus Aldridge" @0 {likeness: 90}]] | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | [[:like "Tony Parker"->"LaMarcus Aldridge" @0 {likeness: 90}]] | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | []                                                             | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | [[:like "Tony Parker"->"LaMarcus Aldridge" @0 {likeness: 90}]] | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | []                                                             | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | []                                                             | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | []                                                             | ("Tim Duncan" :bachelor{name: "Tim Duncan", speciality: "psychology"} :player{age: 42, name: "Tim Duncan"}) |
+      | [[:like "Tony Parker"->"LaMarcus Aldridge" @0 {likeness: 90}]] | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       |
+      | []                                                             | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       |
+      | []                                                             | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       |
+      | [[:like "Tony Parker"->"LaMarcus Aldridge" @0 {likeness: 90}]] | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       |
+      | []                                                             | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       |
+      | []                                                             | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       |
+      | [[:like "Tony Parker"->"LaMarcus Aldridge" @0 {likeness: 90}]] | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       |
+      | []                                                             | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       |
+      | [[:like "Tony Parker"->"LaMarcus Aldridge" @0 {likeness: 90}]] | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       |
+      | [[:like "Tony Parker"->"LaMarcus Aldridge" @0 {likeness: 90}]] | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       |
+      | []                                                             | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       |
+      | [[:like "Tony Parker"->"LaMarcus Aldridge" @0 {likeness: 90}]] | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       |
+      | []                                                             | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       |
+      | [[:like "Tony Parker"->"LaMarcus Aldridge" @0 {likeness: 90}]] | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       |
+      | []                                                             | ("Tony Parker" :player{age: 36, name: "Tony Parker"})                                                       |
+      | []                                                             | ("Trail Blazers" :team{name: "Trail Blazers"})                                                              |
+      | [[:like "Tony Parker"->"LaMarcus Aldridge" @0 {likeness: 90}]] | ("Trail Blazers" :team{name: "Trail Blazers"})                                                              |
+      | []                                                             | ("Trail Blazers" :team{name: "Trail Blazers"})                                                              |