EntitiesAsMembersOfDisjointClassesMetric.js 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839
  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 EntitiesAsMembersOfDisjointClassesMetric = (qualityGraph,dataGraph,observationURI,datasetSource) =>{
  8. let query = `
  9. SELECT (?ProblematicThingResource AS ?Subject) (COALESCE(?Default, rdf:type) AS ?Predicate) ?Object ?FailedMertic ?Exception
  10. FROM NAMED <${qualityGraph}>
  11. WHERE
  12. {
  13. {GRAPH <${qualityGraph}>
  14. {?QualityProblem qpro:generatedBy ?Observation;
  15. a qpro:QualityProblem;
  16. qpro:isDescribedBy ?FailedMertic;
  17. qpro:problemStructure qpro:ModelContainer;
  18. qpro:problematicThing ?ProblematicThingResource}.
  19. }
  20. {GRAPH <${qualityGraph}>
  21. {?ProblematicThingResource qpro:exceptionDescription ?Exception;
  22. ?Property ?Object}.
  23. FILTER(?Exception IN (dqm-prob:MultiTypedResourceWithDisjointedClasses)).
  24. FILTER(?Property IN (dqm-prob:violatingDisjoinedClass)).
  25. }
  26. FILTER(str(?Observation) = "${observationURI}").
  27. }
  28. `;
  29. return prefix + query;
  30. }
  31. export default {EntitiesAsMembersOfDisjointClassesMetric};