[poe] IM: Constraint and Logical Constraint do not have a uid property

nitmws has just created a new issue for https://github.com/w3c/poe:

== IM: Constraint and Logical Constraint do not have a uid property ==
Having a look at the IM Editor Draft of 11 October, [Constraint section](http://w3c.github.io/poe/model/#constraint):
For the Logical Constraint the values of the operand are defined as "its value is a list of the existing Constraint instances." 
Example 15 shows this example of an "existing Constraint instance" as:
```
{
...
               "xone": [ { "@id": "http://example.com/p:88/C1" },
                         { "@id": "http://example.com/p:88/C2" } ]
...}

{
   "@context": "http://www.w3.org/ns/odrl.jsonld",
   "@type": "Constraint",
   "uid": "http://example.com/p:88/C1",
   "leftOperand": "media",
   "operator": "eq",
   "rightOperand": "online"
}

```
By the IM definitions this Constraint instance is **invalid** as the 2.5.1 Constraint Class does NOT define a uid property. On the other hand a Logical Constraint operand needs identifiers to refer to Constraints.

**Conclusion**: currently Constraint and Logical Constraint instances can only have an auto-generated blank node id, it is not possible to set an identifier explicitly. 
**Suggestion**: the Constraint class and also the Logical Constraint Class must have a uid property. 


Please view or discuss this issue at https://github.com/w3c/poe/issues/278 using your GitHub account

Received on Wednesday, 11 October 2017 07:52:50 UTC