diff --git a/query/4fa7b334-ce0d-4e88-aaae-2e0c138d049e.sparql b/query/4fa7b334-ce0d-4e88-aaae-2e0c138d049e.sparql new file mode 100644 index 0000000..0dc10d2 --- /dev/null +++ b/query/4fa7b334-ce0d-4e88-aaae-2e0c138d049e.sparql @@ -0,0 +1,13 @@ +SELECT ?archiveUrl ?seenAt ?contentId +WHERE { + graph ?g1 { + ?archiveUrl . + ?archiveUrl "application/dwca" . + } + graph ?activity { + ?activity ?archiveUrl . + ?activity ?seenAt . + ?contentId ?activity . + } +} limit 10 + diff --git a/query/README.md b/query/README.md new file mode 100644 index 0000000..9f8d31b --- /dev/null +++ b/query/README.md @@ -0,0 +1,20 @@ +2023-12-15 +Jorrit Poelen + +This directory contains examples on how query preston provenance logs using SPARQL: + +Step 1. +Stream preston provenance logs into a triple-store. + +Step 2. +Write a query in sparql. + +Step 3. +Execute query. + +Step 4. +Inspect results. + + +See https://github.com/bio-guoda/preston/issues/199#issuecomment-1858618208 for context and examples. + diff --git a/query/all-versions.sparql b/query/all-versions.sparql new file mode 100644 index 0000000..00c06e0 --- /dev/null +++ b/query/all-versions.sparql @@ -0,0 +1,8 @@ + +SELECT ?s ?p ?o +WHERE { + GRAPH ?g { + ?s ?o . + } +} + diff --git a/query/ebird.sparql b/query/ebird.sparql new file mode 100644 index 0000000..770e932 --- /dev/null +++ b/query/ebird.sparql @@ -0,0 +1,32 @@ +PREFIX rdfs: +PREFIX foaf: + +SELECT ?contentId ?seenAt ?archiveUrl WHERE +{ +{ + SELECT ?contentId ?seenAt ?archiveUrl +WHERE { + graph ?g1 { + ?archiveUrl . + ?archiveUrl "application/dwca" . + } + graph ?activity { + ?activity ?archiveUrl . + ?activity ?seenAt . + ?contentId ?activity . + } +} +} +UNION +{ + SELECT ?contentId ?seenAt ?archiveUrl +WHERE { + ?archiveUrl . + ?archiveUrl "application/dwca" . + ?activity ?archiveUrl . + ?activity ?seenAt . + ?contentId ?activity . +} +} +} ORDER BY ?seenAt + diff --git a/query/index-provenance-graph.sh b/query/index-provenance-graph.sh new file mode 100644 index 0000000..a14cdd0 --- /dev/null +++ b/query/index-provenance-graph.sh @@ -0,0 +1,15 @@ +#!/bin/bash +# +# index provenance graph associated with an anchor +# into oxigraph +# + + +preston ls\ + --anchor hash://sha256/5b7fa37bf8b64e7c935c4ff3389e36f8dd162f0705410dd719fd089e1ea253cd\ + --remote https://linker.bio\ + | sed -E 's/(<)([a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})([^ ]*)(>)//g'\ + | pv -l\ + | ./oxigraph_server_v0.3.22_x86_64_linux_gnu load --lenient --format nq --location preston-gib + + diff --git a/query/versions-of-url.sparql b/query/versions-of-url.sparql new file mode 100644 index 0000000..0459081 --- /dev/null +++ b/query/versions-of-url.sparql @@ -0,0 +1,9 @@ +PREFIX rdf: +PREFIX rdfs: + +SELECT ?o +WHERE { + ?o . +} limit 10 + +