Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
/.cpcache
/.nrepl-port
40 changes: 27 additions & 13 deletions deps.edn
Original file line number Diff line number Diff line change
@@ -1,15 +1,29 @@
{:aliases {:pmd4 {:extra-deps {swirrl/validations.pmd4 {:local/root "pmd4"}}}
:pmd-qb {:extra-deps {swirrl/validations.pmd-qb {:local/root "pmd-qb"}}}
:misc {:extra-deps {swirrl/validations.pmd-qb {:local/root "misc"}}}

:validate {:extra-deps { swirrl/rdf-validator {:git/url "https://github.com/Swirrl/rdf-validator.git"
:sha "c85338c44be9f7f9726c30dca4aa47ef8bd9cfe6"
}
;; Import log4j2 as the logging backend
org.apache.logging.log4j/log4j-api {:mvn/version "2.11.1"}
org.apache.logging.log4j/log4j-core {:mvn/version "2.11.1"}
org.apache.logging.log4j/log4j-slf4j-impl {:mvn/version "2.11.1"}
{ :aliases {:pmd4 {:extra-deps {swirrl/validations.pmd4 {:local/root "pmd4"}}}
:pmd-qb {:extra-deps {swirrl/validations.pmd-qb {:local/root "pmd-qb"}}}
:misc {:extra-deps {swirrl/validations.pmd-qb {:local/root "misc"}}}
:dev {:extra-deps { swirrl/rdf-validator {:git/url "https://github.com/Swirrl/rdf-validator.git"
:sha "c85338c44be9f7f9726c30dca4aa47ef8bd9cfe6"}
;; Import log4j2 as the logging backend
org.apache.logging.log4j/log4j-api {:mvn/version "2.11.1"}
org.apache.logging.log4j/log4j-core {:mvn/version "2.11.1"}
org.apache.logging.log4j/log4j-slf4j-impl {:mvn/version "2.11.1"}}
:extra-paths ["." "test"]}
:test {:extra-deps {swirrl/rdf-validator {:git/url "https://github.com/Swirrl/rdf-validator.git"
:sha "c85338c44be9f7f9726c30dca4aa47ef8bd9cfe6"}
lambdaisland/kaocha {:mvn/version "1.0.887"}
;; Import log4j2 as the logging backend
org.apache.logging.log4j/log4j-api {:mvn/version "2.11.1"}
org.apache.logging.log4j/log4j-core {:mvn/version "2.11.1"}
org.apache.logging.log4j/log4j-slf4j-impl {:mvn/version "2.11.1"}}
:main-opts ["-m" "kaocha.runner"]
:extra-paths ["." "test"]}

}
:extra-paths ["."] ;; for log4j2.xml
:main-opts ["-m" "rdf-validator.core"]}}}
:validate {:extra-deps {swirrl/rdf-validator {:git/url "https://github.com/Swirrl/rdf-validator.git"
:sha "c85338c44be9f7f9726c30dca4aa47ef8bd9cfe6"}
;; Import log4j2 as the logging backend
org.apache.logging.log4j/log4j-api {:mvn/version "2.11.1"}
org.apache.logging.log4j/log4j-core {:mvn/version "2.11.1"}
org.apache.logging.log4j/log4j-slf4j-impl {:mvn/version "2.11.1"}}
:extra-paths ["."] ;; for log4j2.xml
:main-opts ["-m" "rdf-validator.core"]}}}
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ WHERE {
UNION
{
# Observations with more than one value of the same measure type
SELECT ?obs (COUNT(?val) AS ?count ) {
SELECT ?obs (COUNT(distinct ?val) AS ?count ) {
?obs qb:dataSet/qb:structure ?dsd ;
qb:measureType ?measure .
?obs ?measure ?val .
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,11 @@ PREFIX owl: <http://www.w3.org/2002/07/owl#>
# with the same non-measure dimension values for each of the declared measures.

# Count number of other measures found at each point
SELECT ?obs1 ?numMeasures (COUNT(?obs2) AS ?count)
SELECT ?obs1 ?numMeasures (COUNT(DISTINCT ?obs2) AS ?count)
WHERE {
{
# Find the DSDs and check how many measures they have
SELECT ?dsd (COUNT(?m) AS ?numMeasures) WHERE {
SELECT ?dsd (COUNT(DISTINCT ?m) AS ?numMeasures) WHERE {
?dsd qb:component/qb:measure ?m.
} GROUP BY ?dsd
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ PREFIX owl: <http://www.w3.org/2002/07/owl#>

SELECT ?obs ?dim (?v AS ?valueNotInCodeList)
WHERE {
?obs qb:dataSet/qb:structure/qb:component/qb:componentProperty ?dim .
?obs qb:dataSet/qb:structure/qb:component/qb:dimension ?dim .
?dim a qb:DimensionProperty ;
qb:codeList ?list .
?list a skos:Collection .
Expand All @@ -22,4 +22,4 @@ WHERE {
#### ORIGINAL ASK QUERY FROM SPEC IC-19 ####
#
#
#######################################################################
#######################################################################
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ PREFIX owl: <http://www.w3.org/2002/07/owl#>

SELECT ?obs ?dim (?v AS ?valueNotInCodeList)
WHERE {
?obs qb:dataSet/qb:structure/qb:component/qb:componentProperty ?dim .
?obs qb:dataSet/qb:structure/qb:component/qb:dimension ?dim .
?dim a qb:DimensionProperty ;
qb:codeList ?list .
?list a skos:ConceptScheme .
Expand All @@ -22,4 +22,4 @@ WHERE {
#### ORIGINAL ASK QUERY FROM SPEC IC-19 ####
#
#
#######################################################################
#######################################################################
32 changes: 10 additions & 22 deletions pmd4/src/rdf-validator-suite.edn
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,6 @@
:source "swirrl/validations/pmd4/SELECT_ConceptSchemeExactlyOneLabel.sparql"
:type :sparql
:name "ConceptSchemeExactlyOneLabel"}
{
:source "swirrl/validations/pmd4/SELECT_ConceptSchemeMustHaveCatalogEntry.sparql"
:type :sparql
:name "ConceptSchemeMustHaveCatalogEntry"}
{
:source "swirrl/validations/pmd4/SELECT_ConceptSchemesMaxZeroConceptsAsMembers.sparql"
:type :sparql
Expand All @@ -41,26 +37,18 @@
:source "swirrl/validations/pmd4/SELECT_DatasetContentsIsCorrectType.sparql"
:type :sparql
:name "DatasetContentsIsCorrectType"}
{
:source "swirrl/validations/pmd4/SELECT_DatasetExactlyOneContents.sparql"
:type :sparql
:name "DatasetExactlyOneContents"}
{
:source "swirrl/validations/pmd4/SELECT_DatasetExactlyOneGraph.sparql"
:type :sparql
:name "DatasetExactlyOneGraph"}
{
:source "swirrl/validations/pmd4/SELECT_DatasetExactlyOneIssuedDate.sparql"
:type :sparql
:name "DatasetExactlyOneIssuedDate"}
{
:source "swirrl/validations/pmd4/SELECT_DatasetExactlyOneLabel.sparql"
:type :sparql
:name "DatasetExactlyOneLabel"}
{
:source "swirrl/validations/pmd4/SELECT_DatasetExactlyOneModifiedDate.sparql"
:type :sparql
:name "DatasetExactlyOneModifiedDate"}
{
:source "swirrl/validations/pmd4/SELECT_DatasetExactlyOneTitle.sparql"
:type :sparql
:name "DatasetExactlyOneTitle"}
{
:source "swirrl/validations/pmd4/SELECT_DatasetGraphIsIri.sparql"
:type :sparql
Expand All @@ -70,9 +58,9 @@
:type :sparql
:name "DatasetMaxOneContactPoint"}
{
:source "swirrl/validations/pmd4/SELECT_DatasetMaxOneContributor.sparql"
:source "swirrl/validations/pmd4/SELECT_DatasetMaxOneContents.sparql"
:type :sparql
:name "DatasetMaxOneContributor"}
:name "DatasetMaxOneContents"}
{
:source "swirrl/validations/pmd4/SELECT_DatasetMaxOneCreator.sparql"
:type :sparql
Expand All @@ -89,6 +77,10 @@
:source "swirrl/validations/pmd4/SELECT_DatasetMaxOnePublisher.sparql"
:type :sparql
:name "DatasetMaxOnePublisher"}
{
:source "swirrl/validations/pmd4/SELECT_DatasetMinOneGraph.sparql"
:type :sparql
:name "DatasetMinOneGraph"}
{
:source "swirrl/validations/pmd4/SELECT_DimensionsExactlyOneLabel.sparql"
:type :sparql
Expand All @@ -105,10 +97,6 @@
:source "swirrl/validations/pmd4/SELECT_RecordExactlyOneIssuedDate.sparql"
:type :sparql
:name "RecordExactlyOneIssuedDate"}
{
:source "swirrl/validations/pmd4/SELECT_RecordExactlyOneLabel.sparql"
:type :sparql
:name "RecordExactlyOneLabel"}
{
:source "swirrl/validations/pmd4/SELECT_RecordExactlyOneMetadataGraph.sparql"
:type :sparql
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@ PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>

SELECT ?concept ?count {
{
SELECT ?concept (COUNT(?lbl) AS ?count)
SELECT ?concept (COUNT(DISTINCT ?lbl) AS ?count)
WHERE {
{
{
?concept a skos:Concept .
?concept rdfs:label ?lbl
?concept rdfs:label ?lbl
}
}
GROUP BY ?concept
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@ PREFIX ui: <http://www.w3.org/ns/ui#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>


SELECT ?concept (COUNT(?comment) AS ?count)
SELECT ?concept (COUNT(DISTINCT ?comment) AS ?count)
WHERE {
{
{
?concept a skos:Concept .
?concept rdfs:comment ?comment
}
}
GROUP BY ?concept
HAVING (?count > 1)
HAVING (?count > 1)
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@ PREFIX qb: <http://purl.org/linked-data/cube#>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX ui: <http://www.w3.org/ns/ui#>

SELECT ?concept (COUNT(?n) AS ?count)
SELECT ?concept (COUNT(DISTINCT ?n) AS ?count)
WHERE {
{
{
?concept a skos:Concept .
?concept skos:notation ?n .
}
}
GROUP BY ?concept
HAVING (?count > 1)
LIMIT 10
LIMIT 10
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,15 @@ PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>

SELECT ?scheme ?count ?lbl {
{
SELECT ?scheme ?lbl (COUNT(?lbl) AS ?count)
SELECT ?scheme ?lbl (COUNT(DISTINCT ?lbl) AS ?count)
WHERE {
{
{
?scheme a skos:ConceptScheme .
?scheme rdfs:label ?lbl, ?lbl2
FILTER(?lbl != ?lbl2)
}
}
GROUP BY ?scheme ?lbl
GROUP BY ?scheme ?lbl
HAVING (?count > 1)
}
UNION {
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ PREFIX qb: <http://purl.org/linked-data/cube#>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX ui: <http://www.w3.org/ns/ui#>

SELECT ?concept (COUNT(?sp) AS ?count) ?scheme
SELECT ?concept (COUNT(DISTINCT ?sp) AS ?count) ?scheme
WHERE {
{
{
?concept a skos:Concept ;
ui:sortPriority ?sp .
?concept skos:inScheme ?scheme .
Expand All @@ -13,4 +13,4 @@ WHERE {
GROUP BY ?concept ?scheme
HAVING (?count > 1)
ORDER BY ?scheme ?concept
LIMIT 10
LIMIT 10
Original file line number Diff line number Diff line change
Expand Up @@ -3,29 +3,30 @@ PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX ui: <http://www.w3.org/ns/ui#>
PREFIX dcat: <http://www.w3.org/ns/dcat#>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX dct: <http://purl.org/dc/terms/>
PREFIX dct: <http://purl.org/dc/terms/>
PREFIX pmdcat: <http://publishmydata.com/pmdcat#>

SELECT ?dataset {
?dataset a pmdcat:Dataset .
?dataset a pmdcat:Dataset ;
pmdcat:datasetContents ?contents .
FILTER(
NOT EXISTS {
SELECT ?dataset {
?dataset a pmdcat:Dataset .
?dataset pmdcat:datasetContents ?contents .
?dataset a pmdcat:Dataset ;
pmdcat:datasetContents ?contents .
?contents a ?type .
FILTER(?type IN (
pmdcat:Dataset,
pmdcat:FileDataset,
pmdcat:URLDataset,
pmdcat:LinkedDataset,
pmdcat:DataCube,
pmdcat:GraphDatasetContents,
pmdcat:Ontology,
pmdcat:Dataset,
pmdcat:FileDataset,
pmdcat:URLDataset,
pmdcat:LinkedDataset,
pmdcat:DataCube,
pmdcat:GraphDatasetContents,
pmdcat:Ontology,
pmdcat:ConceptScheme
))
}
}
)

}
}

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -3,17 +3,17 @@ PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX ui: <http://www.w3.org/ns/ui#>
PREFIX dcat: <http://www.w3.org/ns/dcat#>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX dct: <http://purl.org/dc/terms/>
PREFIX dct: <http://purl.org/dc/terms/>
PREFIX pmdcat: <http://publishmydata.com/pmdcat#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>

SELECT ?dataset ?count {
{
SELECT ?dataset (COUNT(?lbl1) AS ?count)
SELECT ?dataset (COUNT(DISTINCT ?title1) AS ?count)
WHERE {
?dataset a pmdcat:Dataset .
?dataset rdfs:label ?lbl1, ?lbl2 .
FILTER(?lbl1 != ?lbl2)
?dataset dct:title ?title1, ?title2 .
FILTER(?title1 != ?title2)
}
GROUP BY ?dataset
HAVING (?count > 1)
Expand All @@ -22,7 +22,7 @@ SELECT ?dataset ?count {
SELECT ?dataset ?count {
?dataset a pmdcat:Dataset .
FILTER NOT EXISTS {
?dataset rdfs:label ?o
?dataset dct:title ?o
}
BIND(0 AS ?count)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,13 @@ PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX ui: <http://www.w3.org/ns/ui#>
PREFIX dcat: <http://www.w3.org/ns/dcat#>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX dct: <http://purl.org/dc/terms/>
PREFIX dct: <http://purl.org/dc/terms/>
PREFIX pmdcat: <http://publishmydata.com/pmdcat#>

SELECT ?dataset (COUNT(?o) AS ?count)
SELECT ?dataset (COUNT(DISTINCT ?o) AS ?count)
WHERE {
?dataset a pmdcat:Dataset .
?dataset dcat:contactPoint ?o
}
GROUP BY ?dataset
HAVING (?count > 1)
HAVING (?count > 1)
Loading