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

odrl:write was deprecated #1

Open
joshcornejo opened this issue Dec 19, 2024 · 2 comments
Open

odrl:write was deprecated #1

joshcornejo opened this issue Dec 19, 2024 · 2 comments

Comments

@joshcornejo
Copy link

Source: https://github.com/SolidLabResearch/ODRL-Test-Suite/blob/main/data/requests/request-3.ttl

odrl:action odrl:write;

should be

odrl:action odrl:modify;

I thought the same thought but in 2.2 it was deprecated:

:write
	a :Action, skos:Concept ;
	rdfs:isDefinedBy odrl: ;
	rdfs:label "Write"@en ;
	skos:definition "The act of writing to the Asset."@en ;
    owl:deprecated true ;
	skos:exactMatch :modify .
@woutslabbinck
Copy link
Collaborator

The specification indeed states that odrl:write is deprecated using the owl semantics.
Though, it further has SKOS semantics stating an exact match (skos:exactMatch) that means "the two concepts have equivalent meaning".

How I understand it is that they can be used interchangeable.

Now that I think about it a bit further, does to the transitive property of (skos:exactMatch) mean that all deprecated actions with exact match to odrl:modify can be used interchangeable?

Another question that I do not have the answer to is, which semantics take priority for ODRL: skos or owl?

@joshcornejo
Copy link
Author

IMHO, at least in "general" programming libraries/languages:

  • Version takes precedence: 2.2 deprecates something from a previous version, 2.2 takes precedence.
  • If you are 2.2 "compliant" you must implement :modify and can't avoid :write and throw a "deprecated" error (or warning, depending if you are implementing it or not) - if you are a 2.1 to 2.2 you might accept :write and :modify.
  • a deprecated element usually disappears at the following update (meaning that 2.3+ doesn't need to refer to :write)

So, for example, you can be 2.1 and 2.2 compliant, whilst someone else is only 2.2 (ignoring deprecations is not breaking 2.2).

owl/skos, in this case, are defining properties for :write. In this case, they are just saying a) the node will go away, and b) this is the replacement.

To answer your question about interchangeability: anything that is skos:exactMatch is interchangeable (in the direction defined: a -exMatch -> b / c -exMatch-> b ... but a and c are not necessarily "interchangeable" as when they were defined (but yes after the exactMatch).

skos:exactMatch is used in a lot of thesaurus taxonomies.

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

No branches or pull requests

2 participants