}
private void generateTriple(Arc arc, Object obj) {
RDFTerm subject;
if (this.uri != null) {
subject = new URIRef(this.uri);
} else {
subject = this.s;
}
String uri = this.rm.getURI(obj);
if (uri != null) {
this.query.addTriplePattern(new TriplePattern(subject, arc.getProperty(), new URIRef(uri)));
//FIXME: cascade
} else {
if (obj.toString().startsWith("http://") || obj.toString().startsWith("mailto:")) {
this.query.addTriplePattern(new TriplePattern(subject, arc.getProperty(), new URIRef(obj.toString())));
} else {
this.query.addTriplePattern(new TriplePattern(subject, arc.getProperty(), new Literal(obj, arc.getLang(), arc.getDatatype())));
}
}
}