
Enum(_id='http://example.org/enumType', clsname='http_//example.org/enumType', values=[EnumValue(_id='http://example.org/enumType/bar', varname='bar', comment='The bar value of enumType'), EnumValue(_id='http://example.org/enumType/foo', varname='foo', comment='The foo value of enumType'), EnumValue(_id='http://example.org/enumType/nolabel', varname='nolabel', comment='This value has no label')], comment='An enumerated type')

Class(_id='http://example.org/id-prop-class', clsname='http_//example.org/id-prop-class', parent_ids=[], derived_ids=[], properties=[], comment='A class with an ID alias', id_property='testid', refable='optional')
Class(_id='http://example.org/link-class', clsname='http_//example.org/link-class', parent_ids=[], derived_ids=['http://example.org/link-derived-class', 'http://example.org/ref-always-class', 'http://example.org/ref-local-class', 'http://example.org/ref-no-class', 'http://example.org/ref-optional-class', 'http://example.org/ref-yes-class'], properties=[Property(path='http://example.org/link-class-link-list-prop', varname='-link-list-prop', comment='A link-class list property', max_count=None, min_count=None, enum_id='', class_id='http://example.org/link-class', datatype='', pattern=''), Property(path='http://example.org/link-class-link-prop', varname='-link-prop', comment='A link-class property', max_count=1, min_count=None, enum_id='', class_id='http://example.org/link-class', datatype='', pattern=''), Property(path='http://example.org/link-class-link-prop-no-class', varname='-link-prop-no-class', comment='A link-class property with no sh:class', max_count=1, min_count=None, enum_id='', class_id='http://example.org/link-class', datatype='', pattern='')], comment='A class to test links', id_property=None, refable='optional')
Class(_id='http://example.org/link-derived-class', clsname='http_//example.org/link-derived-class', parent_ids=['http://example.org/link-class'], derived_ids=[], properties=[], comment='A class derived from link-class', id_property=None, refable='optional')
Class(_id='http://example.org/parent-class', clsname='http_//example.org/parent-class', parent_ids=[], derived_ids=['http://example.org/aaa-derived-class', 'http://example.org/test-class'], properties=[], comment='The parent class', id_property=None, refable='optional')
Class(_id='http://example.org/ref-always-class', clsname='http_//example.org/ref-always-class', parent_ids=['http://example.org/link-class'], derived_ids=[], properties=[], comment='A class that must always be linked', id_property=None, refable='always')
Class(_id='http://example.org/ref-local-class', clsname='http_//example.org/ref-local-class', parent_ids=['http://example.org/link-class'], derived_ids=[], properties=[], comment='A class with local linking', id_property=None, refable='local')
Class(_id='http://example.org/ref-no-class', clsname='http_//example.org/ref-no-class', parent_ids=['http://example.org/link-class'], derived_ids=[], properties=[], comment='A class with no linking', id_property=None, refable='no')
Class(_id='http://example.org/ref-optional-class', clsname='http_//example.org/ref-optional-class', parent_ids=['http://example.org/link-class'], derived_ids=[], properties=[], comment='A class with optional linking', id_property=None, refable='optional')
Class(_id='http://example.org/ref-yes-class', clsname='http_//example.org/ref-yes-class', parent_ids=['http://example.org/link-class'], derived_ids=[], properties=[], comment='A class that must always have external reference', id_property=None, refable='yes')
Class(_id='http://example.org/test-another-class', clsname='http_//example.org/test-another-class', parent_ids=[], derived_ids=[], properties=[], comment='Another class', id_property=None, refable='optional')
Class(_id='http://example.org/test-class', clsname='http_//example.org/test-class', parent_ids=['http://example.org/parent-class'], derived_ids=['http://example.org/test-class-required', 'http://example.org/test-derived-class'], properties=[Property(path='http://example.org/encode', varname='encode', comment='A property that conflicts with an existing SHACLObject property', max_count=1, min_count=None, enum_id='', class_id='', datatype='http://www.w3.org/2001/XMLSchema#string', pattern=''), Property(path='http://example.org/import', varname='import', comment='A property that is a keyword', max_count=1, min_count=None, enum_id='', class_id='', datatype='http://www.w3.org/2001/XMLSchema#string', pattern=''), Property(path='http://example.org/test-class/anyuri-prop', varname='anyuri-prop', comment='a URI', max_count=1, min_count=None, enum_id='', class_id='', datatype='http://www.w3.org/2001/XMLSchema#anyURI', pattern=''), Property(path='http://example.org/test-class/boolean-prop', varname='boolean-prop', comment='a boolean property', max_count=1, min_count=None, enum_id='', class_id='', datatype='http://www.w3.org/2001/XMLSchema#boolean', pattern=''), Property(path='http://example.org/test-class/class-list-prop', varname='class-list-prop', comment='A test-class list property', max_count=None, min_count=None, enum_id='', class_id='http://example.org/test-class', datatype='', pattern=''), Property(path='http://example.org/test-class/class-prop', varname='class-prop', comment='A test-class property', max_count=1, min_count=None, enum_id='', class_id='http://example.org/test-class', datatype='', pattern=''), Property(path='http://example.org/test-class/class-prop-no-class', varname='class-prop-no-class', comment='A test-class property with no sh:class', max_count=1, min_count=None, enum_id='', class_id='http://example.org/test-class', datatype='', pattern=''), Property(path='http://example.org/test-class/datetime-list-prop', varname='datetime-list-prop', comment='A datetime list property', max_count=None, min_count=None, enum_id='', class_id='', datatype='http://www.w3.org/2001/XMLSchema#dateTime', pattern=''), Property(path='http://example.org/test-class/datetime-scalar-prop', varname='datetime-scalar-prop', comment='A scalar datetime property', max_count=1, min_count=None, enum_id='', class_id='', datatype='http://www.w3.org/2001/XMLSchema#dateTime', pattern=''), Property(path='http://example.org/test-class/enum-list-prop', varname='enum-list-prop', comment='A enum list property', max_count=None, min_count=None, enum_id='http://example.org/enumType', class_id='', datatype='', pattern=''), Property(path='http://example.org/test-class/enum-prop', varname='enum-prop', comment='A enum property', max_count=1, min_count=None, enum_id='http://example.org/enumType', class_id='', datatype='', pattern=''), Property(path='http://example.org/test-class/enum-prop-no-class', varname='enum-prop-no-class', comment='A enum property with no sh:class', max_count=1, min_count=None, enum_id='http://example.org/enumType', class_id='', datatype='', pattern=''), Property(path='http://example.org/test-class/float-prop', varname='float-prop', comment='a float property', max_count=1, min_count=None, enum_id='', class_id='', datatype='http://www.w3.org/2001/XMLSchema#decimal', pattern=''), Property(path='http://example.org/test-class/integer-prop', varname='integer-prop', comment='a non-negative integer', max_count=1, min_count=None, enum_id='', class_id='', datatype='http://www.w3.org/2001/XMLSchema#integer', pattern=''), Property(path='http://example.org/test-class/named-property', varname=rdflib.term.Literal('named_property'), comment='A named property', max_count=1, min_count=None, enum_id='', class_id='', datatype='http://www.w3.org/2001/XMLSchema#string', pattern=''), Property(path='http://example.org/test-class/nonnegative-integer-prop', varname='nonnegative-integer-prop', comment='a non-negative integer', max_count=1, min_count=None, enum_id='', class_id='', datatype='http://www.w3.org/2001/XMLSchema#nonNegativeInteger', pattern=''), Property(path='http://example.org/test-class/positive-integer-prop', varname='positive-integer-prop', comment='A positive integer', max_count=1, min_count=None, enum_id='', class_id='', datatype='http://www.w3.org/2001/XMLSchema#positiveInteger', pattern=''), Property(path='http://example.org/test-class/regex', varname='regex', comment='A regex validated string', max_count=1, min_count=None, enum_id='', class_id='', datatype='http://www.w3.org/2001/XMLSchema#string', pattern='^foo\\d'), Property(path='http://example.org/test-class/regex-datetime', varname='regex-datetime', comment='A regex dateTime', max_count=1, min_count=None, enum_id='', class_id='', datatype='http://www.w3.org/2001/XMLSchema#dateTime', pattern='^\\d\\d\\d\\d-\\d\\d-\\d\\dT\\d\\d:\\d\\d:\\d\\dZ$'), Property(path='http://example.org/test-class/regex-list', varname='regex-list', comment='A regex validated string list', max_count=None, min_count=None, enum_id='', class_id='', datatype='http://www.w3.org/2001/XMLSchema#string', pattern='^foo\\d'), Property(path='http://example.org/test-class/string-list-no-datatype', varname='string-list-no-datatype', comment='A string list property with no sh:datatype', max_count=None, min_count=None, enum_id='', class_id='', datatype='http://www.w3.org/2001/XMLSchema#string', pattern=''), Property(path='http://example.org/test-class/string-list-prop', varname='string-list-prop', comment='A string list property', max_count=None, min_count=None, enum_id='', class_id='', datatype='http://www.w3.org/2001/XMLSchema#string', pattern=''), Property(path='http://example.org/test-class/string-scalar-prop', varname='string-scalar-prop', comment='A scalar string propery', max_count=1, min_count=None, enum_id='', class_id='', datatype='http://www.w3.org/2001/XMLSchema#string', pattern='')], comment='The test class', id_property=None, refable='optional')
Class(_id='http://example.org/test-class-required', clsname='http_//example.org/test-class-required', parent_ids=['http://example.org/test-class'], derived_ids=[], properties=[Property(path='http://example.org/test-class/required-string-list-prop', varname='required-string-list-prop', comment='A required string list property', max_count=2, min_count=1, enum_id='', class_id='', datatype='http://www.w3.org/2001/XMLSchema#string', pattern=''), Property(path='http://example.org/test-class/required-string-scalar-prop', varname='required-string-scalar-prop', comment='A required scalar string property', max_count=1, min_count=1, enum_id='', class_id='', datatype='http://www.w3.org/2001/XMLSchema#string', pattern='')], comment='', id_property=None, refable='optional')
Class(_id='http://example.org/test-derived-class', clsname='http_//example.org/test-derived-class', parent_ids=['http://example.org/test-class'], derived_ids=[], properties=[], comment='A class derived from test-class', id_property=None, refable='optional')
Class(_id='http://example.org/aaa-derived-class', clsname='http_//example.org/aaa-derived-class', parent_ids=['http://example.org/parent-class'], derived_ids=[], properties=[], comment='Derived class that sorts before the parent to test ordering', id_property=None, refable='optional')
