Skip to content
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

Vocab clarifications #164

Closed
riannella opened this issue May 2, 2017 · 21 comments
Closed

Vocab clarifications #164

riannella opened this issue May 2, 2017 · 21 comments

Comments

@riannella
Copy link
Contributor

@aisaac

  • I think it is not really helpful to have two different Actions vocabularies (one for P/O and the other one for Duties). This sort of ontological commitment can even be dangerous. Why can’t an action now earmarked for P/Os, say Distribute, be used as a Duty? One could imagine that a Party gets the permission to do things with an Asset, on the basis that this party takes care of distributing it. A bit like the copyright agreement between researchers and journal publishers, where the latter commit to employ their distribution network to promote the publish papers.
    In fact, while the wording of Action definitions is very much focused on this division (e.g. “The Assigner permits/prohibits the Assignees to distribute the Asset.” at https://www.w3.org/TR/odrl-vocab/#term-distribute) it is not enforced in the vocabulary by creating two distinct OWL ontologies or SKOS concept schemes. It is also not motivated (and maybe not even mentioned?) in the Information Model at https://w3c.github.io/poe/model/#action. My recommendation would be to remove any hint of this distinction from the Vocabulary document (structure of sections, wording of definitions, and separate Action boxes in figure 1)

  • often, the relation between POE and SKOS, wrt. the notions of ‘concepts’ and ‘vocabularies’, was not clear to me. Section 4 present a number of ‘vocabularies of applicable terms’. Some of them consist of instances of skos:Concept, some of them of instances of owl:Thing, some of them extend/refine existing POE classes by sub-classing (e.g., the Policy Types). Also, others are mentioned as concepts (Rule at https://www.w3.org/TR/odrl-vocab/#term-Rule) but they’re not defined as such. Are all these different ways necessary? Is typing anything as an owl:Thing any helpful actually?
    Further, when looking at the ODRL Turtle serialization, I see instances of skos:Concept (:use), instances of skos:ConceptScheme (:actions), but no skos:inScheme statement to relate them. Some groupings of concepts are defined as skos:Collection, while there could be defined as (small) ConceptScheme, like http://www.w3.org/ns/odrl/2/#policyTypes .
    Perhaps a general examination of all this is desirable. Especially if concept schemes could play a bigger role in the future (see my comment about adapting for POE the approach of Web Annotation for extending its default sets of concepts, in https://lists.w3.org/Archives/Public/public-poe-comments/2017Apr/0007.html). NB: the extension pattern used by WA is applicable to OWL classes like Policy type, so I think keeping ‘vocabularies’ of subclasses of existing POE classes is ok, it’s just that they should probably be flagged as different kind of vocabularies to clarify the situation.
    Finally the Turtle serialization uses skos:broaderTransitive for cases where skos:broader should probably be used. See https://www.w3.org/TR/skos-primer/#sectransitivebroader “one can interpret skos:broader statements as explicitly asserted direct parent links, while skos:broaderTransitive is used to reflect more-general (and possibly indirect) ancestor relationships.”

  • 4.1.1 target, assigner, assignee aren’t among the properties for Policy? And (as one example), in 4.8.1 odrl:target is mentioned to have only Rule as domain? The POE information model mentions that these can appear at the Policy level (https://www.w3.org/TR/odrl-model/#composition, for example, example 6)

  • about odrl:relation: in the end, is it worth having an abstract property when it has only two concrete sub-properties (odrl:output and odrl:target)? And when it has such an abstract name - and which conflicts with many general properties with similar names but an actually more generic meaning, like rdfs:property and dc:relation.

  • 4.9.3 All, All2ndConnections, AllConnections and AllGroups are not defined in the information model. Then I realized that the information model itself in 3.3.2 (https://www.w3.org/TR/odrl-model/#party-scope) is quite strange. It says “The scope attribute SHOULD take one of the following values: [individual and group]” and then “Other URI values for the scope attribute SHOULD be defined in the ODRL vocabulary [vocab-odrl] and ODRL Profiles.”, which is a bit contradictory.

  • what’s the difference between odrl:All and odrl:Group?

  • it seems that the various types of scopes could be arranged as a SKOS concept scheme, with skos:broader links between e.g. odrl:All2ndConnections and odrl:Group. This would better reflect your notices ‘Note that “group” scope is also assumed’.

@vroddon
Copy link
Contributor

vroddon commented May 8, 2017

This is a bunch of issues.

  1. Actions for Duties, actions for Permissions/Obligations. I agree with Antoine, as I don't find a reason to split the actions in two categories. But I think this deserves discussion.
  2. SKOS - I have no opinion about what to do. What should we implement?
  3. I don't see anything wrong in Section 4.1.1. However, I see Section "3.1.1 Policy Composition" in the model as something wrong. @sereAbi What do you think about example 3 and example 4? I think you can correct them
  4. Removing odrl:relation: I totally agree, with no more argument than simplicity. Does this need WG discussion?
  5. Scope of party. What shall we do? I don't see Antoine's problem.
  6. group/all i don't see Antoine's problem, all is "all", and group is "several".

@nitmws
Copy link
Contributor

nitmws commented May 14, 2017

re use of SKOS
My background: I'm maintaining the about 200 IPTC controlled vocabularies = concept schemes and IPTC has adopted SKOS. From that point of view:

The ODRL ontology used both skos:Collection-s and skos:ConceptsScheme-s. I have to say frankly it is hard to make a clear distinction between both, From their definitions l infer collections are closer to what an enumeration is in the programming context (a list of terms dedicated to a very specific use) and the concept scheme is a container of concepts - they may be used for specific purposes, but they don't have to.

Actions by the WG:

  • It would be great if POE/ODRL could define for what purposes skos:Collection and skos:ConceptScheme should be used.
  • And: I'm not aware of any limitation of having a Concept only in a skos:Collection or skos:ConceptScheme - I think all Concepts should be contained by an ODRL Concept Scheme - and ODRL my have some.
  • ODRL defines a single skosConceptScheme "actions" and claims in free text that many actions - from anonymize to compensate - are included. But there not a single skos:inScheme - which is the corresponding definition by SKOS. And using skos:isTopConcept/skos:hasTopConcept is also of great help to clarify the hierarchy. (This was already pointed at by Antoine)

@aisaac
Copy link

aisaac commented May 18, 2017 via email

@riannella
Copy link
Contributor Author

OK, lots of stuff here ;-)

  1. Actions - difference between P/O and Duties.
    Ok - we will put all actions in one section "Actions for Rules"

  2. SKOS

  • I know we primarily use skos:Collection to drive the script to create the Vocab sections in the document.
  • We will change from using skos:broaderTransitive to odrl:narrowerThan (as there are more semantics here that just representing a KOS hierarchy)
  • I have no view on the use of skos:Concept. If there are others terms in the ontology we should add, then please suggest.
  1. Missing properties.
    Yes, I think I have found a small bug in our script - It seems ok for single Ranges, but not UnionOf....will fix @nevali ;-)

  2. odrl:relation - the reason is that other communities - thru Profiles - may define subtypes (the fact that we can only think of two...should not mean we remove the abstract parent...and it can also be used to query for any type of relation between Rule and Asset)

  3. Scopes
    All the scopes are gone (including deprecated 2ndConnections etc..)

@aisaac
Copy link

aisaac commented May 29, 2017 via email

@aisaac aisaac mentioned this issue May 29, 2017
@riannella
Copy link
Contributor Author

5/6 - We added the new AssetCollection and PartyCollection classes to address URI-hijacking.
This means the URI for an Asset/PartyCollection identifies a group of resources/entities that the constraint is applied to (constraints cannot be applied to an Asset or Party class).

2 - Can you add to #160 ?

@riannella riannella moved this from Wide/Horiz Review to Proposed Solution in ODRL Deliverables Review May 30, 2017
@riannella riannella moved this from Proposed Solution to Wide/Horiz Review in ODRL Deliverables Review Jun 1, 2017
riannella added a commit that referenced this issue Jun 6, 2017
@riannella
Copy link
Contributor Author

  1. Moved all Actions into one section (Actions for Rules)

commit 30fd9e6

@aisaac
Copy link

aisaac commented Jun 6, 2017 via email

@riannella
Copy link
Contributor Author

Are you proposing that instead of the constraint mechanism for parties/assets, we should (more simply) say that you mint a new URI?

So in example 19, the assignee is "http://example.com/user44/friends/age/gt/17" ?

@aisaac
Copy link

aisaac commented Jun 18, 2017 via email

@riannella
Copy link
Contributor Author

The uid has moved to a "Should" now.

So, this is possible:

   odrl:assigner [ 
        a odrl:Party ;
        foaf:name "Bob" ;
    ]

See #174

@aisaac
Copy link

aisaac commented Jun 19, 2017 via email

riannella added a commit that referenced this issue Jun 20, 2017
@riannella
Copy link
Contributor Author

Ok, I've added a sentence to the narrative (to hopefully) capture that.

commit: 5ee91db

@aisaac
Copy link

aisaac commented Jun 20, 2017 via email

@riannella
Copy link
Contributor Author

Ok, I am slowing being to understand :-))

So, if for PartyCollections (and also AssetCollection) we also had a "source" property, and we stated that you must use this if you want to use a constraint, such as:

 "assignee": {
            "@type": "PartyCollection",
            "source":  "http://example.com/user44/friends",
            "constraint": [{
                "leftOperand": "foaf:age",
                "operator": "gt",
                "rightOperand": "17"
            }],

Then that would be ok?

@aisaac
Copy link

aisaac commented Jun 21, 2017 via email

@riannella riannella moved this from Proposed Solution to Wide/Horiz Review in ODRL Deliverables Review Jun 22, 2017
@riannella
Copy link
Contributor Author

Ok, will raise at Monday's teleconf

@riannella
Copy link
Contributor Author

WG agreed to this (26 June)

@riannella
Copy link
Contributor Author

Added the source property

commit 68fdba3

@riannella riannella moved this from Wide/Horiz Review to Proposed Solution in ODRL Deliverables Review Jul 4, 2017
@aisaac
Copy link

aisaac commented Jul 31, 2017 via email

@riannella
Copy link
Contributor Author

Thanks @aisaac - closing this issue

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants