added mapping rules

This commit is contained in:
felix
2025-01-17 10:23:41 +01:00
parent 8a7eb8ede0
commit 8750fddb2d
10 changed files with 116 additions and 0 deletions

View File

@@ -0,0 +1,23 @@
PREFIX schema: <http://schema.org/>
CONSTRUCT {
?s schema:telephone ?cleanedPhoneNumber .
} WHERE {
?s schema:telephone ?phoneNumber .
# Remove all non digits
BIND(REPLACE(?phoneNumber, """[^+\\d]""", "") AS ?scrapeResult)
# Replace leading 00 with +
BIND(REPLACE(?scrapeResult, """^00""", "+") AS ?replacedZeroZero)
BIND(REPLACE(?replacedZeroZero, """^0""", "+32") AS ?defaultBe)
BIND(REPLACE(?defaultBe, """\\+320""", "+32") AS ?extendedDefaultBe)
BIND(REPLACE(?extendedDefaultBe, """^320""", "+32") AS ?finalResult)
FILTER(REGEX(?finalResult, """^\\+((32\\d{8})|(324\\d{8})|((?!32)\\d+))$"""))
BIND(CONCAT("tel:", ?finalResult) as ?cleanedPhoneNumber)
}

View File

@@ -0,0 +1,14 @@
PREFIX dc_terms: <http://purl.org/dc/terms/>
PREFIX lblodlg: <http://data.lblod.info/vocabularies/leidinggevenden/>
PREFIX person: <http://www.w3.org/ns/person#>
CONSTRUCT {
?s a dc_terms:Agent .
} WHERE {
VALUES ?type {
lblodlg:Functionaris
person:Person
}
?s a ?type .
}

View File

@@ -0,0 +1,12 @@
PREFIX ch: <http://data.lblod.info/vocabularies/contacthub/>
PREFIX lblodlg: <http://data.lblod.info/vocabularies/leidinggevenden/>
CONSTRUCT {
?s a ch:AgentInPositie .
} WHERE {
VALUES ?type {
lblodlg:Functionaris
}
?s a ?type .
}

View File

@@ -0,0 +1,8 @@
PREFIX org: <http://www.w3.org/ns/org#>
CONSTRUCT {
?o org:heldBy ?s.
}
WHERE {
?s org:holds ?o.
}

View File

@@ -0,0 +1,6 @@
CONSTRUCT {
?s ?p ?o.
} WHERE {
?s a <http://www.w3.org/ns/locn#Address>;
?p ?o.
}

View File

@@ -0,0 +1,7 @@
CONSTRUCT {
?s <http://schema.org/contactPoint> ?contactpoint.
}
WHERE {
?s a <http://data.lblod.info/vocabularies/leidinggevenden/Bestuursfunctie>.
?s <http://schema.org/contactPoint> ?contactpoint.
}

View File

@@ -0,0 +1,7 @@
CONSTRUCT {
?s ?p ?o.
} WHERE {
?s a <http://schema.org/ContactPoint>;
?p ?o.
FILTER (?p NOT IN (<http://schema.org/telephone>))
}

View File

@@ -0,0 +1,6 @@
CONSTRUCT {
?s ?p ?o.
} WHERE {
?s a <http://data.lblod.info/vocabularies/leidinggevenden/Functionaris>;
?p ?o.
}

View File

@@ -0,0 +1,11 @@
CONSTRUCT {
?s ?p ?o.
} WHERE {
?s a <http://www.w3.org/ns/person#Person>;
?p ?o.
FILTER (?p IN (
<http://www.w3.org/1999/02/22-rdf-syntax-ns#type>,
<http://xmlns.com/foaf/0.1/familyName>
))
}

View File

@@ -0,0 +1,22 @@
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX persoon: <https://data.vlaanderen.be/ns/persoon#>
PREFIX persoon_loket: <http://data.vlaanderen.be/ns/persoon#>
PREFIX person: <http://www.w3.org/ns/person#>
# DL and OP both use persoon:gebruikteVoornaam but with different semantics (!)
# First name: persoon:gebruikteVoornaam => foaf:givenName
# Alternatieve voornaam: foaf:name => persoon:gebruikteVoornaam
# We do both in one query with an OPTIONAL because they need to happen simultaneously
# not to end up in a loop
CONSTRUCT {
?s foaf:givenName ?gebruikteVoornaam .
?s persoon:gebruikteVoornaam ?name .
} WHERE {
?s a person:Person .
OPTIONAL { ?s persoon_loket:gebruikteVoornaam ?gebruikteVoornaam . }
OPTIONAL { ?s foaf:name ?name . }
}