-
Notifications
You must be signed in to change notification settings - Fork 78
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
Mutuals collection #461
Comments
I like the idea. But the question is, which type of objects should the collection have? In order to make the friendships verifiable by third-party servers, I think exposing the But making the collection contain activities instead of actors might make it unsuitable for audience targeting, because |
To my mind, follow is distinct from like, or friend, or coworker, or family, etc. Mutual or complementary (e.g., employeeOf and employs) listing quickly leads one to consider inference of undeclared but clearly described relationships. Other users listing themselves as employees of the same company as user_A might be suggested to user_A (and vice versa) as connections they might want to declare... and some users might want to mute all such suggestions, in either or both directions, or suggestions regarding certain people (such as ex-romantic partners) or companies (such as former employers, or companies whose business practices are anathema to user_A).... It's vital to support blocking and/or "make me invisible to" user_x, to accommodate situations which might be addressed with restraining orders, in 4D-space — whether or not such restraining order is in place. There are related complex considerations. This may not make implementation of client applications easier ... but it must be taken into consideration. |
i think having better support for arbitrary relationships is probably the real problem here -- the semantic meaning of "friend" is going to differ greatly, and even when defined narrowly as "mutual" it is still probably not something that deserves its own collection / special collection. it might make sense to expose a collection that is managed by the actor, where the items in that collection are implied objects of the semantic triple -- so for example, i might Add someone to my another thing that could make sense is a PREFIX as: <https://www.w3.org/ns/activitystreams#>
SELECT ?actor
WHERE
{
<i> as:followers/as:items ?actor .
<i> as:following/as:items ?actor .
} (the query is probably not 100% correct because of weird interactions between RDF and the AS2 Collection model, but it gets the point across...) this is in theory something the client can do if they are so inclined, albeit rather inefficiently -- fetch/page/cache each collection, then calculate their intersection locally. but the server could provide this collection via a |
I think if it's defined as the intersection between followers and following, then it should contain the same type of object as those collections, namely, the actors involved. |
The first is for the actor themselves to see who their mutual follows are. The second is to make the collection addressable; it's a more trusted version of having a followers-only post. |
So, I like the idea of having a SPARQL query endpoint, maybe as one of the I'm going to see if there are enough social APIs with a |
A general SPARQL endpoint would be too much of a burden for LD-unaware implementations (which I think ActivityPub wants to support) and I doubt if there is a compelling user story that justifies the burden either (although an optional A more moderate (but more general than a special |
This is the one reason I can think of for why a Collection is preferable or needed, but also for addressing purposes, it could be any normal Collection without a property pointing to some special collection. Making a special collection for addressing purposes is something that needs to be handled carefully, especially as it interacts with With that said, and putting sharedInbox aside for now and focusing purely on the existence of a
SPARQL might be a bit "heavy" conceptually, but I think any querying language would be similarly heavy. Taking out LD awareness from your query language, you don't actually reduce the burden that much, and you instead lose the ability to deal with extensions. Still, we have the option of providing properties pointing to "pre-generated query results", so to speak. I'm just concerned that there might be a proliferation of such properties with one for every use-case under the sun. Overall complexity in the ecosystem would rise if this were to become the case. |
Determining whether two people are mutual connections is tedious. This collection shows who a person both follows and is followed by; the intersection of followers and following.
The text was updated successfully, but these errors were encountered: