I add n-ary relation with this code:
OntModel m=
ModelFactory.createOntologyModel(OntModelSpec.OWL_DL_MEM_RULE_INF);
String ns ="http://www.w3.org/2002/07/owl#";
String base="http://www.w3.org/2002/07/owl";
//create classes
OntClass f = m.createClass(ns+ "femme" );
OntClass h = m.createClass(ns+ "homme" );
OntClass d = m.createClass(ns+ "Date" );
//create objectProperty
OntClass n = m.createClass(ns + "n-ary" );
ObjectProperty nf = m.createObjectProperty( ns + "n-femme" );
nf.addDomain(n); nf.addRange(f);
ObjectProperty nh = m.createObjectProperty( ns + "n-homme" );
nh.addDomain(n); nh.addRange(h);
ObjectProperty nd = m.createObjectProperty( ns + "n-date" );
nd.addDomain(n); nd.addRange(d);
// create individual
Individual h1 = m.createIndividual( ns+"john", h );//ns
Individual f1 = m.createIndividual( ns + "pretty", f );
Individual n1 = m.createIndividual( ns + "instance-n-ary", n );
Individual d1 = m.createIndividual( ns + "1997", d );
//add values in objectProperty
n1.addProperty(nd,d1);
n1.addProperty(nf,f1);
n1.addProperty(nh,h1);
FileOutputStream writer =new
FileOutputStream("G:\\thése\\Rech12\\ENCD\\pizza\\context.owl");
m.write(writer, "RDF/XML");
and I get this result:
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:owl="http://www.w3.org/2002/07/owl#"
xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" >
<rdf:Description rdf:about="http://www.w3.org/2002/07/owl#n-femme">
<rdfs:range rdf:resource="http://www.w3.org/2002/07/owl#femme"/>
<rdfs:domain rdf:resource="http://www.w3.org/2002/07/owl#n-ary"/>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
</rdf:Description>
<rdf:Description rdf:about="http://www.w3.org/2002/07/owl#femme">
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/>
</rdf:Description>
<rdf:Description rdf:about="http://www.w3.org/2002/07/owl#n-ary">
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/>
</rdf:Description>
<rdf:Description rdf:about="http://www.w3.org/2002/07/owl#n-date">
<rdfs:range rdf:resource="http://www.w3.org/2002/07/owl#Date"/>
<rdfs:domain rdf:resource="http://www.w3.org/2002/07/owl#n-ary"/>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
</rdf:Description>
<rdf:Description rdf:about="http://www.w3.org/2002/07/owl#1997">
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Date"/>
</rdf:Description>
<rdf:Description rdf:about="http://www.w3.org/2002/07/owl#n-homme">
<rdfs:range rdf:resource="http://www.w3.org/2002/07/owl#homme"/>
<rdfs:domain rdf:resource="http://www.w3.org/2002/07/owl#n-ary"/>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
</rdf:Description>
<rdf:Description rdf:about="http://www.w3.org/2002/07/owl#Date">
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/>
</rdf:Description>
<rdf:Description rdf:about="http://www.w3.org/2002/07/owl#instance-n-ary">
<owl:n-homme rdf:resource="http://www.w3.org/2002/07/owl#john"/>
<owl:n-femme rdf:resource="http://www.w3.org/2002/07/owl#pretty"/>
<owl:n-date rdf:resource="http://www.w3.org/2002/07/owl#1997"/>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#n-ary"/>
</rdf:Description>
<rdf:Description rdf:about="http://www.w3.org/2002/07/owl#homme">
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Class"/>
</rdf:Description>
<rdf:Description rdf:about="http://www.w3.org/2002/07/owl#john">
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#homme"/>
</rdf:Description>
<rdf:Description rdf:about="http://www.w3.org/2002/07/owl#pretty">
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#femme"/>
</rdf:Description>
</rdf:RDF>
but, I do not know if this code is correct or not
please, give me a response