Towards Improving the Quality of Knowledge Graphs with Data-driven - - PowerPoint PPT Presentation

towards improving the quality of knowledge graphs with
SMART_READER_LITE
LIVE PREVIEW

Towards Improving the Quality of Knowledge Graphs with Data-driven - - PowerPoint PPT Presentation

Universit degli Studi di Milano Bicocca Dipartimento di Informatica Sistemistica e Comunicazione Towards Improving the Quality of Knowledge Graphs with Data-driven Ontology Patterns and SHACL Blerina Spahiu, Andrea


slide-1
SLIDE 1

Towards Improving the Quality of Knowledge Graphs with Data-driven Ontology Patterns and SHACL ¡

Blerina ¡Spahiu, ¡Andrea ¡Maurino, ¡Ma2eo ¡Palmonari ¡ spahiu|pamonari|maurino@disco.unimib.it ¡

INSID&S Lab Interaction and Semantics for Innovation with Data & Services @InsideLaBicocca ¡ @blerinaspahiu ¡ Università degli Studi di Milano – Bicocca Dipartimento di Informatica Sistemistica e Comunicazione

slide-2
SLIDE 2

Outline ¡

q ¡Mo?va?on ¡ q ¡Main ¡Intui?on ¡ q ¡SHACL ¡ ¡ q ¡Data-­‑driven ¡Ontology ¡Pa2erns ¡& ¡KG ¡profiles ¡ q ¡Actual ¡Content ¡vs. ¡Desired ¡Content ¡ q ¡SHACL ¡Genera?on ¡and ¡Valida?on ¡Methodology ¡ q ¡Conclusions ¡and ¡Future ¡Work ¡

slide-3
SLIDE 3

¡ ¡Mo?va?on: ¡Quality ¡of ¡Knowledge ¡Graphs ¡& ¡SHACL ¡

q Understanding ¡the ¡content ¡and ¡evalua?ng ¡the ¡quality ¡of ¡data ¡ sets ¡is ¡challenging ¡ q Many ¡datasets ¡extracted ¡from ¡semi-­‑structured ¡informa?on ¡ q Quality ¡may ¡change ¡in ¡different ¡versions ¡of ¡the ¡same ¡data ¡set ¡ ¡

§ Check ¡errors ¡across ¡different ¡versions ¡of ¡data ¡sets ¡s?ll ¡in ¡use ¡

q Looking ¡at ¡the ¡ontology ¡is ¡not ¡enough ¡

§ Ontologies ¡may ¡be ¡large ¡and ¡underspecified ¡ § DBpedia ¡2015-­‑04: ¡2795 ¡proper?es, ¡domain ¡not ¡specified ¡for ¡259 ¡ proper?es, ¡range ¡not ¡specified ¡for ¡187 ¡proper?es ¡ ¡ § No ¡informa?on ¡about ¡the ¡usage ¡

q SHACL ¡to ¡validate ¡constraints ¡

§ How ¡to ¡design ¡SHACL ¡profiles? ¡

slide-4
SLIDE 4

b ¡ c ¡ a ¡

Main ¡Intui?on ¡

Assist ¡SHACL-­‑based ¡data ¡valida?on ¡using ¡Knowledge ¡ Graphs ¡(KG) ¡profiles ¡ ¡

Data ¡set ¡ KG ¡Profile ¡ SHACL ¡Profile ¡

slide-5
SLIDE 5

b ¡ c ¡ a ¡

Main ¡Intui?on ¡

Assist ¡SHACL-­‑based ¡data ¡valida?on ¡using ¡Knowledge ¡ Graphs ¡(KG) ¡profiles ¡ ¡

Tools ¡providing ¡KG ¡profiles ¡ based ¡on ¡schema ¡pa2erns ¡

  • ABSTAT ¡
  • LOUPE ¡
  • LODSTAT ¡
  • SCHEMEX ¡
  • … ¡ ¡

Data ¡set ¡ KG ¡Profile ¡ SHACL ¡Profile ¡

slide-6
SLIDE 6

b ¡ c ¡ a ¡

Main ¡Intui?on ¡

Assist ¡SHACL-­‑based ¡data ¡valida?on ¡using ¡Knowledge ¡ Graphs ¡(KG) ¡profiles ¡ ¡

Possible ¡approaches ¡

  • Manual ¡
  • Heuris?c ¡
  • Automa?c ¡ ¡

Tools ¡providing ¡KG ¡profiles ¡ based ¡on ¡schema ¡pa2erns ¡

  • ABSTAT ¡
  • LOUPE ¡
  • LODSTAT ¡
  • SCHEMEX ¡
  • … ¡ ¡

Data ¡set ¡ KG ¡Profile ¡ SHACL ¡Profile ¡

slide-7
SLIDE 7

¡ ¡Data-­‑driven ¡Ontology ¡Pa2erns ¡& ¡KG ¡profiles ¡

ABSTAT ¡profiles ¡= ¡data-­‑driven ¡ontology ¡pa2erns ¡+ ¡sta?s?cs: ¡

q Data-­‑driven ¡ontology ¡pa2erns: ¡(minimal ¡type) ¡schema ¡pa2erns, ¡i.e., ¡ (most ¡specific) ¡pa2erns ¡extracted ¡from ¡data ¡ q Sta?s?cs: ¡occurrence, ¡frequency, ¡instances, ¡cardinality ¡descriptors ¡

slide-8
SLIDE 8

¡ ¡Data-­‑driven ¡Ontology ¡Pa2erns ¡& ¡KG ¡profiles ¡

Schema ¡pa)erns: ¡there ¡exist ¡en??es ¡that ¡have ¡Company ¡as ¡ minimal ¡type, ¡which ¡are ¡linked ¡to ¡literals ¡that ¡have ¡gYear ¡as ¡ minimal ¡type ¡by ¡the ¡property ¡foundingYear ¡ ¡

ABSTAT ¡profiles ¡= ¡data-­‑driven ¡ontology ¡pa2erns ¡+ ¡sta?s?cs: ¡

q Data-­‑driven ¡ontology ¡pa2erns: ¡(minimal ¡type) ¡schema ¡pa2erns, ¡i.e., ¡ (most ¡specific) ¡pa2erns ¡extracted ¡from ¡data ¡ q Sta?s?cs: ¡occurrence, ¡frequency, ¡instances, ¡cardinality ¡descriptors ¡

slide-9
SLIDE 9

¡ ¡Data-­‑driven ¡Ontology ¡Pa2erns ¡& ¡KG ¡profiles ¡

Schema ¡pa)erns: ¡there ¡exist ¡en??es ¡that ¡have ¡Company ¡as ¡ minimal ¡type, ¡which ¡are ¡linked ¡to ¡literals ¡that ¡have ¡gYear ¡as ¡ minimal ¡type ¡by ¡the ¡property ¡foundingYear ¡ ¡

Occurrence ¡of ¡types ¡and ¡proper?es ¡

ABSTAT ¡profiles ¡= ¡data-­‑driven ¡ontology ¡pa2erns ¡+ ¡sta?s?cs: ¡

q Data-­‑driven ¡ontology ¡pa2erns: ¡(minimal ¡type) ¡schema ¡pa2erns, ¡i.e., ¡ (most ¡specific) ¡pa2erns ¡extracted ¡from ¡data ¡ q Sta?s?cs: ¡occurrence, ¡frequency, ¡instances, ¡cardinality ¡descriptors ¡

slide-10
SLIDE 10

¡ ¡Data-­‑driven ¡Ontology ¡Pa2erns ¡& ¡KG ¡profiles ¡

Schema ¡pa)erns: ¡there ¡exist ¡en??es ¡that ¡have ¡Company ¡as ¡ minimal ¡type, ¡which ¡are ¡linked ¡to ¡literals ¡that ¡have ¡gYear ¡as ¡ minimal ¡type ¡by ¡the ¡property ¡foundingYear ¡ ¡

