Catalog metadata vocabulary

Catalog metadata vocabulary#

Hide code cell source
import pandas as pd
import panel
import json
import fsspec
Hide code cell source
panel.extension("tabulator")
Hide code cell source
metadata_cv=json.load(fsspec.open("../metadata_cv.json").open())
Hide code cell source
relation_select=panel.widgets.Select(
    name="Available relations",
    options=list(metadata_cv["relation"].keys())
)
Hide code cell source
def hoover_info(entry,key="relation"):
    markdown=""
    if type(metadata_cv[key])==dict:
        if "type" in metadata_cv[key][entry]:
            markdown+="#### Type \n"
            markdown+=metadata_cv[key][entry]["type"]
        if "description" in metadata_cv[key][entry]:
            markdown+="\n#### Description \n"
            markdown+=metadata_cv[key][entry]["description"]
    return panel.pane.Markdown(markdown)
Hide code cell source
relation_bind=panel.bind(hoover_info,relation_select)
Hide code cell source
accounts_select=panel.widgets.Select(
    name="Available accounts",
    options=list(metadata_cv["account"])
)
Hide code cell source
accounts_bind=panel.bind(hoover_info,accounts_select,"account")
Hide code cell source
layout=panel.Column(
    panel.Row(
        relation_select,relation_bind
    ),
    panel.Row(
        accounts_select,accounts_bind
    )
).embed(max_states=100000)