Project:RedirectionScript: Difference between revisions

From MaRDI portal
No edit summary
No edit summary
Line 12: Line 12:


=== Get mapping of original items to the ones they were redirected to ===
=== Get mapping of original items to the ones they were redirected to ===
<syntaxhighlight lang="sparql">
This query gets all original items (?o) that get redirected to another item (?sa). We need these results because for each original item, the script looks for items that link to it. Then, it replaces the link on these original items with a link to the ?sa item.<syntaxhighlight lang="sparql">
SELECT DISTINCT ?o ?sa
SELECT DISTINCT ?o ?sa
WHERE
WHERE

Revision as of 10:50, 21 March 2025

SPARQL queries

Count number of items that redirect to another item

SELECT (COUNT (DISTINCT ?o) AS ?count)
WHERE
{
   ?o owl:sameAs ?sa .
}

Get mapping of original items to the ones they were redirected to

This query gets all original items (?o) that get redirected to another item (?sa). We need these results because for each original item, the script looks for items that link to it. Then, it replaces the link on these original items with a link to the ?sa item.

SELECT DISTINCT ?o ?sa
WHERE
{
  ?o owl:sameAs ?sa .
}

Get all items that redirect to somewhere else and are still referenced in another item

Exclude those without a label to exclude other reference pages

SELECT DISTINCT ?o 
WHERE
{
  ?o owl:sameAs ?sa .
  ?new ?p ?o .
  ?o rdfs:label ?label .
}

Script

https://github.com/MaRDI4NFDI/docker-importer/blob/main/bot_scripts/reroute.py

The script takes as input a csv file with the output of the second sparql query that maps old ids to new ids.