Frequency ¡and ¡instances: ¡how ¡many ¡?mes ¡this ¡pa2ern ¡

  • ccurs ¡as ¡minimal ¡type ¡pa2ern. ¡Instances ¡count ¡considers ¡

pa2ern ¡inference ¡ Occurrence ¡of ¡types ¡and ¡proper?es ¡

ABSTAT ¡profiles ¡= ¡data-­‑driven ¡ontology ¡pa2erns ¡+ ¡sta?s?cs: ¡

q Data-­‑driven ¡ontology ¡pa2erns: ¡(minimal ¡type) ¡schema ¡pa2erns, ¡i.e., ¡ (most ¡specific) ¡pa2erns ¡extracted ¡from ¡data ¡ q Sta?s?cs: ¡occurrence, ¡frequency, ¡instances, ¡cardinality ¡descriptors ¡

slide-11
SLIDE 11

¡ ¡Data-­‑driven ¡Ontology ¡Pa2erns ¡& ¡KG ¡profiles ¡

Schema ¡pa)erns: ¡there ¡exist ¡en??es ¡that ¡have ¡Company ¡as ¡ minimal ¡type, ¡which ¡are ¡linked ¡to ¡literals ¡that ¡have ¡gYear ¡as ¡ minimal ¡type ¡by ¡the ¡property ¡foundingYear ¡ ¡

Frequency ¡and ¡instances: ¡how ¡many ¡?mes ¡this ¡pa2ern ¡

  • ccurs ¡as ¡minimal ¡type ¡pa2ern. ¡Instances ¡count ¡considers ¡

pa2ern ¡inference ¡ Occurrence ¡of ¡types ¡and ¡proper?es ¡ Cardinality ¡descriptors: ¡max/avg/min ¡number ¡of ¡different ¡subjects ¡ associated ¡with ¡a ¡same ¡object ¡(and ¡vice ¡versa) ¡

ABSTAT ¡profiles ¡= ¡data-­‑driven ¡ontology ¡pa2erns ¡+ ¡sta?s?cs: ¡

q Data-­‑driven ¡ontology ¡pa2erns: ¡(minimal ¡type) ¡schema ¡pa2erns, ¡i.e., ¡ (most ¡specific) ¡pa2erns ¡extracted ¡from ¡data ¡ q Sta?s?cs: ¡occurrence, ¡frequency, ¡instances, ¡cardinality ¡descriptors ¡

slide-12
SLIDE 12

SHACL ¡

q Shapes ¡Constraint ¡Language ¡(SHACL) ¡is ¡a ¡W3C ¡recommenda?on ¡language ¡for ¡ defining ¡constraints ¡on ¡RDF ¡graphs ¡ q A ¡SHACL ¡processor ¡has ¡two ¡inputs: ¡ ¡ § A ¡data ¡graph ¡that ¡contains ¡the ¡RDF ¡data ¡ § A ¡shapes ¡graph ¡that ¡contains ¡the ¡shapes ¡ q Two ¡types ¡of ¡shapes: ¡ § Node ¡shape ¡that ¡declare ¡constraints ¡directly ¡on ¡a ¡node ¡e.g., ¡node ¡kind. ¡ § Property ¡shape ¡that ¡declare ¡constraints ¡on ¡the ¡values ¡associated ¡with ¡a ¡ node ¡through ¡a ¡path ¡e.g., ¡cardinality. ¡ q The ¡valida?on ¡report ¡produced ¡by ¡SHACL ¡contains ¡three ¡different ¡severity ¡ levels; ¡Viola2on, ¡Warning ¡and ¡Info. ¡ q SHACL ¡is ¡divided ¡into: ¡ § SHACL ¡Core ¡which ¡describes ¡a ¡core ¡RDF ¡vocabulary ¡ ¡ § SHACL-­‑SPARQL ¡describes ¡an ¡extension ¡mechanism ¡in ¡terms ¡of ¡SPARQL ¡ ¡

slide-13
SLIDE 13

SHACL ¡Cardinality ¡Constraints ¡

q Cardinality ¡constraint ¡for ¡the ¡property ¡schema:email ¡for ¡the ¡resource ¡of ¡ Bob ¡ ¡

dbo:Person ¡ ¡a ¡sh:NodeShape ¡; ¡ ¡sh:targetNode ¡dbr:Bob ¡; ¡ ¡ ¡ ¡sh:property ¡[ ¡ ¡ ¡ ¡ ¡sh:path ¡schema:email ¡; ¡ ¡ ¡ ¡ ¡sh:minCardinality ¡1; ¡ ¡ ¡ ¡ ¡ ¡sh:maxCardinality ¡2; ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡] ¡. ¡

slide-14
SLIDE 14

Actual ¡Content ¡vs. ¡Desired ¡Content ¡

Data ¡set ¡ SHACL ¡Profile ¡ ¡ SHACL ¡Profile ¡ ¡

slide-15
SLIDE 15

Actual ¡Content ¡vs. ¡Desired ¡Content ¡

Data ¡set ¡ SHACL ¡Profile ¡ ¡ Describing ¡what ¡is ¡ in ¡the ¡data ¡set ¡ SHACL ¡Profile ¡ ¡

slide-16
SLIDE 16

Actual ¡Content ¡vs. ¡Desired ¡Content ¡

Data ¡set ¡ SHACL ¡Profile ¡ ¡ Describing ¡what ¡is ¡ in ¡the ¡data ¡set ¡ SHACL ¡Profile ¡ ¡ Describing ¡what ¡should ¡ be ¡in ¡the ¡data ¡set ¡

slide-17
SLIDE 17

Actual ¡Content ¡vs. ¡Desired ¡Content ¡

Data ¡set ¡ SHACL ¡Profile ¡ ¡ Describing ¡what ¡is ¡ in ¡the ¡data ¡set ¡ SHACL ¡Profile ¡ ¡ Describing ¡what ¡should ¡ be ¡in ¡the ¡data ¡set ¡ KGs ¡Profiling ¡tools ¡

slide-18
SLIDE 18

Actual ¡Content ¡vs. ¡Desired ¡Content ¡

Data ¡set ¡ SHACL ¡Profile ¡ ¡ Describing ¡what ¡is ¡ in ¡the ¡data ¡set ¡ SHACL ¡Profile ¡ ¡ Describing ¡what ¡should ¡ be ¡in ¡the ¡data ¡set ¡ KGs ¡Profiling ¡tools ¡ Users ¡or ¡Tools ¡Validator ¡

slide-19
SLIDE 19

SHACL ¡Profile: ¡What ¡is ¡in ¡the ¡data ¡set ¡

Shape:Company ¡ a ¡sh:NodeShape; ¡ sh:targetClass ¡dbo:Company; ¡#Applies ¡to ¡all ¡companies. ¡ sh:property ¡[ ¡ ¡sh:name ¡“keyPerson”; ¡ ¡sh:path ¡dbo:keyPerson; ¡#This ¡property ¡shape ¡applies ¡to ¡companies ¡key ¡person. ¡ ¡sh:nodeKind ¡sh:IRI; ¡#The ¡keyperson ¡is ¡given ¡in ¡IRI ¡link ¡ ¡sh:path ¡[dbo:keyPerson ¡ ¡ ¡ ¡ ¡ ¡ ¡sh:nodeShape ¡owl:Thing; ¡ ¡sh:minCount ¡“1”^^xsd:integer; ¡#keyPerson ¡is ¡a ¡required ¡property. ¡ ¡sh:maxCount ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡“5263”^^xsd:integer; ¡ ¡ ¡sh:path ¡[sh:inversePath ¡dbo:keyPerson; ¡ ¡ ¡ ¡ ¡sh:nodeKind ¡sh:IRI; ¡ ¡ ¡sh:minCount“1” ¡xsd:integer; ¡ ¡ ¡sh:maxCount ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡“23” ¡xsd:integer; ¡] ¡ ¡]. ¡ ¡sh:path ¡[dbo:keyPerson ¡ ¡ ¡ ¡ ¡sh:nodeShape ¡foaf:Person; ¡ ¡sh:minCount ¡“1”^^xsd:integer; ¡#keyPerson ¡is ¡a ¡required ¡property. ¡ ¡sh:maxCount ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡“14”^^xsd:integer; ¡ ¡ ¡sh:path ¡[sh:inversePath ¡dbo:keyPerson; ¡ ¡ ¡ ¡ ¡sh:nodeKind ¡sh:IRI; ¡ ¡ ¡sh:minCount ¡“1” ¡xsd:integer; ¡ ¡ ¡sh:maxCount ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡“15” ¡xsd:integer; ¡] ¡ ¡ ¡ ¡]. ¡ ¡

