-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
On a odrl:refinement over an Action / Asset Collection / Party Collection #64
Comments
When you transform Example 14 to turtle, you would get:
|
That's the compressed syntax with anonymous nodes and leaves the node rdf:Class hidden (not clear if i had multiple nodes pointing at the same refinement for example), can we use the extended syntax (that's what comes out of the library, and that will tell me what is that I need to add when there is a refinement) |
odrl:print is an instance of the class odrl:Action. If you need the object of an RDF triple referring to "printing", using that URI ("odrl:print") is enough and simple. This is succintly explained in Section 2.5.4 of the ODRL model. Is the 'note' in that section enough (and the examples above in that section)? Or do you think it needs further clarification? |
The actions are a bit of a red herring. I am not talking about the property that points at the action, I am concerned about the "wrapper" class for the refinements. I think it needs further clarification, ideally in "fully qualified domains" as that is what the libraries need to add triples (even if you can then output "succinct"). As I explained above (copy/paste again), I have a refinement for an AssetCollection or a PartyCollection,
In other words: If I was building the SHACL for the classes that are the target for |
The class you are looking for is odrl:Action (if the refinement is of an Action). In the examples you post, from the odrl:target property, we can infer that ex:URI_23244A is an odrl:Asset (or any of its subclasses, as odrl:AssetCollection). Therefore, in your examples, you do well by saying that ex:URI_23244A is a odrl:AssetCollection: in this case there was an ambiguity. |
I think the rdf:value properties should be odrl:source properties. |
Forget the action example ... @riannella @vroddon I believe we might be talking about different things, I will elaborate the example further with a couple of diagrams. Somewhere, someone defines an asset collection:
Now we move to the policy creation under ODRL:
The permission's target:
The prohibition's target:
So
I would argue that |
When you say: |
The target might be defined in writing as an odrl:AssetCollection, but when you have 2 rules pointing at the same asset, with different requirements (one refinement, one not) and you lay it in a graph (as above) that the range comes into question. I aim to show in the diagrams above: that it isn't in the range of an asset in the graph. There is a node that in a "single rule JSON" can look like it is implicit, but not in FQN RDF with multiple rules and different refinements on an element (in this example an AssetCollection. To start, I hope we agree that When you output the RDF that includes an asset and a policy, in the example above As per the example above, this is a DCAT catalog:
And we can create a policy:
The prohibition does look like the target is just the
But you can't "attach" the refinement to
It needs a class that binds the semantics "for this rule, the target has this refinement":
But
IMHO: |
A refinement is a type of odrl:Constraint (or odrl:LogicalConstraint) So you can create an instance of the refinement, then only refer to it in the Permission. Like:
|
When you say "you can" - I can't, as I explained yesterday, the library is asking for a node "to attach" the refinement. A text file like the one you produced above looks like it works, but in a graph it doesn't make sense.
As per the graph below When I add another rule with a the same topology (target-refinement) over the same asset, but different refinement:
I would be interested in seeing what result a SPARQL query returns on how many IMHO - these look very confusing as it appear to attach properties (" |
|
This just showed exactly the problem where I started in March. Are those The query should return 1 asset/assetCollection -
It might appear as a good binding from an ODRL perspective. But from the asset manager's perspective how is it justified semantically?, the Further, when you generate the JSON-LD (because this is what is used by most API), parsing is cluttered - there are 3 entries for If the purpose of making it a This is about end-to-end lifecycle and IMHO, still stands: it is not elegant and will confuse developers just as it has done to me so far. |
I fully understand @joshcornejo's point, there is something "logically" wrong about this SPARQL query returning three instances of AssetCollection, when only one has real existence. Either the factuality is marked, or a different model is seeked. I do not see a solution compatible with the current ODRL spec. Therefore, solving this problem would be a major change to the spec --discussion should be elevated to ODRL plennary meetings. More info in the wiki |
In the examples (14), in JSON we have the following
When transformed to TTL:
The class of
md:URI_23244A
surfaces (implicit in JSON, hidden under the opening "[{" ).When the example is swapped from an
odrl:action
to eitherodrl:target
orodrl:function
, it becomes confusing:From the diagram, the issue is:
The text was updated successfully, but these errors were encountered: