Skip to content
Snippets Groups Projects
Commit 9095b21b authored by mathieu.dartigues's avatar mathieu.dartigues
Browse files

Merge branch '31-fix-dataset-descriptor' into 'main'

Fixes for dataset descriptor

See merge request !85
parents de04c5cb b0a58d10
Branches
No related tags found
1 merge request!85Fixes for dataset descriptor
Pipeline #10904 passed
......@@ -42,14 +42,14 @@
</div>
</AccordionContent>
</AccordionPanel>
<AccordionPanel value="1">
<AccordionPanel value="1" v-if="props.dataset.provenance?.length > 0">
<AccordionHeader>
<h2 class="text-xl font-medium mb-2 text-black">
{{ t('descriptors.dataset.quality.title') }}
</h2>
</AccordionHeader>
<AccordionContent>
<div v-if="props.dataset.provenance" class="mb-4">
<div class="mb-4">
<h3>{{ t('descriptors.dataset.quality.provenance') }}</h3>
<div
class="mb-4 border bg-white rounded-md p-2"
......@@ -59,18 +59,6 @@
{{ translateValue(provenance.label) }}
</div>
</div>
<div v-if="props.dataset.input" class="mb-4">
<h3>{{ t('descriptors.dataset.quality.input') }}</h3>
<div v-for="input in props.dataset.input" :key="input['@id']">
{{ input.label }}
</div>
</div>
<div v-if="props.dataset.other" class="mb-4">
<h3>{{ t('descriptors.dataset.quality.other') }}</h3>
<div v-for="other in props.dataset.other" :key="other['@id']">
{{ other.label }}
</div>
</div>
</AccordionContent>
</AccordionPanel>
<AccordionPanel value="2">
......@@ -100,31 +88,36 @@
{{ globalTranslateValue(datasetMetadata.publisher.label) }}
</td>
<td class="py-2 px-1">
<a :href="dataset.publisher?.mbox" target="_blank">
<i class="fa-regular fa-envelope mr-1"></i>
<template v-if="dataset.publisher?.mbox">
<a :href="dataset.publisher?.mbox as string" target="_blank">
<i class="fa-regular fa-envelope mr-1"></i>
{{ translateValue(dataset.publisher?.name) }}
</a>
</template>
<template v-else>
{{ translateValue(dataset.publisher?.name) }}
</a>
</template>
</td>
</tr>
<tr class="border">
<tr class="border" v-if="dataset.issued">
<td class="font-medium py-2 px-1 border-r flex w-[16rem] items-center">
<OcFairBadge size="small" :badges="datasetMetadata.issued.fair" :popover="true" />
{{ globalTranslateValue(datasetMetadata.issued.label) }}
</td>
<td class="py-2 px-1">
{{ dataset.issued?.toLocaleDateString(locale) }}
{{ dataset.issued?.toLocaleDateString?.(locale) }}
</td>
</tr>
<tr class="border">
<tr class="border" v-if="dataset.modified">
<td class="font-medium py-2 px-1 border-r flex w-[16rem] items-center">
<OcFairBadge size="small" :badges="datasetMetadata.modified.fair" :popover="true" />
{{ globalTranslateValue(datasetMetadata.modified.label) }}
</td>
<td class="py-2 px-1">
{{ dataset.modified?.toLocaleDateString(locale) }}
{{ dataset.modified?.toLocaleDateString?.(locale) }}
</td>
</tr>
<tr class="border">
<tr class="border" v-if="dataset.conformsTo">
<td class="font-medium py-2 px-1 border-r flex w-[16rem] items-center">
<OcFairBadge
size="small"
......@@ -134,19 +127,19 @@
{{ globalTranslateValue(datasetMetadata.conformsTo.label) }}
</td>
<td class="py-2 px-1">
{{ dataset.conformsTo }}
{{ translateValue(dataset.conformsTo?.prefLabel) }}
</td>
</tr>
<tr class="border">
<tr class="border" v-if="dataset.license">
<td class="font-medium py-2 px-1 border-r flex w-[16rem] items-center">
<OcFairBadge size="small" :badges="datasetMetadata.license.fair" :popover="true" />
{{ globalTranslateValue(datasetMetadata.license.label) }}
</td>
<td class="py-2 px-1">
{{ dataset.license }}
{{ translateValue(dataset.license?.prefLabel) }}
</td>
</tr>
<tr class="border">
<tr class="border" v-if="dataset.landingPage">
<td class="font-medium py-2 px-1 border-r flex w-[16rem] items-center">
<OcFairBadge
size="small"
......@@ -159,15 +152,6 @@
{{ dataset.landingPage }}
</td>
</tr>
<tr class="border">
<td class="font-medium py-2 px-1 border-r flex w-[16rem] items-center">
<OcFairBadge size="small" :badges="datasetMetadata.isPartOf.fair" :popover="true" />
{{ globalTranslateValue(datasetMetadata.isPartOf.label) }}
</td>
<td class="py-2 px-1">
{{ dataset.isPartOf }}
</td>
</tr>
</tbody>
</table>
</AccordionContent>
......
......@@ -7,7 +7,8 @@ import type {
OcOrganization,
OcDatasetSummary,
OcAdmsIdentifier,
OcGeometry
OcGeometry,
OcProvenance
} from '@/declarations'
import {
defaultLocalizedPropFormatter,
......@@ -261,6 +262,32 @@ export async function getDataset(identifier: string, auth?: Credentials): Promis
}
)
/**
* Provenance
*/
const datasetProvenancePromise = executeSparqlConstruct<OcProvenance>(
`
CONSTRUCT {
?provenance ?p ?o.
}
WHERE {
<${datasetUri}> dct:provenance ?provenance.
OPTIONAL {
?provenance ?p ?o.
}
}
`,
{
auth,
context: {
label: {
'@id': 'http://www.w3.org/2000/01/rdf-schema#label',
'@container': '@language'
}
}
}
)
/**
* Creators
*/
......@@ -637,7 +664,8 @@ export async function getDataset(identifier: string, auth?: Credentials): Promis
datasetAccrualPeriodicityPromise, // 11
datasetLicensePromise, // 12
datasetConformsToPromise, // 13
datasetSpatialGeometryPromise // 14
datasetSpatialGeometryPromise, // 14
datasetProvenancePromise // 15
])
dataset.temporal = datasetResponse[0].map<[Date, Date]>((temporal) => [
......@@ -657,6 +685,7 @@ export async function getDataset(identifier: string, auth?: Credentials): Promis
dataset.accrualPeriodicity = datasetResponse[11][0]
dataset.license = datasetResponse[12][0]
dataset.conformsTo = datasetResponse[13][0]
dataset.provenance = datasetResponse[15]
// Format Dates
// dataset.issued = dataset.issued ? new Date(Date.parse(dataset.issued)) : dataset.issued
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment