(defvar *reserved-vocabulary-with-special-treatment* (list !owl:Nothing !owl:priorVersion !owl:rational !owl:real !owl:versionInfo !owl:Thing !owl:topDataProperty !owl:topObjectProperty !rdf:langRange !rdf:text !rdf:XMLLiteral !rdfs:comment !rdfs:isDefinedBy !rdfs:label !rdfs:Literal !rdfs:seeAlso !xsd:anyURI !xsd:base64Binary !xsd:boolean !xsd:byte !xsd:dateTime !xsd:dateTimeStamp !xsd:decimal !xsd:double !xsd:float !xsd:hexBinary !xsd:int !xsd:integer !xsd:language !xsd:length !xsd:long !xsd:maxExclusive !xsd:maxInclusive !xsd:maxLength !xsd:minExclusive !xsd:minInclusive !xsd:minLength !xsd:Name !xsd:NCName !xsd:negativeInteger !xsd:NMTOKEN !xsd:nonNegativeInteger !xsd:nonPositiveInteger !xsd:normalizedString !xsd:pattern !xsd:positiveInteger !xsd:short !xsd:string !xsd:token !xsd:unsignedByte !xsd:unsignedInt !xsd:unsignedLong !xsd:unsignedShort)) (profiles-testcase 'reserved-vocabulary-annotations '(:full :dl :rl :ql :el) "Only the annotation property can't be from the restricted vocabulary" "Prefix (: = ) Prefix(xsd: = ) Prefix(rdf: = ) Prefix(rdfs: = ) Prefix(owl: = ) Ontology( Declaration(AnnotationProperty(:ap)) AnnotationAssertion(:p owl:Nothing owl:Nothing) AnnotationAssertion(:p owl:priorVersion owl:priorVersion) AnnotationAssertion(:p owl:rational owl:rational) AnnotationAssertion(:p owl:real owl:real) AnnotationAssertion(:p owl:versionInfo owl:versionInfo) AnnotationAssertion(:p owl:Thing owl:Thing) AnnotationAssertion(:p owl:topDataProperty owl:topDataProperty) AnnotationAssertion(:p owl:topObjectProperty owl:topObjectProperty) AnnotationAssertion(:p rdf:langRange rdf:langRange) AnnotationAssertion(:p rdf:text rdf:text) AnnotationAssertion(:p rdf:XMLLiteral rdf:XMLLiteral) AnnotationAssertion(:p rdfs:comment rdfs:comment) AnnotationAssertion(:p rdfs:isDefinedBy rdfs:isDefinedBy) AnnotationAssertion(:p rdfs:label rdfs:label) AnnotationAssertion(:p rdfs:Literal rdfs:Literal) AnnotationAssertion(:p rdfs:seeAlso rdfs:seeAlso) AnnotationAssertion(:p xsd:anyURI xsd:anyURI) AnnotationAssertion(:p xsd:base64Binary xsd:base64Binary) AnnotationAssertion(:p xsd:boolean xsd:boolean) AnnotationAssertion(:p xsd:byte xsd:byte) AnnotationAssertion(:p xsd:dateTime xsd:dateTime) AnnotationAssertion(:p xsd:dateTimeStamp xsd:dateTimeStamp) AnnotationAssertion(:p xsd:decimal xsd:decimal) AnnotationAssertion(:p xsd:double xsd:double) AnnotationAssertion(:p xsd:float xsd:float) AnnotationAssertion(:p xsd:hexBinary xsd:hexBinary) AnnotationAssertion(:p xsd:int xsd:int) AnnotationAssertion(:p xsd:integer xsd:integer) AnnotationAssertion(:p xsd:language xsd:language) AnnotationAssertion(:p xsd:length xsd:length) AnnotationAssertion(:p xsd:long xsd:long) AnnotationAssertion(:p xsd:maxExclusive xsd:maxExclusive) AnnotationAssertion(:p xsd:maxInclusive xsd:maxInclusive) AnnotationAssertion(:p xsd:maxLength xsd:maxLength) AnnotationAssertion(:p xsd:minExclusive xsd:minExclusive) AnnotationAssertion(:p xsd:minInclusive xsd:minInclusive) AnnotationAssertion(:p xsd:minLength xsd:minLength) AnnotationAssertion(:p xsd:Name xsd:Name) AnnotationAssertion(:p xsd:NCName xsd:NCName) AnnotationAssertion(:p xsd:negativeInteger xsd:negativeInteger) AnnotationAssertion(:p xsd:NMTOKEN xsd:NMTOKEN) AnnotationAssertion(:p xsd:nonNegativeInteger xsd:nonNegativeInteger) AnnotationAssertion(:p xsd:nonPositiveInteger xsd:nonPositiveInteger) AnnotationAssertion(:p xsd:normalizedString xsd:normalizedString) AnnotationAssertion(:p xsd:pattern xsd:pattern) AnnotationAssertion(:p xsd:positiveInteger xsd:positiveInteger) AnnotationAssertion(:p xsd:short xsd:short) AnnotationAssertion(:p xsd:string xsd:string) AnnotationAssertion(:p xsd:token xsd:token) AnnotationAssertion(:p xsd:unsignedByte xsd:unsignedByte) AnnotationAssertion(:p xsd:unsignedInt xsd:unsignedInt) AnnotationAssertion(:p xsd:unsignedLong xsd:unsignedLong) AnnotationAssertion(:p xsd:unsignedShort xsd:unsignedShort) )") (loop for uri in *reserved-vocabulary-with-special-treatment* do (eval `(profiles-testcase ',(intern (format nil "RESTRICTED-~a-NOT-ALLOWED-AS-INDIVIDUAL" (substitute #\- #\: (string-upcase (uri-abbreviated uri))))) '(:dl :rl :ql :el) ,(format nil "the reserved ~a can't be used to name an individual" (uri-abbreviated uri)) ,(format nil "Prefix (: = ) Prefix(xsd: = ) Prefix(rdf: = ) Prefix(rdfs: = ) Prefix(owl: = ) Ontology( Declaration(NamedIndividual(~a)) Declaration(DataProperty(:p)) DataPropertyAssertion(:p ~a \"true\"^^xsd:boolean))" (uri-abbreviated uri) (uri-abbreviated uri)))))