# How to do graph traversal with rules

**URL:** <https://forum.datomic.com/t/how-to-do-graph-traversal-with-rules/132>\
**Category:** General\
**Created:** [November 7, 2017, 12:48am UTC](https://forum.datomic.com/t/how-to-do-graph-traversal-with-rules/132 "2017-11-07T00:48:42Z")\
**Posts on this page:** 1\
**Showing post:** 5

<div class="post-metadata">

**Author:** ![marshall](https://sea2.discourse-cdn.com/flex016/user_avatar/forum.datomic.com/marshall/32/48_2.png) [@marshall](https://forum.datomic.com/u/marshall)\
**Post date:** [November 14, 2017, 7:37pm UTC](https://forum.datomic.com/t/how-to-do-graph-traversal-with-rules/132/5 "2017-11-14T19:37:09Z")

</div>

Right, if you don’t use the same attribute for your ‘edges’ then you’d have to do something more complex to get traversal logic into a rule. I can imagine a method that might use mutually recursive rules to do so, but that approach will likely get complicated once you end up with more than 2 or 3 link ‘types’.

You’re correct that the Client API doesn’t currently support db functions. We’re working on options there and will provide updates as soon as we have them.

---

_[View the full topic](https://forum.datomic.com/t/how-to-do-graph-traversal-with-rules/132)._
