-
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
Define tiny and topological vocabulary for "relationship" #289
Comments
Implements issue w3c#289. - Drops the "Relationship" class and "relationship" property from vocabulary - Drops the related "subject" property - Simplifies `Modeling "friend requests"` section
After talking to @evanp at the F2F, I propose instead to rephrase this issue as - since we have an Extension mechanism, why don't we move the "Relationship" object and related properties to an extension, instead of core. |
Note also additional prior relationship vocabulary work:
Strongly agree with spinning this out of the spec, and whoever is working on it, please try to align with prior established work. |
Group resolved to remove Relationship |
-1 to removing Relationship. The use case is well documented. Maintaining friends/relationship collections is central to most social services. What has not been indicated is why Relationship as currently defined is inadequate. |
@jasnell Can you point us to use case documentation for the Relationship object?
|
Do you have any other links to use cases aside from friends lists? Because a Relationship object is completely superfluous to friends/subscribers/followers management, which can be done with simple collections of actors (which is how AP handles it, as do most other similar systems). But even if you're looking to cover exotic use cases like dating sites or family history sites, why not implement Relationships as an Extension? Why does it need to be in the core? |
While I disagree with this change, don't let my -1 block it if there is consensus in the group. |
One thing I've realized as I work on this issue is that without the I understand the motivation, but I wonder if we could instead provide a minimal, topological relationship vocabulary that describes the structure of the social graph without any additional social values attached. I realize that's not easy and that there are implicit values in any description, but we might be able to avoid some of the pitfalls if we steer towards describing edges in the social graph rather than qualitative social relationships. One way to do this is to provide a finite set of sub-classes of Relationship:
Extensions that want to provide more socially relevant relationships could do so with extension types. If we pursued this mechanism, we'd drop the "relationship" property and use "type" to specialize Relationships instead. |
Works for me but it's a slippery slope. Would need to keep the vocabulary as constrained as possible. I don't think we'd need to drop {
"type": "Relationship",
"subject": "acct:james@gmail.com",
"relationship": "Following",
"object": "acct:evanp@fuzzy.io"
} This would keep parsing fairly simple and would simplify code in that implementers would not have to keep track of the type hierarchy between |
The actual base terms I'd recommend for
|
@dmitrizagidulin you wrote "there are no good vocabs or ontologies for the Relationship object to use", perhaps you missed my previous comment (since we commented on the same day). XFN 1.1 has been well established since 2004, and was normatively incorporated into vCard4 (RFC 6350, 2011). In addition, if we're looking at adding following/follower semantics, those terms have been found to work quite well based on research: http://microformats.org/wiki/xfn-brainstorming#follower_and_following and @jasnell even used one in his code example: "relationship": "Following" |
Do you mean 'topological' rather than 'topographical' ? I don't see the connection to geography here. |
@kevinmarks DOH. Yes, topological. |
@evanp you asked me some details about representing this in OWL. The example in the OWL Primer is
I want to point out that using this for property names seems like pretty bad modeling. Of course, one would normally use properties as properties, but AS2 makes that hard, since it reifies everything A middle ground might be to have the properties be "individuals" (IRIs which denote conceptual entities). Then it's a different kind of enumeration, like https://www.w3.org/TR/owl2-primer/#Enumeration_of_Individuals |
@evanp @sandhawke in re-reading where this discussion has gone I realized that the fact that this feature is still not fully well understood (certainly unimplemented/unprototyped) and its design is still being brainstormed here in a github issue IMO means it's far from being baked well enough to be "CR ready" (certainly has not received wide review), and on the contrary, very much tends to support @dmitrizagidulin's proposal of having it develop independently as an extension. I would prefer that this "Relationship" feature not jeopardize or delay AS2 CR any further (which it is doing at the moment), and thus +1 to @dmitrizagidulin's proposal. |
Turns out I was wrong about this. Hold that thought.
For the record, I also agree that this should be an extension and not in core. |
Please Indicate One:
Please Describe the Issue:
Outside of the domain of family history or heraldry sites (an area that seems out of scope for AS2), the concept of describing social relationships has been bogged down with controversy and technical problems. The state of the art in ontologies related to this subject (foaf and relationships vocabulary) leaves something to be desired. And there doesn't seem to be any real use case for it, aside from the very narrow case of implementing "Friend"-lists type functionality used by many social apps.
The Friends list use case is important, but is being addressed by ActivityPub's followers and
following
collections.I propose:
relationship
from section 4 (common properties of objects)5.2 Representing Relationships Between Entities
as out of scope for this spec.5.2.1 Modeling "friend requests"
to the ActivityPub spec, or b) make section 5.2.1 the entirety of 5.2, just using the Offer and Follow objects and referencing the Followers collection, without using Relationship objects.I'm happy to make a PR with these changes.
The text was updated successfully, but these errors were encountered: