Skip to content

Commit

Permalink
Custom BGS content
Browse files Browse the repository at this point in the history
  • Loading branch information
KoalaGeo committed Nov 7, 2023
1 parent ece66ea commit 0d4726f
Show file tree
Hide file tree
Showing 4 changed files with 197 additions and 1 deletion.
4 changes: 3 additions & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,9 @@ RUN mv /app/src/App.vue /app/src/PrezApp.vue
COPY components/App.vue /app/src/App.vue

# Add custom VocPrez page.
# COPY VocPrezHomeView.vue /app/src/views/vocprez/VocPrezHomeView.vue
COPY components/VocPrezHomeView.vue /app/src/views/vocprez/VocPrezHomeView.vue
COPY components/HomeView.vue /app/src/views/HomeView.vue
COPY components/AboutView.vue /app/src/views/AboutView.vue

RUN rm .env

Expand Down
60 changes: 60 additions & 0 deletions components/AboutView.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
<script lang="ts" setup>
import { onMounted, inject } from "vue";
import { RouterLink } from "vue-router";
import { useUiStore } from "@/stores/ui";
import { enabledPrezsConfigKey, type PrezFlavour } from "@/types";
const ui = useUiStore();
const enabledPrezs = inject(enabledPrezsConfigKey) as PrezFlavour[];
onMounted(() => {
ui.rightNavConfig = { enabled: false };
document.title = "About | Prez";
ui.pageHeading = { name: "Prez", url: "/" };
ui.breadcrumbs = [{ name: "About", url: "/about" }];
});
</script>

<template>
<h1 class="page-title">About</h1>
<h2>About BGS Linked Data</h2>
<p>Linked Data is about using the web to connect related data. Web addresses (URIs) are assigned to real-world things. Data about those things is published in machine-readable formats at the assigned addresses. Other datasets can then point to those things using their URIs, enabling people using the data to find out more about those things without that information being copied into the original dataset.</p>
<p>Linked data allows powerful and easy re-use of data by interconnecting data, putting it in to context and enabling comparisons. By clearly representing the structure and meaning of the data it makes it easier to create applications and visualisations that use it.</p>
<p>The use of linked data is being promoted by <a href="http://data.gov.uk/linked-data">data.gov.uk</a> to open up access to government-funded, public data. BGS are publishing its data as linked data to accelerate its exploitation by all potential users. We hope that the release of our data in this format will stimulate new and innovative ways to use our information to help solve some of the environmental problems facing humankind today.</p>
<br>
<h2>Availability of data</h2>
<p>BGS Linked Data is available free of charge for commercial, research and public use under the <a href="https://www.nationalarchives.gov.uk/doc/open-government-licence/version/3/">Open Government Licence</a>.<br>
Please <a href="https://www.bgs.ac.uk/bgs-intellectual-property-rights/open-government-licence" target="_blank">acknowledge the material</a>.</p>
<br>
<h2>About Prez</h2>
<p>
Prez is an open source an Application Programming Interface (API) that implements <a
href="https://www.w3.org/standards/semanticweb/data">Linked Data</a>
methods for providing access to a wide range of data on the web. It also implements the <a
href="https://docs.ogc.org/is/17-069r3/17-069r3.html">OGC API:Features</a>
for spatial data.
</p>
<p>
Prez comes in a number of "flavours", one or more of which may be implemented in any one Prez system:
</p>
<ul>
<li v-if="enabledPrezs.includes('CatPrez')">
<RouterLink to="/c">CatPrez</RouterLink> - for presenting data catalog information
</li>
<li v-if="enabledPrezs.includes('SpacePrez')">
<RouterLink to="/s">SpacePrez</RouterLink> - for presenting spatial data
</li>
<li v-if="enabledPrezs.includes('VocPrez')">
<RouterLink to="/v">VocPrez</RouterLink> - for presenting vocabularies
</li>
</ul>
<p>Each enabled flavour will have links to its home page in the main menu.</p>
<h2>License</h2>
<p>Prez is licensed using the <a href="https://github.com/rdflib/prez/blob/main/LICENSE" target="_blank"
rel="noopener noreferrer">BSD 3-Clause licence</a>.</p>
<h2>Documentation</h2>
<p>See <a href="http://rdflib.dev/prez/" target="_blank" rel="noopener noreferrer">http://rdflib.dev/prez/</a> for
detailed Prez documentation.</p>
</template>

<style lang="scss" scoped></style>
64 changes: 64 additions & 0 deletions components/HomeView.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
<script lang="ts" setup>
import { inject, onMounted } from "vue";
import { RouterLink } from "vue-router";
import { useUiStore } from "@/stores/ui";
import { enabledPrezsConfigKey, type PrezFlavour } from "@/types";
const ui = useUiStore();
const enabledPrezs = inject(enabledPrezsConfigKey) as PrezFlavour[];
onMounted(() => {
ui.rightNavConfig = { enabled: false };
document.title = "Prez";
ui.pageHeading = { name: "Prez", url: "/"};
ui.breadcrumbs = [];
});
</script>

