Are you sure that this does not always return the truth simply because all the inputs you tried are valid? Have you tried to create input that is clearly invalid with respect to the circuit and tested it?
Regardless of the schema, RDF is not a strict schema just like an XML schema, you can take a look at Jena Eyeball , which is another Jena-based tool for checking RDF, although itβs not sure that it will do what you want.
If you still have problems, try talking about the Jena mailing list - users@jena.apache.org
Edit
Note that validation will only return false if you used something in a way that is incompatible with the schema. Typos and other user errors that create data that may be considered invalid may be fully compatible with the RDF Schema.
For example, suppose you have a simple RDF schema:
:ValidType a rdfs:Class . :property a rdf:Property ; rdfs:domain :ValidType .
So, this diagram claims that you have one class and a property that has the domain of this class.
Then the user makes a typo and includes the following data:
:subj a :InvalidType .
This is not in itself incompatible, because RDF has an open world speculation. Claiming that something is of a type not covered by your RDF schema does not invalidate the validation, from the point of view of validation this is simply false information.
However, if the user then stated that :subj used your specific property as follows:
:subj a :InvalidType ; :property "value" .
Validation should now return false, because the data will not be compatible with the schema, you indicated that :property has only the domain :ValidType , but it was used with a resource like :InvalidType , so this is inconsistent, and the check should fail.