slide-20
SLIDE 20

SHACL ¡Profile: ¡What ¡is ¡in ¡the ¡data ¡set ¡

Shape:Company ¡ a ¡sh:NodeShape; ¡ sh:targetClass ¡dbo:Company; ¡#Applies ¡to ¡all ¡companies. ¡ sh:property ¡[ ¡ ¡sh:name ¡“keyPerson”; ¡ ¡sh:path ¡dbo:keyPerson; ¡#This ¡property ¡shape ¡applies ¡to ¡companies ¡key ¡person. ¡ ¡sh:nodeKind ¡sh:IRI; ¡#The ¡keyperson ¡is ¡given ¡in ¡IRI ¡link ¡ ¡sh:path ¡[dbo:keyPerson ¡ ¡ ¡ ¡ ¡ ¡ ¡sh:nodeShape ¡owl:Thing; ¡ ¡sh:minCount ¡“1”^^xsd:integer; ¡#keyPerson ¡is ¡a ¡required ¡property. ¡ ¡sh:maxCount ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡“5263”^^xsd:integer; ¡ ¡ ¡sh:path ¡[sh:inversePath ¡dbo:keyPerson; ¡ ¡ ¡ ¡ ¡sh:nodeKind ¡sh:IRI; ¡ ¡ ¡sh:minCount“1” ¡xsd:integer; ¡ ¡ ¡sh:maxCount ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡“23” ¡xsd:integer; ¡] ¡ ¡]. ¡ ¡sh:path ¡[dbo:keyPerson ¡ ¡ ¡ ¡ ¡sh:nodeShape ¡foaf:Person; ¡ ¡sh:minCount ¡“1”^^xsd:integer; ¡#keyPerson ¡is ¡a ¡required ¡property. ¡ ¡sh:maxCount ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡“14”^^xsd:integer; ¡ ¡ ¡sh:path ¡[sh:inversePath ¡dbo:keyPerson; ¡ ¡ ¡ ¡ ¡sh:nodeKind ¡sh:IRI; ¡ ¡ ¡sh:minCount ¡“1” ¡xsd:integer; ¡ ¡ ¡sh:maxCount ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡“15” ¡xsd:integer; ¡] ¡ ¡ ¡ ¡]. ¡ ¡

slide-21
SLIDE 21

SHACL ¡Profile: ¡What ¡is ¡in ¡the ¡data ¡set ¡

