ceramicnetwork / CIPs

The Ceramic Improvement Proposal repository
https://cips.ceramic.network/
MIT License
82 stars 22 forks source link

Family List #30

Open michaelsena opened 4 years ago

michaelsena commented 4 years ago
cip: 
title: Family List
author: Michael Sena (@michaelsena), Joel Thorstensson (@oed)
discussions-to:
status: Idea
category: Standards
type: RFC
created: 2020-05-25
requires: Tile Doctype (CIP-8)
replaces: 

🚨 This is a placeholder for an idea, and we will work to draft the CIP at a later time. Feel free to leave comments and ideas on this issue.

Simple Summary

Family List contains information about a DID's family members, such as siblings, spouse, children, etc.

Abstract

Insert better description.

The Family List is often linked from a Connections Index (CIP-18.

Motivation

Family is a common aspect of one's identity.

Specification

The Family List specification consists of a doctype, schema, and tags.

Doctype

The Family List is a Tile Doctype (CIP-8).

Schema

Family List borrows many attribute names from the schema.org person schema.

siblings: An array of DIDs for the DID's siblings.

spouses: An array of DIDs for the DID's spouse(s).

children: An array of DIDs for the DID's children.

{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "siblings": {
      "$ref": "#/definitions/DIDArray"
    },
    "spouses": {
      "$ref": "#/definitions/DIDArray"
    },
    "children": {
      "$ref": "#/definitions/DIDArray"
    }
  },
  "definitions": {
    "DID": {
      "type": "string",
      "pattern": "^did:.+:.+"
    },
    "DIDArray": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/DID"
      }
    }
  }
}

Tags

When creating a Family List document, add FamilyList to the tags field.

Example

simonovic86 commented 4 years ago

@oed @michaelsena updated the schema