Skip to content

Library Model

Enola’s Entities are modeled with Entity Kinds, as described in the architecture.

Different formats are supported, and can be converted using Rosetta.

model.yaml

kinds:
  - id: { ns: demo, entity: book_kind, paths: [isbn] }
    label: Book (Kind)
    emoji: 📗
    link:
      google:
        label: Google Book Search
        uriTemplate: "https://www.google.com/search?tbm=bks&q=isbn:{path.isbn}"

  - id: { ns: demo, entity: library, paths: [id] }
    label: Library
    emoji: 📚

  - id: { ns: demo, entity: book, paths: [library, isbn, copy] }
    label: Book (Copy)
    emoji: 📖
    related:
      library:
        id:
          ns: demo
          entity: library
          paths: ["{path.library}"]
      kind:
        id:
          ns: demo
          entity: book_kind
          paths: ["{path.isbn}"]