-
Notifications
You must be signed in to change notification settings - Fork 30
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
Annotation alsoKnownAs <uri> #21
Comments
Prov-o property http://www.w3.org/TR/prov-o/#wasDerivedFrom |
👍 to prov:wasDerivedFrom as per @paolociccarese, but do we need it explicitly in the model? |
👍 for using PROV-O |
Timbl: Could use rel=canonical |
User focused rationale: (Shevski)
|
Proposal: Client SHOULD assign a unique identifier to the annotation, and might consider using a UUID. |
+1 ! |
👍 |
If the annotation specifies its own ID in the form a URI all of this is solved. Using JSON-LD as an example, you could dereference http://example.com/anno.json and see If the annotation is being re-published because some system wants to add information to it, then it's maybe not Anyway, is this a data model issue or a protocol issue? It's tagged as "model" here, but I'm not sure it really is an issue with the model. |
Proposal post-TPAC:
Rationale: rel=canonical is too strong. If the @id is the deferenceable HTTP URI, and the referenced URI is just a UUID, then the canonical one is the HTTP URI already. Instead we want to say that we got this resource via this other resource. We could ALSO assert canonical if necessary, but that would require quite some coordination amongst systems. To me (personally, non editor, non chair, yadda yadda) that seems like something to add once we have deployment experience. Rationale: As we've seen with other PROV terms, the implications and unexpected/unintended side effects are many and varied. For a system intended to be simple and "webby", reusing existing terms from web-friendly ontologies such as the IANA link relations, and originally defined in Atom for just this same purpose, seems preferable. |
Right. We can try to formulate, formally, a feature as 'at risk' when going to CR, based on implementation experience, or something like that. |
Unfortunately, using iana:via may lead to problems. See the (huge!) thread in mnot/I-D#39 started by Erik Wilde which is still not fully resolved; the essence of it is "link relations for RDF?". (The discussion degenerated into how rel relations are registered, what the HTML5 does, why is the IANA registration broken, etc, etc, etc. Do we want to go there?) Call me chicken, but I do not believe we should be part of the discussion if we do not really really need it. Let us try to live without it (alas!, I would say). |
Related to this issue and the discussion happening on #96 (and of course the comparison happening on #102), ActivityStreams has a |
Regarding the IANA discussion linked, it's mostly Tantek and Elf arguing and adding off-topic noise preventing Mark and Eric from actually making progress. The discussion that is contentious is the HTML5 list, which we don't need to refer to, and as a wiki page I doubt we could normatively do so anyway. Also note that the issue is closed... so there must have been some resolution :) Thus I stand by my proposal for iana:via, as especially it also gets us first, next, prev and last relationships which we'll need if AS doesn't pan out. |
Well... Yes, the discussion linked has gone into a discussion between Tantek and Elf, but the original issue, as raised by Erik, is still open. What would be the full URI of the property? Because https://www.iana.org/assignments/link-relations/via does not de-reference, which is a big no-no for linked data... We could use https://www.iana.org/assignments/link-relations/link-relations.xhtml#via which does de-reference (but it does so ignoring I think it is a really sad state of affairs, and the issue raised by Erik is right on the spot. But, at this moment, it is still not resolved. |
Given that we won't need to import iana:next/prev/first/last, a slight amendment to the proposal:
|
Works for me. |
Me too.
|
|
@shepazu they're different animals. 🐱 🐶
|
I am not sure having multiple 'via' values is going to be a good idea as we will not be able to distinguish the original annotation from its copies. |
To address the 'which of these URIs is canonical' question, I propose (quite simply) that we allow both There may not be a canonical URI, for example if the client doesn't provide a URI at all and sends the annotation to multiple servers. It would be unwise for servers to assert a canonical URI without instruction from the client, as we could end up with many competing canonical URIs. So the processing requirements would be:
|
@azaroth42, just to clarify
|
The title of this issue seems to be obsolete. |
👍 for I think it would look like: Offline: {
"id": "urn:uuid:1234-567...",
"target": "http://...."
} Published online later: {
"id": "http://annotations.example/blah-blah",
"canonical": "urn:uuid:1234-567...",
"target": "http://...."
} Aggregated elsewhere: {
"id": "http://other.example/blah-blah-again",
"via": ["http://annotations.example/blah-blah"],
"canonical": "urn:uuid:1234-567...",
"target": "http://...."
} Does that make sense? Should the (offline) first example also re-state it's Other than that question, I think this thing sings pretty sweetly now. 🎶 🐦 |
Is |
@azaroth42 I guess an ordered list makes sense, it provides a breadcrumb. Let us go for this to close this:-) |
Telco decision to go for ordered list, http://www.w3.org/2016/01/13-annotation-irc#T16-58-04 |
I don't see the motivation for addressing de-duplication anywhere. Can anyone summarize? I can understand why a system may wish to de-duplicate, but couldn't they do that based on the content itself? |
@tilgovi if I'm trying to syndicate / distribute an update to the |
Requirement:
In order to deduplicate annotations across multiple systems, it would be useful to know where the annotations were originally harvested from. Also, if a client assigns an internal URI (such as a UUID) to the annotation, recording this in the model would be valuable so the client can later re-discover the annotation.
Discussion:
In the CG, the model included oa:equivalentTo. This seems a much broader issue than just ours -- is there a better relationship that we can make use of? iana:via? prov:derivedFrom?
The text was updated successfully, but these errors were encountered: