PREFIX ex: PREFIX xsd: ex:TestObjectShape EXTRA a { a [ ex:TestObject ] ; ex:stringValue xsd:string ; ex:numValue xsd:integer ; ex:boolValue xsd:boolean ; ex:arrayValue xsd:integer* ; ex:objectValue { ex:nestedString xsd:string ; ex:nestedNum xsd:integer ; ex:nestedArray xsd:integer* ; } ; ex:anotherObject { ex:prop1 xsd:string ; ex:prop2 xsd:integer ; } * ; ex:numOrStr xsd:string OR xsd:integer ; ex:lit1Or2 ["lit1"] OR ["lit2"] ; }