Hi there
I am new to jena and I'm trying the write the two following restrictions into an owl (rdf/xml) ontology: - in_category property should range over a singleton (Collection) containing only #Bo, - is_XXX_type should range over a singleton containing only the Boolean value "true" My code (below) cannot write the parts of the desired output (below) marked with ==>. So far, I have been working to achieve the second part of the desired output (i.e. the #is_XXX_type part), and that's my priority, but suggestions on the first part would be welcome. DESIRED OUTPUT <owl:Class rdf:about="http://www._.net/ontologies/2016/XXXs_Ontology.owl#B7"> <rdfs:subClassOf rdf:resource="http://www._.net/ontologies/2016/XXXs_Ontology.owl#B"/> <rdfs:subClassOf rdf:resource="http://www._.net/ontologies/2016/XXXs_Ontology.owl#T"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="http://www._.net/ontologies/2016/XXXs_Ontology.owl#in_category"/> <owl:allValuesFrom> ==> <owl:Class> ==> <owl:oneOf rdf:parseType="Collection"> ==> <rdf:Description rdf:about="http://www._.net/ontologies/2016/XXXs_Ontology.owl#Bo"/> ==> </owl:oneOf> ==> </owl:Class> </owl:allValuesFrom> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="http://www._.net/ontologies/2016/XXXs_Ontology.owl#is_XXX_type"/> <owl:allValuesFrom> ==> <rdfs:Datatype> ==> <owl:oneOf> ==> <rdf:Description> ==> <rdf:type rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#List"/> ==> <rdf:first rdf:datatype="http://www.w3.org/2001/XMLSchema#boolean">true</rdf:first> ==> <rdf:rest rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/> ==> </rdf:Description> ==> </owl:oneOf> </rdfs:Datatype> </owl:allValuesFrom> </owl:Restriction> </rdfs:subClassOf> </owl:Class> MY CODE (note: the new class is derived from an existing individual) OntClass newClass = model2.createClass(thisInstance.toString()); DatatypeProperty is_XXX_type = model2.createDatatypeProperty("http://www._.net/ontologies/2016/XXXs_Ontology.owl#is_XXX_type"); is_XXX_type.setRange(XSD.xboolean); Restriction restriction = model2.createAllValuesFromRestriction(null, is_ XXX_type, XSD.xboolean); newClass.addSuperClass(restriction); MY PRESENT OUTPUT FOR THE is_XXX_type CASE: <owl:Class rdf:about="http://www._.net/ontologies/2016/XXXs_Ontology.owl#B7"> <rdfs:subClassOf> <owl:Restriction> <owl:allValuesFrom rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> <owl:onProperty> <owl:DatatypeProperty rdf:about="http://www._.net/ontologies/2016/XXXs_Ontology.owl#is_XXX_type"/> </owl:onProperty> </owl:Restriction> </rdfs:subClassOf> </owl:Class> Thank you in advance for the advice. Jos Lehmann Knowledge Management Bauhaus Luftfahrt e.V. GERMANY