<template>
<h1 class="page-title">Welcome to BGS Linked Data</h1>
<p>The British Geological Survey (BGS) is the United Kingdom's premier centre for earth science information and expertise. This data is published as part of <a href="http://www.bgs.ac.uk/opengeoscience/home.html">BGS OpenGeoscience</a>.</p>
<p>All data is the latest published version. For version history and bulk downloads see <a href="https://github.com/BritishGeologicalSurvey/vocabularies">GitHub repository</a></p>
<p><a href="/about">Find out why BGS is publishing linked data and how to use it</a></p>
<p>BGS use Prez is a Linked Data API with support for multiple data formats (JSON, CSV, JSON-LD, Turtle, RDF/XML).</p>
<div class="prez-card-container">
<RouterLink v-if="enabledPrezs.includes('CatPrez')" class="prez-card" to="/c">
<h3>Data Catalog</h3>
<p>General data catalog structured using DCAT metadata format.</p>
</RouterLink>
<RouterLink v-if="enabledPrezs.includes('SpacePrez')" class="prez-card" to="/s">
<h3>Spatial Data Catalog</h3>
<p>Spatial data catalog of GeoSPARQL spatial features with an API conforming to the OGC API specification. Uses DCAT for catalog metadata.</p>
</RouterLink>
<RouterLink v-if="enabledPrezs.includes('VocPrez')" class="prez-card" to="/v">
<h3>Vocabularies</h3>
<p>BGS SKOS vocabularies conforming to the VocPub profile.</p>
</RouterLink>
</div>
</template>

<style lang="scss" scoped>
@import "@/assets/sass/_variables.scss";
.prez-card-container {
display: flex;
flex-direction: row;
gap: 20px;
max-width: 1200px;
margin: 0 auto;
.prez-card {
padding: 20px;
background-color: var(--cardBg);
flex: 1;
color: unset;
border-radius: $borderRadius;
h3 {
margin-top: 0;
color: var(--primary);
}
}
}
</style>
70 changes: 70 additions & 0 deletions components/VocPrezHomeView.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
<script lang="ts" setup>
import { RouterLink } from "vue-router";
import FlavourHome from "@/components/FlavourHome.vue";
const links = [
{
label: "Vocabularies",
url: "/v/vocab",
description: "A list of SKOS vocabularies"
},
{
label: "Collections",
url: "/v/collection",
description: "A list of SKOS collections"
}
];
</script>

<template>
<FlavourHome flavour="VocPrez" :links="links">
<p>
The vocabularies are provided as a read-only web delivery system, providing a standardised set of profiles
in both human and machine-readable views. See the available profiles <RouterLink to="/v/profiles">here</RouterLink>.
</p>
<p>
More specifically, the vocabularies defined in this system conform to the VocPub profile,
which itself is an opinionated profile of the SKOS (Simple Knowledge Organisation System) data model.
</p>
<h2>Download BGS data to incorporate into your own systems</h2>
<p><a href="https://github.com/BritishGeologicalSurvey/vocabularies/archive/main.zip" title="Download all BGS data in one file">Download all BGS data in one zip file</a>
<p>
All our Linked Data is <a href="https://github.com/BritishGeologicalSurvey/vocabularies/tree/main/vocabularies">published on Github as N-Triples</a> to load into your graph store and use in your applications.
Triples are grouped by concept into ".nt" files.
BGS Linked Data is available free of charge for commercial, research and public use under the <a href="https://www.nationalarchives.gov.uk/doc/open-government-licence/version/3/">Open Government Licence</a>.
<br>
<br>
Please <a href="http://www.bgs.ac.uk/about/copyright/acknowledgements_published.html" target="_blank">acknowledge the material</a>.<br>
<br>
</p>
<h2>Vocabularies</h2>
<p>
A vocabulary (concept scheme) is a hierarchical list of terms (concepts).
</p>
<p>
See the <RouterLink to="/v/vocab">Vocabularies Register</RouterLink> for a list of vocabularies.
</p>
<h2>Collections</h2>
<p>
A collection is a flat grouping of terms (concepts).
</p>
<p>
See the <RouterLink to="/v/collection">Collections page</RouterLink> for a list of collections.
</p>
<h2>Concepts</h2>
<p>
Vocabulary terms (concepts) are listed within a vocabulary's home page. Each vocabulary presents both a
concept hierarchy (tree) view and a link to a flat list of its concepts.
</p>
<h2>Search and Querying</h2>
<p>
You can search for concepts within one vocabulary or across all vocabularies.
</p>
<ul>
<li>To search across vocabularies, use the search bar above.</li>
<li>To search across the entire Prez system, use the <RouterLink to="/search">Search</RouterLink>.</li>
<li>To perform custom queries, use the SPARQL query language on the <RouterLink to="/sparql">SPARQL page</RouterLink></li>
</ul>
</FlavourHome></template>

<style lang="scss" scoped></style>

0 comments on commit 0d4726f

Please sign in to comment.