Re: [Specifications] Should blank nodes be ignored in member assertion by default? (#248)

This is not how this works :)

---

First of all, we should require that there are always two properties. Otherwise, what do you suppose is the behavior when it only has `hydra:property`? 

You say

```sparql
SELECT ?member WHERE {
  ?member dcterms:language ?foo
}
```

but why not the reverse? 

```sparql
SELECT ?member WHERE {
  ?foo dcterms:language ?member
}
```

This is why in my implementation I require that a member assertion always has two of the `hydra:(subject|predicate|object)` properties.

---

The second member assertion also does not mean how you interpreted it. It reads as

> Every member of `<book-languages>` has `rdf:type` **equal** `bibo:Book`

```
SELECT ?member WHERE {
  ?member rdf:type bibo:Book
}
```

The assertions are simple. Else, how would a client know to interpret `bibo:Book` at face value as opposed to "objects which are instances of `bibo:Book`? Not to mention that you reversed its position

---

> We could add a statetement in the spec that recommends using non-blank resources here.

That is exactly what I proposed above: ***a blank node it SHOULD be ignored by a generic client***. What

-- 
GitHub Notification of comment by tpluscode
Please view or discuss this issue at https://github.com/HydraCG/Specifications/issues/248#issuecomment-1302558179 using your GitHub account


-- 
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config

Received on Thursday, 3 November 2022 19:14:07 UTC