Shape:Company ¡ a ¡sh:NodeShape; ¡ sh:targetClass ¡dbo:Company; ¡#Applies ¡to ¡all ¡companies. ¡ sh:property ¡[ ¡ ¡sh:name ¡“keyPerson”; ¡ ¡sh:path ¡dbo:keyPerson; ¡#This ¡property ¡shape ¡applies ¡to ¡companies ¡key ¡person. ¡ ¡sh:nodeKind ¡sh:IRI; ¡#The ¡keyperson ¡is ¡given ¡in ¡IRI ¡link ¡ ¡sh:path ¡[dbo:keyPerson ¡ ¡ ¡ ¡ ¡ ¡ ¡sh:nodeShape ¡owl:Thing; ¡ ¡sh:minCount ¡“1”^^xsd:integer; ¡#keyPerson ¡is ¡a ¡required ¡property. ¡ ¡sh:maxCount ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡“5263”^^xsd:integer; ¡ ¡ ¡sh:severity ¡sh:Warning ¡; ¡ ¡sh:sparql ¡[ ¡ ¡ ¡sh:message ¡“Triples ¡that ¡might ¡violate ¡quality”; ¡ ¡ ¡sh:prefixes ¡dbo: ¡; ¡ ¡ ¡sh:select ¡“”” ¡ ¡ ¡SELECT ¡?s ¡?o ¡ ¡ ¡WHERE ¡{ ¡ ¡ ¡?o ¡dbo:keyPerson ¡?s; ¡ ¡ ¡ ¡ ¡a ¡dbo:Company ¡. ¡ ¡ ¡ ¡FILTER ¡NOT ¡EXISTS ¡{ ¡ ¡ ¡ ¡ ¡ ¡?s ¡a ¡?type ¡. ¡ ¡ ¡} ¡ } ¡ ¡“””; ¡ ¡]. ¡

slide-22
SLIDE 22

SHACL ¡Profile: ¡What ¡is ¡in ¡the ¡data ¡set ¡

<dbr:Kodak ¡dbo:keyPerson ¡dbr:Chief_execu?ve_officer> ¡ <dbr:Telefonica ¡dbo:keyPerson ¡dbr:Chief_execu?ve_officer> ¡ <dbr:Allianz ¡dbo:keyPerson ¡dbr:Chief_execu?ve_officer> ¡ ¡

Shape:Company ¡ a ¡sh:NodeShape; ¡ sh:targetClass ¡dbo:Company; ¡#Applies ¡to ¡all ¡companies. ¡ sh:property ¡[ ¡ ¡sh:name ¡“keyPerson”; ¡ ¡sh:path ¡dbo:keyPerson; ¡#This ¡property ¡shape ¡applies ¡to ¡companies ¡key ¡person. ¡ ¡sh:nodeKind ¡sh:IRI; ¡#The ¡keyperson ¡is ¡given ¡in ¡IRI ¡link ¡ ¡sh:path ¡[dbo:keyPerson ¡ ¡ ¡ ¡ ¡ ¡ ¡sh:nodeShape ¡owl:Thing; ¡ ¡sh:minCount ¡“1”^^xsd:integer; ¡#keyPerson ¡is ¡a ¡required ¡property. ¡ ¡sh:maxCount ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡“5263”^^xsd:integer; ¡ ¡ ¡sh:severity ¡sh:Warning ¡; ¡ ¡sh:sparql ¡[ ¡ ¡ ¡sh:message ¡“Triples ¡that ¡might ¡violate ¡quality”; ¡ ¡ ¡sh:prefixes ¡dbo: ¡; ¡ ¡ ¡sh:select ¡“”” ¡ ¡ ¡SELECT ¡?s ¡?o ¡ ¡ ¡WHERE ¡{ ¡ ¡ ¡?o ¡dbo:keyPerson ¡?s; ¡ ¡ ¡ ¡ ¡a ¡dbo:Company ¡. ¡ ¡ ¡ ¡FILTER ¡NOT ¡EXISTS ¡{ ¡ ¡ ¡ ¡ ¡ ¡?s ¡a ¡?type ¡. ¡ ¡ ¡} ¡ } ¡ ¡“””; ¡ ¡]. ¡

slide-23
SLIDE 23

Shape:Company ¡ a ¡sh:NodeShape; ¡ sh:targetClass ¡dbo:Company; ¡#Applies ¡to ¡all ¡companies. ¡ sh:property ¡[ ¡ ¡sh:name ¡“keyPerson”; ¡ ¡sh:path ¡dbo:keyPerson; ¡#This ¡property ¡shape ¡applies ¡to ¡companies ¡key ¡person. ¡ ¡sh:nodeKind ¡sh:IRI; ¡#The ¡keyperson ¡is ¡given ¡in ¡IRI ¡link ¡ ¡sh:path ¡[dbo:keyPerson ¡ ¡ ¡ ¡ ¡ ¡ ¡sh:nodeShape ¡owl:Thing; ¡ ¡sh:minCount ¡“1”^^xsd:integer; ¡#keyPerson ¡is ¡a ¡required ¡property. ¡ ¡sh:maxCount ¡“3”^^xsd:integer; ¡ ¡ ¡sh:path ¡[sh:inversePath ¡dbo:keyPerson; ¡ ¡ ¡ ¡ ¡sh:nodeKind ¡sh:IRI; ¡ ¡ ¡sh:minCount ¡“1” ¡xsd:integer; ¡ ¡ ¡sh:maxCount ¡“1” ¡xsd:integer; ¡] ¡ ¡]. ¡ ¡sh:path ¡[dbo:keyPerson ¡ ¡ ¡ ¡ ¡sh:nodeShape ¡foaf:Person; ¡ ¡sh:minCount ¡“1”^^xsd:integer; ¡#keyPerson ¡is ¡a ¡required ¡property. ¡ ¡sh:maxCount ¡“1”^^xsd:integer; ¡ ¡ ¡sh:path ¡[sh:inversePath ¡dbo:keyPerson; ¡ ¡ ¡ ¡ ¡sh:nodeKind ¡sh:IRI; ¡ ¡ ¡sh:minCount ¡“1” ¡xsd:integer; ¡ ¡ ¡sh:maxCount ¡“1” ¡xsd:integer; ¡] ¡ ¡ ¡ ¡]. ¡ ¡

Data ¡set ¡

What ¡should ¡be ¡in ¡the ¡data ¡– ¡manual ¡se~ng ¡of ¡ ¡ ¡ ¡ ¡ SHACL ¡Constraints ¡

slide-24
SLIDE 24

Shape:Company ¡ a ¡sh:NodeShape; ¡ sh:targetClass ¡dbo:Company; ¡#Applies ¡to ¡all ¡companies. ¡ sh:property ¡[ ¡ ¡sh:name ¡“keyPerson”; ¡ ¡sh:path ¡dbo:keyPerson; ¡#This ¡property ¡shape ¡applies ¡to ¡companies ¡key ¡person. ¡ ¡sh:nodeKind ¡sh:IRI; ¡#The ¡keyperson ¡is ¡given ¡in ¡IRI ¡link ¡ ¡sh:path ¡[dbo:keyPerson ¡ ¡ ¡ ¡ ¡ ¡ ¡sh:nodeShape ¡owl:Thing; ¡ ¡sh:minCount ¡“1”^^xsd:integer; ¡#keyPerson ¡is ¡a ¡required ¡property. ¡ ¡sh:maxCount ¡“6”^^xsd:integer; ¡ ¡ ¡sh:path ¡[sh:inversePath ¡dbo:keyPerson; ¡ ¡ ¡ ¡ ¡sh:nodeKind ¡sh:IRI; ¡ ¡ ¡sh:minCount ¡“1” ¡xsd:integer; ¡ ¡ ¡sh:maxCount ¡“4” ¡xsd:integer; ¡] ¡ ¡]. ¡ ¡sh:path ¡[dbo:keyPerson ¡ ¡ ¡ ¡ ¡sh:nodeShape ¡foaf:Person; ¡ ¡sh:minCount ¡“1”^^xsd:integer; ¡#keyPerson ¡is ¡a ¡required ¡property. ¡ ¡sh:maxCount ¡“1”^^xsd:integer; ¡ ¡ ¡sh:path ¡[sh:inversePath ¡dbo:keyPerson; ¡ ¡ ¡ ¡ ¡sh:nodeKind ¡sh:IRI; ¡ ¡ ¡sh:minCount ¡“1” ¡xsd:integer; ¡ ¡ ¡sh:maxCount ¡“1” ¡xsd:integer; ¡] ¡ ¡ ¡ ¡]. ¡ ¡

Data ¡set ¡ 2*Avg ¡subjs-­‑obj ¡ ¡ n*Avg ¡subjs-­‑obj ¡ ¡

What ¡should ¡be ¡in ¡the ¡data ¡– ¡heuris?c ¡genera?on ¡

  • f ¡SHACL ¡Constraints ¡
slide-25
SLIDE 25

ABSTAT ¡profile ¡(ApV1) ¡ Data ¡set ¡(DV1) ¡ ¡ SHACL ¡Profile ¡(SpV1) ¡ Data ¡set ¡(Dv1

’) ¡ ¡

Profile ¡Valida?on ¡ ABSTAT ¡profile ¡(ApV2) ¡ Data ¡set ¡(DV2) ¡ ¡ SHACL ¡Profile ¡(SpV2) ¡ Data ¡set ¡(DV2

’) ¡ ¡

Profile ¡Valida?on ¡ ABSTAT ¡profile ¡(ApVn) ¡ Data ¡set ¡(DVn) ¡ ¡ SHACL ¡Profile ¡(SpVn) ¡ Data ¡set ¡(DVn

’) ¡ ¡

Profile ¡Valida?on ¡

¡ ¡…………… ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡……………………………………………………………… ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡…… ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡………… ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡…………………….. ¡

SHACL ¡Genera?on ¡and ¡Valida?on ¡Methodology ¡

slide-26
SLIDE 26

ABSTAT ¡profile ¡(ApV1) ¡ Data ¡set ¡(DV1) ¡ ¡ SHACL ¡Profile ¡(SpV1) ¡

Quality ¡of ¡different ¡versions ¡of ¡a ¡data ¡set ¡

Data ¡set ¡(Dv1

’) ¡ ¡

Quality ¡of ¡the ¡same ¡version ¡of ¡the ¡data ¡set ¡ ¡

Profile ¡Valida?on ¡ ABSTAT ¡profile ¡(ApV2) ¡ Data ¡set ¡(DV2) ¡ ¡ SHACL ¡Profile ¡(SpV2) ¡ Data ¡set ¡(DV2

’) ¡ ¡

Profile ¡Valida?on ¡ ABSTAT ¡profile ¡(ApVn) ¡ Data ¡set ¡(DVn) ¡ ¡ SHACL ¡Profile ¡(SpVn) ¡ Data ¡set ¡(DVn

’) ¡ ¡

Profile ¡Valida?on ¡

¡ ¡…………… ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡……………………………………………………………… ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡…… ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡………… ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡…………………….. ¡

SHACL ¡Genera?on ¡and ¡Valida?on ¡Methodology ¡

slide-27
SLIDE 27

Conclusions ¡and ¡Future ¡Work ¡

Take ¡home ¡message: ¡ q A ¡methodology ¡for ¡assessing ¡the ¡quality ¡of ¡the ¡data ¡set ¡ and ¡its ¡versions ¡ ¡ q Automa?c ¡genera?on ¡of ¡SHACL ¡Profile ¡with ¡heuris?c ¡ se~ng ¡of ¡cardinality ¡constraints ¡ “Towards”: ¡ q Be2er ¡heuris?cs ¡(feedback ¡at ¡this ¡workshop ¡will ¡be ¡ appreciated ¡J) ¡ ¡ q Integra?on ¡with ¡SHACL ¡valida?on ¡tool ¡for ¡full ¡ methodology ¡implementa?on ¡ q Run ¡the ¡experiment ¡in ¡large ¡scale ¡ ¡

slide-28
SLIDE 28

THANK YOU FOR YOUR ATTENTION! ¡

INSID&S Lab Interaction and Semantics for Innovation with Data & Services @InsideLaBicocca ¡ @blerinaspahiu ¡ Università degli Studi di Milano – Bicocca Dipartimento di Informatica Sistemistica e Comunicazione