Pre-Release
Die nachfolgende Tabelle veranschaulicht die Verbindung von Entitäten und deren potenziellen PID-Typen.
Anregungen und Rückmeldungen zur Tabelle wird unter pid-monitor( at )uni-bielefeld . de erbeten.
Die nachfolgende Tabelle veranschaulicht die Verbindung von Entitäten und deren potenziellen PID-Typen.
Anregungen und Rückmeldungen zur Tabelle wird unter pid-monitor( at )uni-bielefeld . de erbeten.
---
title: "PID-Typ & Entität Matrix"
title-block-banner: images/pidnetwork_logo_bg.png
title-block-banner-color: white
author-meta: "Andreas Czerniak [https://orcid.org/0000-0003-3883-4169]"
#author:
# - name: "Andreas Czerniak"
# orcid: "0000-0003-3883-4169"
lang: de
# date: 2025-01-31
format:
html:
code-fold: true
code-tools: true
page-layout: full
header-includes: |
<link rel="stylesheet" href="https://cdn.datatables.net/2.1.8/css/dataTables.dataTables.min.css">
<script src="https://code.jquery.com/jquery-3.7.1.min.js" integrity="sha256-/JqT3SQfawRcv/BIHPThkBvs0OEvtFFmqPF/lYI/Cxo=" crossorigin="anonymous"></script>
<script src="https://cdn.datatables.net/2.1.8/js/dataTables.min.js"></script>
<script>
if (typeof define === "function" && define.amd) {
define.amd = false; // AMD deaktivieren
}
document.addEventListener("DOMContentLoaded", function() {
console.log("JavaScript und DataTables geladen");
});
</script>
execute:
echo: false
params:
entityPidFile: "pid_types/Entity-PIDType_Link.csv"
---
{{< include _banner.qmd >}}
::: {.content-visible when-profile="german"}
Die nachfolgende Tabelle veranschaulicht die Verbindung von Entitäten und deren potenziellen PID-Typen.
:::
::: {.content-visible when-profile="english"}
The following table illustrates the association between entities and their potential PID types.
:::
```{r}
#| warning: false
library(DT)
library(readr)
library(dplyr)
raw <- read_lines("pid_types/Entity-PIDType_Link.csv")
#entitypidFile <- params['entityPidFile']
#raw <- read_lines(entitypidFile)
#print(c(params['entityPidFile']))
# Erste zwei Zeilen extrahieren
header <- unlist(strsplit(raw[1], ","))
links <- unlist(strsplit(raw[2], ","))
# Restliche Zeilen einlesen als Daten
data <- read_csv("pid_types/Entity-PIDType_Link.csv", skip = 1)
# Erstelle neue HTML-Spaltennamen, Link mit target="_blank"
new_colnames <- sapply(seq_along(header), function(i) {
if (i == 1) {
header[i] # "Entity-PIDtype"
} else {
sprintf("<a href='https://%s' target='_blank'>%s</a>", links[i], header[i])
}
})
# Spaltennamen zuweisen
colnames(data) <- new_colnames
datatable(
data,
escape = FALSE, # HTML-Links erlauben
options = list(
pageLength = 15,
autoWidth = TRUE,
searching = TRUE,
ordering = TRUE
),
rownames = FALSE
)
```
::: {.content-visible when-profile="german"}
Anregungen und Rückmeldungen zur Tabelle wird unter {{< var email.contact >}} erbeten.
:::
::: {.content-visible when-profile="platt"}
```{python}
#| label: table-entity-pidtype
#| fig-cap: "Tabelle: Beispiele von PID-Typ/Entity"
#| echo: false
#| eval: true
import pandas as pd
from IPython.display import display, HTML
##import locale
##import warnings
##warnings.filterwarnings('ignore')
#
## Set locale to German to display month names in German
##locale.setlocale(locale.LC_TIME, 'de_DE.UTF-8')
#
#file_path = "pid_types/PTyp-Entity.csv"
#
#df = pd.read_csv(file_path, header=None)
## Erste Spalte (PID-Typ) und Link zu Markdown-Link kombinieren
#df.iloc[:, 0] = df.apply(lambda row: f"[{row[0]}]({row[1]})", axis=1)
#
## Link-Spalte entfernen
#df = df.drop(columns=[df.columns[1]])
#
## Tabelle als HTML konvertieren
##html_table = data.to_html(index=False, classes='display', border=0)
#df_transposed_corrected = df.set_index(df.columns[0]).T
#df_transposed_corrected = df.set_index(df.columns[0])
#
#html_table = df_transposed_corrected.to_html(index=False, classes='display', border=0)
#
## DataTables Skripte und CSS einfügen
html_script = '''
<link rel="stylesheet" href="https://cdn.datatables.net/2.1.8/css/dataTables.dataTables.min.css">
<script
src="https://code.jquery.com/jquery-3.7.1.min.js"
integrity="sha256-/JqT3SQfawRcv/BIHPThkBvs0OEvtFFmqPF/lYI/Cxo="
crossorigin="anonymous"></script>
<script src="https://cdn.datatables.net/2.1.8/js/dataTables.min.js"></script>
<script>
$(document).ready(function() {
$('table.display').DataTable({
pageLength: 10, // Anzahl der Zeilen pro Seite
searching: true, // Aktiviert die Suchfunktion
ordering: true // Aktiviert die Sortierfunktion
});
});
</script>
'''
# HTML kombinieren und anzeigen
#display(HTML(html_table + html_script))
display(HTML(html_script))
```
:::