PREFIX bench: PREFIX dcterms: PREFIX swrc: PREFIX rdfs: PREFIX foaf: PREFIX dc: PREFIX xsd: PREFIX rdf: PREFIX : OWA CLASSES { CWA CLASS foaf:Person { KEY foaf:name; TOTAL foaf:name : LITERAL(xsd:string); } // There seems to be a bug in SUBCLASS inheritance in combination with CWA at the subclass! // The properties defined in the superclass are not added to the CWA constraint in the subclass, leading to violation of CWA constraint in subclass. // -> removed SUBLASS definition and added constraint to subclasses // -> completly removed CLASS foaf:Document as there is only one entity of this class an this entity has no title // CWA CLASS foaf:Document SUBCLASS bench:Journal, bench:Proceedings, bench:Inproceedings, bench:Article, bench:Www, bench:MastersThesis, bench:PhDThesis, bench:Incollection, bench:Book { // TOTAL dc:title : LITERAL(xsd:string); // } CWA CLASS bench:Journal { TOTAL dc:title : LITERAL(xsd:string); TOTAL dcterms:issued : LITERAL(xsd:integer); PARTIAL swrc:number : LITERAL(xsd:integer); // Totality for swrc:volume does not hold on 100M, there are entities that have no swrc:volume // -> replaced by PARTIAL constraint // TOTAL swrc:volume : LITERAL(xsd:integer); PARTIAL swrc:volume : LITERAL(xsd:integer); // RANGE(foaf:Person) does not hold on 100M, there are missing type infos for editor blank nodes // -> removed RANGE(foaf:Person) // MAX(6), RANGE(foaf:Person) swrc:editor : RESOURCE; MAX(6) swrc:editor : RESOURCE; } CWA CLASS bench:Proceedings{ TOTAL dc:title : LITERAL(xsd:string); PARTIAL dc:publisher : LITERAL(xsd:string); PARTIAL bench:booktitle : LITERAL(xsd:string); PARTIAL dcterms:issued : LITERAL(xsd:integer); PARTIAL swrc:isbn : LITERAL(xsd:string); PARTIAL swrc:number : LITERAL(xsd:integer); PARTIAL swrc:series : LITERAL(xsd:integer); PARTIAL swrc:volume : LITERAL(xsd:integer); PARTIAL rdfs:seeAlso : LITERAL(xsd:string); PARTIAL foaf:homepage : LITERAL(xsd:string); // MAX(6) for swrc:editor does not hold on 100M (on Virtuoso, on Sesame it holds) // -> replaced by MAX(7) // RANGE(foaf:Person) does not hold on 100M, there are missing type infos for editor blank nodes // -> removed RANGE(foaf:Person) // MAX(6), RANGE(foaf:Person) swrc:editor : RESOURCE; MAX(7) swrc:editor : RESOURCE; // Some properties were missing leading to violation of CWA constraint swrc:address; swrc:note; swrc:month; } CWA CLASS bench:Inproceedings { TOTAL dc:title : LITERAL(xsd:string); TOTAL bench:booktitle : LITERAL(xsd:string); TOTAL dcterms:issued : LITERAL(xsd:integer); TOTAL foaf:homepage : LITERAL(xsd:string); PARTIAL bench:abstract : LITERAL(xsd:string); PARTIAL bench:cdrom : LITERAL(xsd:string); PARTIAL swrc:number : LITERAL(xsd:integer); PARTIAL swrc:pages : LITERAL(xsd:integer); PARTIAL rdfs:seeAlso : LITERAL(xsd:string); PARTIAL, RANGE(bench:Proceedings) dcterms:partOf : RESOURCE; // MAX(4) for dc:creator does not hold on 100M // -> replaced by MAX(8) // RANGE(foaf:Person) does not hold on 100M, there are missing type infos for creator blank nodes // -> removed RANGE(foaf:Person) // MIN(1), MAX(4), RANGE(foaf:Person) dc:creator : RESOURCE; MIN(1), MAX(8) dc:creator : RESOURCE; // Partiality constraint violated in Virtuoso, not violated in Sesame // PARTIAL dcterms:references; dcterms:references; } CWA CLASS bench:Article { TOTAL dc:title : LITERAL(xsd:string); TOTAL, RANGE(bench:Journal) swrc:journal : RESOURCE; PARTIAL bench:abstract : LITERAL(xsd:string); PARTIAL bench:booktitle : LITERAL(xsd:string); PARTIAL bench:cdrom : LITERAL(xsd:string); PARTIAL dc:publisher : LITERAL(xsd:string); PARTIAL swrc:month : LITERAL(xsd:integer); PARTIAL swrc:note : LITERAL(xsd:string); PARTIAL swrc:pages : LITERAL(xsd:integer); PARTIAL rdfs:seeAlso : LITERAL(xsd:string); PARTIAL foaf:homepage : LITERAL(xsd:string); // Partiality constraint violated in Virtuoso, not violated in Sesame // PARTIAL dcterms:references; dcterms:references; // MAX(4) for dc:creator does not hold on 100M // -> replaced by MAX(8) // RANGE(foaf:Person) does not hold on 100M, there are missing type infos for creator blank nodes // -> removed RANGE(foaf:Person) // MIN(1), MAX(4), RANGE(foaf:Person) dc:creator : RESOURCE; MIN(1), MAX(8) dc:creator : RESOURCE; // Some properties were missing leading to violation of CWA constraint dcterms:partOf; swrc:number; swrc:volume; } CWA CLASS bench:Www { TOTAL dc:title : LITERAL(xsd:string); // KEY on foaf:name does not hold for 100M, there are entities that have no foaf:name // -> replaced by PARTIAL constraint // KEY foaf:name; PARTIAL foaf:name; PARTIAL swrc:note : LITERAL(xsd:string); // Totality on foaf:homepage does not hold for 100M, there are entities that have no foaf:homepage // -> replaced by PARTIAL constraint // TOTAL foaf:homepage : LITERAL(xsd:string); PARTIAL foaf:homepage : LITERAL(xsd:string); // MAX(2) for dc:creator does not hold on 100M // -> replaced by MAX(6) // RANGE(foaf:Person) does not hold on 100M, there are missing type infos for creator blank nodes // -> removed RANGE(foaf:Person) // MIN(1), MAX(2), RANGE(foaf:Person) dc:creator : RESOURCE; MIN(1), MAX(6) dc:creator : RESOURCE; // Some properties were missing leading to violation of CWA constraint bench:booktitle; swrc:editor; dcterms:issued; } CWA CLASS bench:MastersThesis { TOTAL dc:title : LITERAL(xsd:string); TOTAL dc:publisher : LITERAL(xsd:string); TOTAL dcterms:issued : LITERAL(xsd:integer); // KEY on foaf:name does not hold for 100M, there are entities that have no foaf:name // -> replaced by PARTIAL constraint // KEY foaf:name; PARTIAL foaf:name; PARTIAL foaf:homepage : LITERAL(xsd:string); // MAX(2) for dc:creator does not hold on 100M // -> replaced by MAX(5) // RANGE(foaf:Person) does not hold on 100M, there are missing type infos for creator blank nodes // -> removed RANGE(foaf:Person) // MIN(1), MAX(2), RANGE(foaf:Person) dc:creator : RESOURCE; MIN(1), MAX(5) dc:creator : RESOURCE; } CWA CLASS bench:PhDThesis { TOTAL dc:title : LITERAL(xsd:string); TOTAL dcterms:issued : LITERAL(xsd:integer); // KEY on foaf:name does not hold for 100M, there are entities that have no foaf:name // -> replaced by PARTIAL constraint // KEY foaf:name; PARTIAL foaf:name; // Totality on dc:publisher does not hold for 100M, there are entities that have no dc:publisher // And there are also entities having more than one dc:publisher // -> removed Totality constraint // TOTAL dc:publisher : LITERAL(xsd:string); dc:publisher : LITERAL(xsd:string); PARTIAL swrc:isbn : LITERAL(xsd:string); PARTIAL swrc:month : LITERAL(xsd:integer); PARTIAL swrc:number : LITERAL(xsd:integer); PARTIAL rdfs:seeAlso : LITERAL(xsd:string); // MAX(3) for dc:creator does not hold on 100M // -> replaced by MAX(7) // RANGE(foaf:Person) does not hold on 100M, there are missing type infos for creator blank nodes // -> removed RANGE(foaf:Person) // MIN(1), MAX(3), RANGE(foaf:Person) dc:creator : RESOURCE; MIN(1), MAX(7) dc:creator : RESOURCE; // Some properties were missing leading to violation of CWA constraint foaf:homepage; swrc:series; swrc:volume; } CWA CLASS bench:Incollection { TOTAL dc:title : LITERAL(xsd:string); TOTAL dcterms:issued : LITERAL(xsd:integer); TOTAL bench:booktitle : LITERAL(xsd:string); PARTIAL dc:publisher : LITERAL(xsd:string); PARTIAL swrc:pages : LITERAL(xsd:integer); PARTIAL rdfs:seeAlso : LITERAL(xsd:string); PARTIAL bench:cdrom : LITERAL(xsd:string); // MAX(3) for dc:creator does not hold on 100M // -> replaced by MAX(8) // RANGE(foaf:Person) does not hold on 100M, there are missing type infos for creator blank nodes // -> removed RANGE(foaf:Person) // MIN(1), MAX(3), RANGE(foaf:Person) dc:creator : RESOURCE; MIN(1), MAX(8) dc:creator : RESOURCE; // Some properties were missing leading to violation of CWA constraint foaf:homepage; swrc:isbn; dcterms:references; swrc:chapter; dcterms:partOf; } CWA CLASS bench:Book { TOTAL dc:title : LITERAL(xsd:string); TOTAL dcterms:issued : LITERAL(xsd:integer); // KEY on foaf:name does not hold for 100M, there are entities that have no foaf:name // -> replaced by PARTIAL constraint // KEY foaf:name; PARTIAL foaf:name; // Totality on dc:publisher does not hold for 100M, there are entities that have no dc:publisher // -> replaced by PARTIAL constraint // TOTAL dc:publisher : LITERAL(xsd:string); PARTIAL dc:publisher : LITERAL(xsd:string); PARTIAL swrc:isbn : LITERAL(xsd:string); PARTIAL foaf:homepage : LITERAL(xsd:string); PARTIAL swrc:series : LITERAL(xsd:integer); PARTIAL swrc:volume : LITERAL(xsd:integer); PARTIAL swrc:month : LITERAL(xsd:integer); // MAX(3) for swrc:editor does not hold on 100M // -> replaced by MAX(5) // RANGE(foaf:Person) does not hold on 100M, there are missing type infos for editor blank nodes // -> removed RANGE(foaf:Person) // MAX(3), RANGE(foaf:Person) swrc:editor : RESOURCE; MAX(5) swrc:editor : RESOURCE; // MAX(3) for dc:creator does not hold on 100M // -> replaced by MAX(8) // RANGE(foaf:Person) does not hold on 100M, there are missing type infos for creator blank nodes // -> removed RANGE(foaf:Person) // MIN(1), MAX(3), RANGE(foaf:Person) dc:creator : RESOURCE; MIN(1), MAX(8) dc:creator : RESOURCE; // Some properties were missing leading to violation of CWA constraint dcterms:references; bench:booktitle; bench:cdrom; rdfs:seeAlso; } } OWA PROPERTIES {}