- basic
- object datatype: pass fail
- cardinality: pass fail
- choices (exclusive or): pass fail
- value sets: pass fail
- nested shapes: pass fail
- named shapes: pass
- annotated issue example
- node fulfilling multiple shapes, with remaining triples (demonstrates graph coverage)
- inheritance/polymorphism
- basic inheritance factor our commonalities
- virtual base sanitizes type-finding (without
VIRTUAL
you get uninteresting matches) - issue with base person shape
- controls
-
features
- recursive pattern: foaf:knows/foaf:knows
- remote query: DBPedia German cities (select Data: Load/Query and then and )
- wikidata validation
-
Semantic Actions
- validation:
- generation:
- parsing:
- domain-specific
Schema (ShEx):
PREFIX dbpedia-owl: <http://dbpedia.org/ontology/> prefix dbpedia: <http://dbpedia.org/resource/> prefix prop: <http://dbpedia.org/property/> prefix xsd: <http://www.w3.org/2001/XMLSchema#> prefix geo: <http://www.w3.org/2003/01/geo/wgs84_pos#> prefix yago: <http://dbpedia.org/class/yago/> prefix umbel: <http://umbel.org/umbel/rc/> prefix schema: <http://schema.org/> start = <CityShape> <CityShape> EXTRA a { a (dbpedia-owl:PopulatedPlace), a (yago:YagoGeoEntity) , # There *should* be a choice between City and Village. a (umbel:City umbel:Village)+, a (schema:Place), dbpedia-owl:areaCode xsd:string+, geo:lat xsd:float, geo:long xsd:float, dbpedia-owl:country @<CountryShape> } <CountryShape> { dbpedia-owl:currency @<CurrencyShape> } <CurrencyShape> EXTRA a { a (umbel:Currency), a (dbpedia-owl:Currency), # prop:isoCode . }