Repository navigation
Replies: 1 comment
|
What is the value of a Canonical Space triple? A string or an entity? If it's an entity what is it? |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
This RFC outlines a design for linking entities to a specific space and surfacing "canonical" spaces for entities that are curated by the current space.
Motivation
Users are able to link to specific entities using the
ENTITYvalue type or by adding them to a collection. Entities are able to exist in many spaces at once, and anybody can add data to any entity as Geo is permissionless.We need a mechanism that enables users to link to the view of an entity in a specific space while also enabling users in a space to generate social consensus as to whether that link points to the "canonical" view of that entity. What makes a space "canonical" or not is defined by the users of the space itself and can mean whatever they want.
Assumptions
Design
The goal is to decouple the linking mechanism in Geo from the "canonical" representation of an entity within a space. Linking to an entity is comprised of two components:
Defining the space link
The space link is an optional field that denotes that a reference to an entity should link to a specific space. There are two potential designs
Aspacetriple on the collection item being used to reference the entityspaceproperty on theENTITYvalue referencing the entity1 only supports links to entities that are defined within a collection. It does not support a triple pointing to an entity using an
ENTITYvalue type.2 supports both collections and arbitrary triples pointing to an entity since the space is stored on the entity value itself. It would be an extension of the v1.0.0 design for an
ENTITYvalue type that adds an optionalspaceproperty to the Op's value denoting a specific space the entity value points to. The Op data model for the second design might look like this:Designing the canonical representation per-space
The canonical state is some piece of data that denotes that an entity has gone through social consensus and the space agrees on which space represents the view of an entity.
A space can define an entity's canonical space by adding a
Canonical Spaceattribute to an entity in their space. This describes to the rest of the space how this particular entity should be canonically viewed within the space. For example, the entity of "San Francisco" can be defined in Space A as being canonical if viewed within Space B. Each space can create their ownCanonical Spacetriple for each entity that they want to canonize. This allows us to have many views on a single entity across many spaces while enabling spaces to define specifically how they view an entity.Questions
Canonical Spacetriple? A string or an entity? If it's an entity what is it?Out of scope
UX considerations
Canonical Spacetriple in proposals so it's clear that users are voting on introducing a new canonical space for an entityAll reactions