janeirodigital / sai-js

Typescript library for Solid Application Interoperability
https://sai.js.org/
MIT License
8 stars 7 forks source link

Minimal travelsal interface for integrations with LDO and similar libraries #84

Open elf-pavlik opened 5 months ago

elf-pavlik commented 5 months ago

Currently, the application module provides DataInstance with RDF/JS DatasetCore. I tried using it with https://ldo.js.org and concluded that it would work better if the `application' module only provided links and let the other library fetch and patch resources.

I would still see those four levels:

flowchart TB

  subgraph Resource Owners
    Alice["šŸ‘© Alice"]
    ACME["šŸ¢ ACME"]
    Bob["šŸ‘Ø Bob"]
  end

  subgraph Resource Servers
    AlHome["ā˜ļø Home"]
    AlWork["ā˜ļø Work"]
    AcRnd["ā˜ļø R&D"]
    AcHr["ā˜ļø HR"]
  end

  subgraph Scopes
    AlHProjects("šŸ—„ļø Projects")
    AlHTasks("šŸ—„ļø Tasks")
    AlWCalendars("šŸ—„ļø Calendars")
    AcRProjects("šŸ—„ļø Projects")
    AcRTasks("šŸ—„ļø Tasks")
    AcHProjects("šŸ—„ļø Projects")
    AcHTasks("šŸ—„ļø Tasks")
  end

  subgraph Resources
    AlHP1("šŸ“„ P1")
    AlHP2("šŸ“„ P1")
    AlHT1("šŸ“„ T1")
    AlHT2("šŸ“„ T2")
  end

  Alice -- :storage --> AlHome
  Alice -- :storage --> AlWork
  ACME -- :storage --> AcRnd
  ACME -- :storage --> AcHr

  AlHome -- :hosts --> AlHProjects
  AlHome -- :hosts --> AlHTasks
  AlWork -- :hosts --> AlWCalendars
  AcRnd -- :hosts --> AcRProjects
  AcRnd -- :hosts --> AcRTasks
  AcHr -- :hosts --> AcHProjects
  AcHr -- :hosts --> AcHTasks
  AlHProjects -- :contains --> AlHP1
  AlHProjects -- :contains --> AlHP2
  AlHTasks -- :contains --> AlHT1
  AlHTasks -- :contains --> AlHT2