Comments (11)
Yes, a Question
could be used for any type of inquiry. The question (no pun intended) is: Should it be used to model e.g. a Request
?
(note that the original activitystreams 1.0 had way more activity-types, including request
, and they have been deliberately culled in v2.0)
Imho there is a general problem in the AS/AP where everyone tries to map their own domain model to the 'social primitives' that are provided in AS-Core spec. This only works if there is a broad common understanding of the semantic concept and heuristics that are modeled. Where that's not the case, some apps Offer
may have completely different meaning than another apps Offer
does. Same case where you use Question
and an impl that Retrospring might implement later on.
So, again imho, options are:
- Implement using standard AS, if that is compatible to other common uses of these activities
- Implement as AS/AP vocabulary extension to make it clear what domain the model refers to.
For 2) it need not be app-specific. There could be standardization on an Event Management domain. Problem with 2) is that proper ways and best-practices to define vocab extensions and for others to reuse them too, is very poorly defined.
from activitystreams.
What gave you the idea it is a Poll?
Saying it very clear: A Question is a Question (otherwise it would be named 'Poll') …
It can be a question, request or poll.
IMO in English the difference between a Question or a Request is quite clear. A Request is somewhat directive: "Can you invite me to your event" ? While a question could be: "How many people do you expect at your event ?". Both are indeed questions, but they have different intents.
Additionally, the first one can be simply Accept
ed, while the second one requires a message.
The examples given here are quite clear: https://www.askdifference.com/question-vs-request/
I agree that the AS ontology is not supposed to handle everything. But since we already have an Offer
activity, I wonder why we don't have the "opposite" Request
activity. I give again the example used for Offer
activities:
The Offers use case deals with activities involving offering one object to another. It can include, for instance, activities such as "Company A is offering a discount on purchase of Product Z to Sally", "Sally is offering to add a File to Folder A", etc.
In a marketplace-type app, Sally could be "offering" objects she doesn't need anymore but she could also be "requesting" objects she needs. I don't see how Question
could fit here.
from activitystreams.
Is there a big difference to the Question
Activity?
from activitystreams.
Well, I think there is ! :-)
The Question
activity is designed for polls. It is about choosing one or more answers.
https://www.w3.org/TR/activitystreams-vocabulary/#questions
The Request
activity would be about asking an actor to do something. Like for example "I ask you to invite my friend to your party" (Request > Invite)
from activitystreams.
Who told you it is designed for polls?
It was mastodon who decided to restrict it to polls.
In no way we should let mastodon overtake the protocol (please read the spec.).
Represents a question being asked. Question objects are an extension of IntransitiveActivity. That is, the Question object is an Activity, but the direct object is the question itself and therefore it would not contain an object property.
Either of the anyOf and oneOf properties may be used to express possible answers, but a Question object must not have both properties.
What gave you the idea it is a Poll?
Saying it very clear: A Question is a Question (otherwise it would be named 'Poll') …
It can be a question, request or poll.
If you would like to federate with @redaktor or huge European Publishing Houses:
A Question is a Question
- used with
oneOf
is a “Poll” - used with
anyOf
is a “Request” - used open is a “Question”
cc @evanp
from activitystreams.
In the meeting I had proposed a way to solve exactly this because the ActivityStreams inventors (James and Evan) wanted to have a possibility to describe potential resulting actions to others.
But it was specified before AP, so today the default ActivityHandler would be an ActivityPub object …
The document is far from being ready (and we need to be careful to never publish anything which could have security implications done wrong), so I would be curious what the people from the meetings, e.g. @yuforium thinks of it.
Anyway, the discussion by the time was here:
https://www.w3.org/wiki/Activity_Streams/Expanded_Vocabulary#Potential_Actions_attached_to_objects
from activitystreams.
Well, just wanted to say that Question
is a broader term than Request
.
German words are "Frage" and "Anfrage" :)
Question and Response is IPTC Level 1 – while a Poll is an incredible narrow term (IPTC Level 4 [or 3 as "Polls and Surveys"])
However, some history: Some terms were deprecated in ActivityStreams and AP was specified.
Basically in the meantime the AS inventors thought about “Describing Potential Actions and result”.
The result
property is unfortunately not used by many but both together can give a really redundant/idempotent/good way to federate (don't know exact word). I can show in the next meeting https://socialhub.activitypub.rocks/t/developers-meeting-7-a-standard-way-to-query-in-activitypub/2488
This way we could use it as a Subclass of Question
but also describe the exact actions/workflow.
from activitystreams.
@srosset81 I think you make the case that a Question
is a request for information, and a Request
would be a request for activity or object.
In either case, if Question
doesn't work for your use case (which sounds very cool, and I hope actually happened!), it would make a lot of sense to add a Request
activity type.
The best next step for you would be to define a Request
activity type extension; you can see some examples of how to do it at https://www.w3.org/wiki/Activity_Streams/Primer/Extensions . If the extension becomes popular, we can add it directly to the Activity Streams 2.0 context; see https://w3c.github.io/activitystreams/draft-extensions-policy.html for roughly how it would happen.
from activitystreams.
One thing that came up during issue triage is that there isn't a clear symmetry between Offer
and Request
.
A good use case to consider is stock markets (or other markets). An "ask" is an Offer
to sell something at a particular price, and a "bid" is an Offer
to buy something at a particular price. Both sides of the transaction map cleanly onto Offer
, without the need for a Request
.
Care should be taken in defining this extension not to confuse the two too much.
from activitystreams.
An "ask" is an
Offer
to sell something at a particular price, and a "bid" is anOffer
to buy something at a particular price.
"ask" in this context seems like Question
--not an Offer
, unless I'm missing something.
from activitystreams.
Cross-reference: This issue mentioned in FEP-0837: Federated Marketplace by @srosset81 in the context of considering a Valueflows vf:Proposal
type.
from activitystreams.
Related Issues (20)
- Rename branch `master` to `main` HOT 2
- the orderedItems property mentioned in the Activity Streams 2.0 recommendation is not defined in the Activity Vocabulary HOT 8
- Update copyright statement and license to 2023 W3C software and document license HOT 1
- activitystreams-history: Generate v1.11 context document HOT 1
- Link from rolling version of the AS2 context to the latest numbered version
- Update AS2 Terms document with new copyright statement and license link HOT 1
- Default units for Place Object HOT 1
- Improvements to the Place type
- Appropriately defined properties for Content Warnings and Content Labels HOT 11
- Removing the domain constraints on the AS mediaType property HOT 21
- Use example names instead of numbers so they are persistent
- Update version document Primer page to include full versioning process
- Guidance on automated account actors AKA "bots" HOT 1
- Difference between @type/@id in JSON-LD and type/id in AcitivtyStream HOT 3
- `relationship` in JSON-LD context document should use `@type: @vocab` HOT 6
- Expand the domain of `closed` to be applicable to more than just `Question`? HOT 5
- `href` should be `@type: xsd:anyURI` in the context document HOT 1
- `url` is defined as `@type: @id` in the context document which precludes use of xsd:anyURI values HOT 5
- The vocabulary definition does not agree with the spec HOT 2
- Grammatical error in description of "audience" property
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from activitystreams.