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

Naming of elements/properties #165

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

Naming of elements/properties #165

riannella opened this issue May 2, 2017 · 15 comments
Assignees

Comments

@riannella
Copy link
Contributor

@aisaac

Remarks on the naming of POE elements:

  • it’s really confusing to have classes and properties that have the same identifier, the only difference being capitalization, e.g. ‘Permission’ and ‘permissions’. I know you may inherit this from earlier ODRL work, but as POE is not yet a Recommendation, it would be useful to question that. Having the property identifier for “Has Permission” be ‘hasPermission’, ‘hasPermissions’ or ‘permissions’ would already be way clearer for implementers.

  • for the possible values of odrl:conflict attribute, why is one abbreviated (‘perm’) but not the others (‘prohibit’, ‘invalid’)? Homogenising the way they are identified would be good.

  • the name of odrl:inheritRelation is quite confusing. It sounds as if it denotes the inheritance relation between policies. But this is the role played by odrl:inheritFrom. If the role of odrl:inheritRelation is to link to some “context of inheritance” (https://www.w3.org/TR/odrl-model/#inhertiance), why not naming it odrl:inheritanceContext?

  • some sub-classes of Policy have strange names, like Privacy. This name is shorter than PrivacyPolicy, indeed, but it’s quite confusing as the bare word ‘privacy’ means something completely different from a policy. Compare with Agreement and Offer, which sound much better as direct sub-class of Policy: ’agreement’ and ‘offer’ are what the policy really is; ‘privacy’ is rather the object of the policy. See how ‘privacy’ could also be used in new ‘privacy agreement’ or ‘privacy offer’ kind of policies.

  • ‘set’ is also strange. It’s not wrong, but the definition shows a problem: “Policy expression that consists of entities from the complete model.” This can be said of any POE Policy, no? ‘Open Set’ or ‘Open Policy’ would reflect better what is in the note in 4.2.6. Or maybe ‘Policy prototype’ or ‘Abstract Policy’?

  • why using something as vague as ‘term’ for ‘ConflictTerm’ while the definition and note in 4.3.1 suggest that ConflictStrategy would be both more precise and fit to the semantics?

  • one would expect that odrl:conflict relates a Policy to some sort of conflict (4.3.2). But the definition mentions ‘conflict-resolution mechanism’ which is not the same thing. The label (‘Handle Policy Conflicts’) sounds like a different thing altogether. Still it seems like using the definition term or the label for minting a new identifier would help implementers.
    Same for odrl:undefined (4.4.2). At this point I must say that I’m not nitpicking for the fun of it. The fact that POE contains so many of these identifiers that very approximately represent the meaning of the class/property (one could even call them ‘false friends’) caused me to lose a lot of time figuring out the POE model itself.

  • is there any reason that ‘inheritFrom’ is not ‘inheritsFrom’?

  • why do identifiers of scopes (which are instances of classes) start with upper-case, that is, they use the usual convention for naming classes?

  • why isn’t odrl:AllConnections named odrl:AllFirstLevelConnection, just the way odrl:All2ndConnections is named... (and then why isn’t it odrl:All2ndLevelConnections?). Why odrl:AllGroups and not odrl:AllGroupConnections? A bit of homogenisation here would be really good.

@riannella riannella self-assigned this May 2, 2017
@riannella riannella added this to Wide/Horiz Review in ODRL Deliverables Review May 2, 2017
@riannella
Copy link
Contributor Author

1 - The working group has discussed and has decided to keep the same naming of identifiers and use the label as the human-readable text. The latter would have "has x" for properties etc. We did not want to do wholesale changes to the URIs unless there were broken.

2 - See 1)

3 - inheritRelation has now been deprecated

4 - We would argue that Privacy is a type-of Policy: https://en.wikipedia.org/wiki/Privacy_policy

5 - We agree and are discussing that here #154 (We may deprecate Set)

6 - I have updated the Label (but see 1) as well)

7 - Have removed "mechanism" for "strategy" (as that what is actually is).

8 - No, but the label is ok.

9 - No real reason. Examples here use upper-case: https://www.w3.org/TR/2012/REC-owl2-primer-20121211/#Equality_and_Inequality_of_Individuals

10 - Updated the labels.

riannella added a commit that referenced this issue May 5, 2017
@riannella riannella moved this from Wide/Horiz Review to Completed (Last Call) in ODRL Deliverables Review May 5, 2017
@riannella riannella removed this from Completed (Last Call) in ODRL Deliverables Review May 12, 2017
@riannella riannella reopened this May 15, 2017
@riannella riannella added this to Completed (Last Call) in ODRL Deliverables Review May 15, 2017
@aisaac
Copy link

aisaac commented May 18, 2017 via email

@riannella
Copy link
Contributor Author

1/2 - There was some discussion here:
https://lists.w3.org/Archives/Public/public-poe-wg/2017Jan/0001.html

There are 4 implementors we surveyed last year (who all use the current uris):
https://www.w3.org/2016/poe/wiki/images/8/88/ODRLImplementationSurvey-2016-Dec-07.pdf

4 - So you prefer to label it "Privacy Policy"? What about the others...add "Policy" to their labels?

@aisaac
Copy link

aisaac commented May 18, 2017 via email

@aisaac
Copy link

aisaac commented May 18, 2017 via email

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

I have updated the label to "Privacy Policy"

commit c1aa20d

@riannella riannella moved this from Completed (Last Call) to Proposed Solution in ODRL Deliverables Review Jun 7, 2017
@aisaac
Copy link

aisaac commented Jun 16, 2017 via email

@riannella
Copy link
Contributor Author

(Wasn't the best documented discussion ;-)
See "benws: having 2 URIs for the same property?"

The point was that the URIs are not broken.

Stuff has been added/deprecated, but exisiting stuff remains unchanged.

Our work is based on exisiting deliverables, and not a new spec.

@aisaac
Copy link

aisaac commented Jun 19, 2017 via email

@aisaac
Copy link

aisaac commented Jun 19, 2017

Oh, and not only because I'm keen on long discussions: I do really think that some of the naming issues do not help POE adoption.

@riannella
Copy link
Contributor Author

Is there was empirical evidence on the impact of adoption and URI names?

I've spent many years with the SNOMED ontology: http://bioportal.bioontology.org/ontologies/SNOMEDCT

with URIs like: http://ihtsdo.org/snomed/SCT_49872002
(a virus)

Business drives adoption :-)

@aisaac
Copy link

aisaac commented Jun 20, 2017 via email

@riannella
Copy link
Contributor Author

And I would certainly agree with you in an ontology with literally over a million URIs, that random underscores are not helpful ;-)

But for us, Permission V permission (like in here: https://www.w3.org/2016/poe/wiki/Policy_Inference) is not so critical...

@aisaac
Copy link

aisaac commented Jun 21, 2017 via email

@riannella
Copy link
Contributor Author

Thanks @aisaac - closing this issue

@riannella riannella removed this from Proposed Solution in ODRL Deliverables Review Aug 1, 2017
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

2 participants