1
0

MisplacedClassesOrPropertiesMetric.js 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. //© 2019 Dublin City University, Trinity College Dublin. All rights reserved. This material may not be reproduced, displayed, modified or distributed without the express prior written permission of the copyright holder.
  2. const prefix = `
  3. PREFIX qpro: <http://purl.org/eis/vocab/qpro#>
  4. PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
  5. PREFIX dqm-prob: <http://www.diachron-fp7.eu/dqm-prob#>
  6. `;
  7. export const MisplacedClassesOrPropertiesMetric = (qualityGraph,dataGraph,observationURI,datasetSource) =>{
  8. let query = `
  9. SELECT DISTINCT (?ProblematicThingResource AS ?Subject) ?Predicate ?Object ?FailedMertic ?Exception
  10. FROM NAMED <${qualityGraph}>
  11. FROM NAMED <${dataGraph}>
  12. WHERE
  13. {
  14. {GRAPH <${qualityGraph}>
  15. {?QualityProblem qpro:generatedBy ?Observation;
  16. a qpro:QualityProblem;
  17. qpro:isDescribedBy ?FailedMertic;
  18. qpro:problemStructure qpro:ModelContainer;
  19. qpro:problematicThing ?ProblematicThingResource}.
  20. }
  21. {GRAPH <${qualityGraph}>
  22. {?ProblematicThingResource qpro:exceptionDescription ?ExceptionDefault}.}
  23. {{GRAPH <${qualityGraph}>
  24. {?ProblematicThingResource ?Property ?Predicate}.
  25. FILTER(?Property IN (dqm-prob:hasMisplacedClass)).}
  26. UNION
  27. {GRAPH <${qualityGraph}>
  28. {?ProblematicThingResource ?Property ?Object}.
  29. FILTER(?Property IN ( dqm-prob:hasMisplacedProperty)).}
  30. }
  31. {${datasetSource} <${dataGraph}>
  32. {?ProblematicThingResource ?Predicate ?Object
  33. }.
  34. }
  35. BIND(COALESCE(
  36. IF(?Property = dqm-prob:hasMisplacedClass, dqm-prob:MisplacedClass,IF(?Property = dqm-prob:hasMisplacedProperty, dqm-prob:MisplacedProperty,""))
  37. ) AS ?Exception).
  38. FILTER(str(?Observation) = "${observationURI}").
  39. }
  40. `;
  41. return prefix + query;
  42. }
  43. export default {MisplacedClassesOrPropertiesMetric};