docs: public void writePropertyDeclarations(RdfWriter rdfWriter,
  			boolean fullStatements, boolean simpleClaims)
  			throws RDFHandlerException {
  		boolean anyStatements = fullStatements || simpleClaims;
  		for (PropertyIdValue propertyIdValue : this.objectPropertyQueue) {
  			if (!this.declaredProperties.add(propertyIdValue)) {
  				continue;
  			}
  			if (anyStatements) {
  				writeNoValueRestriction(rdfWriter, propertyIdValue.getIri(),
  						Vocabulary.OWL_THING, Vocabulary.getPropertyUri(
  								propertyIdValue, PropertyContext.NO_VALUE));
  				writeNoValueRestriction(rdfWriter, propertyIdValue.getIri(),
  						Vocabulary.OWL_THING, Vocabulary.getPropertyUri(
  								propertyIdValue,
  								PropertyContext.NO_QUALIFIER_VALUE));
  			}
  			if (fullStatements) {
  				rdfWriter.writeTripleValueObject(Vocabulary.getPropertyUri(
  						propertyIdValue, PropertyContext.STATEMENT),
  						RdfWriter.RDF_TYPE, RdfWriter.OWL_OBJECT_PROPERTY);
  				rdfWriter.writeTripleValueObject(Vocabulary.getPropertyUri(
  						propertyIdValue, PropertyContext.VALUE_SIMPLE),
  						RdfWriter.RDF_TYPE, RdfWriter.OWL_OBJECT_PROPERTY);
  				rdfWriter.writeTripleValueObject(Vocabulary.getPropertyUri(
  						propertyIdValue, PropertyContext.VALUE),
  						RdfWriter.RDF_TYPE, RdfWriter.OWL_OBJECT_PROPERTY);
  				rdfWriter.writeTripleValueObject(Vocabulary.getPropertyUri(
  						propertyIdValue, PropertyContext.QUALIFIER),
  						RdfWriter.RDF_TYPE, RdfWriter.OWL_OBJECT_PROPERTY);
  				rdfWriter.writeTripleValueObject(Vocabulary.getPropertyUri(
  						propertyIdValue, PropertyContext.REFERENCE),
  						RdfWriter.RDF_TYPE, RdfWriter.OWL_OBJECT_PROPERTY);
  				rdfWriter.writeTripleValueObject(Vocabulary.getPropertyUri(
  						propertyIdValue, PropertyContext.QUALIFIER_SIMPLE),
  						RdfWriter.RDF_TYPE, RdfWriter.OWL_OBJECT_PROPERTY);
  				rdfWriter.writeTripleValueObject(Vocabulary.getPropertyUri(
  						propertyIdValue, PropertyContext.REFERENCE_SIMPLE),
  						RdfWriter.RDF_TYPE, RdfWriter.OWL_OBJECT_PROPERTY);
  			}
  			if (simpleClaims) {
  				rdfWriter.writeTripleValueObject(Vocabulary.getPropertyUri(
  						propertyIdValue, PropertyContext.DIRECT),
  						RdfWriter.RDF_TYPE, RdfWriter.OWL_OBJECT_PROPERTY);
  			}
  		}
  		this.objectPropertyQueue.clear();
  
  		for (PropertyIdValue propertyIdValue : this.datatypePropertyQueue) {
  			if (!this.declaredProperties.add(propertyIdValue)) {
  				continue;
  			}
  			if (anyStatements) {
  				writeNoValueRestriction(rdfWriter, propertyIdValue.getIri(),
  						Vocabulary.XSD_STRING, Vocabulary.getPropertyUri(
  								propertyIdValue, PropertyContext.NO_VALUE));
  				writeNoValueRestriction(rdfWriter, propertyIdValue.getIri(),
  						Vocabulary.XSD_STRING, Vocabulary.getPropertyUri(
  								propertyIdValue,
  								PropertyContext.NO_QUALIFIER_VALUE));
  			}
  			if (fullStatements) {
  				rdfWriter.writeTripleValueObject(Vocabulary.getPropertyUri(
  						propertyIdValue, PropertyContext.STATEMENT),
  						RdfWriter.RDF_TYPE, RdfWriter.OWL_OBJECT_PROPERTY);
  				rdfWriter.writeTripleValueObject(Vocabulary.getPropertyUri(
  						propertyIdValue, PropertyContext.VALUE),
  						RdfWriter.RDF_TYPE, RdfWriter.OWL_DATATYPE_PROPERTY);
  				rdfWriter.writeTripleValueObject(Vocabulary.getPropertyUri(
  						propertyIdValue, PropertyContext.QUALIFIER),
  						RdfWriter.RDF_TYPE, RdfWriter.OWL_DATATYPE_PROPERTY);
  				rdfWriter.writeTripleValueObject(Vocabulary.getPropertyUri(
  						propertyIdValue, PropertyContext.REFERENCE),
  						RdfWriter.RDF_TYPE, RdfWriter.OWL_DATATYPE_PROPERTY);
  				rdfWriter.writeTripleValueObject(Vocabulary.getPropertyUri(
  						propertyIdValue, PropertyContext.VALUE_SIMPLE),
  						RdfWriter.RDF_TYPE, RdfWriter.OWL_DATATYPE_PROPERTY);
  				rdfWriter.writeTripleValueObject(Vocabulary.getPropertyUri(
  						propertyIdValue, PropertyContext.QUALIFIER_SIMPLE),
  						RdfWriter.RDF_TYPE, RdfWriter.OWL_DATATYPE_PROPERTY);
  				rdfWriter.writeTripleValueObject(Vocabulary.getPropertyUri(
  						propertyIdValue, PropertyContext.REFERENCE_SIMPLE),
  						RdfWriter.RDF_TYPE, RdfWriter.OWL_DATATYPE_PROPERTY);
  
  			}
  			if (simpleClaims) {
  				rdfWriter.writeTripleValueObject(Vocabulary.getPropertyUri(
  						propertyIdValue, PropertyContext.DIRECT),
  						RdfWriter.RDF_TYPE, RdfWriter.OWL_DATATYPE_PROPERTY);
  			}
  
  		}
  		this.datatypePropertyQueue.clear();
  
  		for (IRI propertyUri : this.objectPropertyUriQueue) {
  			if (!this.declaredPropertyUris.add(propertyUri)) {
  				continue;
  			}
  			rdfWriter.writeTripleValueObject(propertyUri, RdfWriter.RDF_TYPE,
  					RdfWriter.OWL_OBJECT_PROPERTY);
  		}
  		this.objectPropertyUriQueue.clear();
  
  		for (IRI propertyUri : this.datatypePropertyUriQueue) {
  			if (!this.declaredPropertyUris.add(propertyUri)) {
  				continue;
  			}
  			rdfWriter.writeTripleValueObject(propertyUri, RdfWriter.RDF_TYPE,
  					RdfWriter.OWL_DATATYPE_PROPERTY);
  		}
  		this.datatypePropertyUriQueue.clear();
  
  	}