-
Notifications
You must be signed in to change notification settings - Fork 60
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
as:closed is wrongly defined in the normative context as only being xsd:datetime #542
Comments
Where is this @type parameter used in the compaction algorithms? Is this
just an informational hint or does it actually matter what we put here?
…On Wed, Jun 7, 2023, 12:14 PM trwnh ***@***.***> wrote:
Please Indicate One:
- Editorial
- Question
- Feedback
- Blocking Issue
- Non-Blocking Issue
Please Describe the Issue:
Per issue triage with @evanp <https://github.com/evanp> just now, it was
stated that Activity Vocabulary takes precedence over the context document
for what is considered normative.
Per AS2-Vocab:
https://www.w3.org/TR/activitystreams-vocabulary/#dfn-closed
Indicates that a question has been closed, and answers are no longer
accepted.
Range: Object | Link | xsd:boolean | xsd:datetime
Per another issue regarding url in w3c/activitypub#375
<w3c/activitypub#375>
url may be a Link node but it may also be xsd:anyURI (per AS2-Vocab
range). I am not sure how this should be expressed in LD. An array is
incorrect since it implies both. I don't know how to properly define
"either-or" or "any of" types.
So this is an even more complex variant of that. closed can be:
- a boolean false to indicate the Question is still open
- a boolean true to indicate the Question is closed
- a datetime xsd:datetime to indicate the date and/or time that the
question was closed (implying true as above)
- an Object or a Link that references what it was that actually closed
the Question, i.e. the "accepted answer" (implying true as above)
A naive approach would be to use a @type array like so:
"closed": {
***@***.***": "as:closed",
***@***.***": "xsd:datetime"
}
"closed": {
***@***.***": "as:closed",
***@***.***": ["xsd:boolean", "xsd:datetime", ***@***.***"]
}
But I'm not actually sure this means what you would think it means. We
intend a "one-of" relation, but the above encodes an "all of the above"
relation.
Possible solution
- Define new terms for each of the types, similar to how items and
orderedItems are defined?
- So possibly a closedBy term that has @type: @id can handle the
case of Object or Link. It should have the same @id of
https://www.w3.org/ns/activitystreams#closed
- But that still leaves ambiguity between booleans and datetimes. I
suppose you could drop the @type entirely for closed?
—
Reply to this email directly, view it on GitHub
<#542>, or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AABZCV7VICWD42ETFARJH6LXKCZIRANCNFSM6AAAAAAY6FCP2I>
.
You are receiving this because you are subscribed to this thread.Message
ID: ***@***.***>
|
I believe the only type that "matters" is |
Dmitri will reach out to JSON-LD folks to find out if there's a way to encode these multiple types. If not, we should probably keep "closed" as a datetime as currently defined in the context document, and consider recommending other existing properties like "result" as seen in the Vocabulary document in [Representing Questions)(https://www.w3.org/TR/activitystreams-vocabulary/#questions). This may rise to the level of an erratum, although it's not clear that this is not the author's or working group's intent. We should also do a survey of existing usage to see if any software uses the other types besides datetime. |
Defining a context term as both an object reference ( EDIT: After doing more reading, I'm not completely sure about |
So this rules out the array type as an option. Starting with this extended context:
We see that this results in the unambiguous expanded form:
And this compacts against AS2's context into this:
So I think the correct solution to this is, from an LD perspective:
The addition of I don't think this is a good candidate for a FEP because there is a clear error in the normative AS2 context compared to the spec, and I think it should be fixed. Terms should be |
Please Indicate One:
Please Describe the Issue:
Per issue triage with @evanp just now, it was stated that Activity Vocabulary takes precedence over the context document for what is considered normative.
Per AS2-Vocab: https://www.w3.org/TR/activitystreams-vocabulary/#dfn-closed
Per another issue regarding
url
in w3c/activitypub#375So this is an even more complex variant of that.
closed
can be:false
to indicate the Question is still opentrue
to indicate the Question is closedxsd:datetime
to indicate the date and/or time that the question was closed (implyingtrue
as above)true
as above)A naive approach would be to use a
@type
array like so:But I'm not actually sure this means what you would think it means. We intend a "one-of" relation, but the above encodes an "all of the above" relation.
Possible solution
items
andorderedItems
are defined?closedBy
term that has@type: @id
can handle the case of Object or Link. It should have the same@id
ofhttps://www.w3.org/ns/activitystreams#closed
@type
entirely forclosed
?The text was updated successfully, but these errors were encountered: