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

@riannella this way:

```
{
...
        "action": [{
           "rdf:value": { "@id": "odrl:reproduce" },
           "refinement": { "uid": "http://example.com/locos/LC1" }
        }]
...
}

{
   "@context": "http://www.w3.org/ns/odrl.jsonld",
   "@type": "LogicalConstraint",
   "uid": "http://example.com/locos/LC1",
   "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"
}
etc ...
```
What is shown above is in fact done by any JSON-LD library in the transformation from Compacted to Expanded JSON-LD and this is a prerequisite for transforming that into N-Quads - see the lower box at https://json-ld.org/playground/ : it splits up the nested syntax into standalone graphs.

As I said this is done by any Compacted to Expanded transformation, in this case the hand-made id `http://example.com/locos/LC1` is is set to a blank node id like `_:b99` by the internal processor of the transformator.

If the Logical Constraint would have a uid this would be possible:
* the same Logical Constraint is used by 6 Rules of a Policy
* the Logical Constraint graph is defined outside the Policy graph - but inside a "Policy and other graphs"-RDF Dataset.
* ... and all 6 Rules could (re-)use the Logical Constraint by a  `"constraint": { "uid": "http://example.com/constraints/C100" } `
* and to make this crystal clear: a `"constraint": { @id: "http://example.com/constraints/C100" }` is semantically exactly the same - only an @id has to be used instead of uid. 

Therefore is strongly suggest for the sake of a consistent ODRL syntax across all classes: let's define a uid property for Locial Constraint as it is defined for the other classes.

-- 
GitHub Notification of comment by nitmws
Please view or discuss this issue at https://github.com/w3c/poe/issues/278#issuecomment-336283610 using your GitHub account

Received on Thursday, 12 October 2017 21:50:04 UTC