# "y :attr x" or "x :attr y"

**URL:** https://forum.datomic.com/t/y-attr-x-or-x-attr-y/918
**Category:** General
**Created:** [April 9, 2019, 1:03am UTC](https://forum.datomic.com/t/y-attr-x-or-x-attr-y/918 "2019-04-09T01:03:52Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![blake](https://avatars.discourse-cdn.com/v4/letter/b/a9a28c/32.png) [@blake](https://forum.datomic.com/u/blake)
#### Post date: [April 9, 2019, 1:03am UTC](https://forum.datomic.com/t/y-attr-x-or-x-attr-y/918/1 "2019-04-09T01:03:52Z")

</div>

I’ve designed my entity so that it has a many-ref relationship field, so Bob would have “employs Frank”, “eats-at Joe’s”, “bowls-with Jeff”, and since these are all under Bob, I made a query so that Joe could ask “Who eats at my place?”

```
[:find [?client ...] :in $ ?provider
:where [?rel-id :relationship/party ?provider]
[?client :user/relationships ?rel-id]]

```

which, great. But I also want to be able to ask “Who has any relationship to Bob?”

```
Bob [whatever] who?
who? [whatever] Bob

```

Not an “and” but an “or”.

---

<div class="post-metadata">

### Author: ![dustingetz](https://sea2.discourse-cdn.com/flex016/user_avatar/forum.datomic.com/dustingetz/32/56_2.png) [@dustingetz](https://forum.datomic.com/u/dustingetz)
#### Post date: [April 9, 2019, 12:27pm UTC](https://forum.datomic.com/t/y-attr-x-or-x-attr-y/918/2 "2019-04-09T12:27:42Z")

</div>

Not sure but you may need to enumerate the relationships you want to check in an or-join

---

<div class="post-metadata">

### Author: ![dustingetz](https://sea2.discourse-cdn.com/flex016/user_avatar/forum.datomic.com/dustingetz/32/56_2.png) [@dustingetz](https://forum.datomic.com/u/dustingetz)
#### Post date: [April 9, 2019, 1:30pm UTC](https://forum.datomic.com/t/y-attr-x-or-x-attr-y/918/3 "2019-04-09T13:30:48Z")

</div>

This works:

```auto
[:find 
 (pull ?e [*])
 :where 
 
 ; :community/name starts-with? "A", or
 ; :neighborhood/name starts-with? "A"
 
 [(ground #{:community/name
            :neighborhood/name}) [?a ...]]
 [?e ?a ?name]
 [(clojure.string/starts-with? ?name "A")]]

```

[http://demo.hyperfiddle.net/:dustingetz!datomic-query-any-attr/](http://demo.hyperfiddle.net/:dustingetz!datomic-query-any-attr/)
