ShareDoc:Domain Model: Difference between revisions

(Created page with "==Introduction== '''Share-VDE''' manages a '''Knowledge Base''' which consists of '''clustered''', '''integrated''' and '''enriched entities'''. In Share-VDE, a '''tenant''' i...")
 
No edit summary
Line 1: Line 1:
==Introduction==
==Introduction==
'''Share-VDE''' manages a '''Knowledge Base''' which consists of '''clustered''', '''integrated''' and '''enriched entities'''. In Share-VDE, a '''tenant''' is represented by a set of '''institutions''' contributing to the '''same Knowledge base'''.
'''Share-VDE''' manages a '''Knowledge Base''' which consists of '''clustered''', '''integrated''' and '''enriched entities'''. In Share-VDE, a '''tenant''' is represented by a set of '''institutions''' contributing to the '''same Knowledge base'''.
Line 23: Line 24:
[[File:prism 1.png|none|thumb|424x424px]]
[[File:prism 1.png|none|thumb|424x424px]]
[[File:prism 2.png|none|thumb|425x425px]]
[[File:prism 2.png|none|thumb|425x425px]]
===Prism Status List===
{| class="wikitable"
!'''Status Code'''
!'''Description'''
!Locking?
|-
|SV or Null/Empty
|Saved
|No
|-
|ED
|Edit
|No
|-
|MS
|Merge Source (the prism is part of a merge list as merge source)
|Yes
|-
|MD
|Merge Destination (the prism is part of a merge list as merge destination)
|Yes
|-
|SG
|Split Giver
|Yes
|-
|SR
|Split Receiver
|Yes
|-
|NV
|Invalidated
|Yes
|-
|RN
|Review Needed
|Yes
|}
===API Perspective===
===API Perspective===
Each cluster type has a '''"provenances"''' field associated which, as the name suggests, indicates the '''provenances that contributed''' to that cluster definition.  
Each cluster type has a '''"provenances"''' field associated which, as the name suggests, indicates the '''provenances that contributed''' to that cluster definition.  
Line 99: Line 61:
   }
   }
}
}
</syntaxhighlight>The request/response above depicts an '''interaction''' between an '''anonymous''' (i.e. read-only) requestor and Share-VDE. In case the client has '''write permissions''' (e.g. it is associated to a '''svde-editor''' or '''svde-editor-advanced'''), for each provenance it's possible to get information about '''users''' (belonging to that provenance) '''that are working on that cluster'''.
</syntaxhighlight>
The request includes in this case a "status" field:  <syntaxhighlight lang="json">
{
  person(uri: "https://svde.org/agents/201") {
    uri
    name
    provenances {
      uri
      description
      status {
            statusCode
            user {
                username
                fullName
            }
        }
    }
  }
}
</syntaxhighlight>The response contains now the information about three users that are editing that cluster:<syntaxhighlight lang="json">
{
  "data": {
    "person": {
        "uri": "https://svde.org/agents/201",
        "name": "Carroll, Luiss",
        "provenances": [
            {
              "uri": "https://svde.org/agents/UALBERTA",
              "status": [
                {
                  "statusCode": "ED",
                  "user": {
                    "username": "agazzarini",
                    "fullName": "Andrea Gazzarini"
                  }
                },
                {
                  "statusCode": "ED",
                  "user": {
                    "username": "mbranca",
                    "fullName": "Max Branca"
                  }
                }
              ]
            },
            {
              "uri": "https://svde.org/agents/BL",
              "status": []
            },
            {
              "uri": "https://svde.org/agents/STANFORD",
              "status": [
                {
                  "statusCode": "ED",
                  "user": {
                    "username": "fzancan",
                    "fullName": "Federico Zancan"
                  }
                }
              ]
            }
        ]
    }
  }
}
</syntaxhighlight><br />

Revision as of 20:04, 22 December 2023

Introduction

Share-VDE manages a Knowledge Base which consists of clustered, integrated and enriched entities. In Share-VDE, a tenant is represented by a set of institutions contributing to the same Knowledge base.

svde-ckb-provenance-tenant.png

An institution Pn within a tenant is called provenance. We use that term because we always want to retain the relationship between Share-VDE entities and data that originally contributed to their building.

Multiple Tenants: The Share-VDE Family

Multiple tenants form the Share Family. Family members interoperate through a centralised registry.

share-family.png

Share-VDE Clusters: The Genesis

In the following diagram we depicted a high-level overview of the clusters genesis process.

data-to-svde-clusters.png

Starting from the left side we have:

  • A tenant composed by n institutions (P1...Pn)
  • Institutions contribute with their raw data (e.g. bibliographic records, authority records)
  • The Share-VDE clusters are created in the Knowledge Base by means of an automatic process we simply call "clustering"

The Share-VDE Cluster: The Prism

Each Share-VDE cluster is the result of merging contributions from several sources, including a special enrichment for linking external sources (e.g. VIAF, ISNI).

We like to imagine a cluster like a prism, which is a whole unit and at the same time it retains several faces (the contribution of each source). See the following diagrams for a visual explanation

prism 1.png
prism 2.png

API Perspective

Each cluster type has a "provenances" field associated which, as the name suggests, indicates the provenances that contributed to that cluster definition.

Here's an example of a request which asks for a specific Person and its provenances:

{
  person(uri: "https://svde.org/agents/201") {
    uri
    name
    provenances {
      uri
      description
    }
  }
}

In the response below we clearly see the Share-VDE cluster for Luiss Carroll has been contributed by 3 institutions: Stanford, Alberta and British Library.

{
  "data": {
    "person": {
        "uri": "https://svde.org/agents/201",
        "name": "Carroll, Luiss",
        "provenances": [
            {
                "uri": "https://svde.org/agents/STANFORD",
                "description": "Stanford University"
            },
            {
                "uri": "https://svde.org/agents/BL",
                "description": "British Library"
            },            
            {
                "uri": "https://svde.org/agents/UALBERTA",
                "description": "University of Alberta"
            }
        ]
    }
  }
}