Jena Cheat Sheet

Dataset (Set of Graphs) (Creation with DatasetFactory)
Dataset dataset; #
Default Graph (set/get)
dataset.setDefaultModel(model); #
dataset.getDefaultModel(); #
Named Graph Management (CRUD)
dataset.addNamedModel(uri, model); #
dataset.containsNamedModel(uri); #
dataset.getNamedModel(uri); #
dataset.listNames(); #
dataset.replaceNamedModel(uri, model); #
dataset.removeNamedModel(uri); #
Union of all Named Graphs (Excluding Default Graph)
dataset.getUnionModel(); #
Do Something in Transaction
dataset.execute(() -> { }); #
dataset.executeRead(() -> { }); #
dataset.executeWrite(() -> { }); #
dataset.calculate(() -> { return null; }); #
dataset.calculateRead(() -> { return null; }); #
dataset.calculateWrite(() -> { return null; }); #
Prefix Mapping (Prefix URI)
dataset.getPrefixMapping(); #
Low-Level Interface
dataset.asDatasetGraph(); #
Model (= Graph, Set of Triples) (Creation with ModelFactory)
Model model; #
Creates Various RDF Terms, but Does Not Add It (Alternative: ResourceFactory)
model.createResource(...); #
model.createProperty(uri); #
model.createLiteral(...); #
model.createTypedLiteral(...); #
model.createStatement(s, p, o); #
model.createLiteralStatement(s, p, o); #
CRUD (No Update)
Create: Add Statement(s) in Different Ways
model.add(...); #
model.addLiteral(s, p, o); #
Read: Various List Methods, use null for catch all (append toList(), toSet())
model.listStatements(s, p, o); #
model.listLiteralStatements(s, p, o); #
model.listSubjects(); #
model.listSubjectsWithProperty(p); #
model.listSubjectsWithProperty(p, o); #
model.listObjects(); #
model.listObjectsOfProperty(p); #
model.listObjectsOfProperty(s, p); #
model.query(new SimpleSelector(s, p, o)); # returns Model
Read: Contains Checks of Statement(s) in Different Ways
model.contains(...); #
model.containsAll(...); #
model.containsAny(...); #
model.containsLiteral(s, p, o); #
model.containsResource(r); #
Read: Check Content
model.size(); #
model.isEmpty(); #
Delete: Remove Statement(s) in Different Ways
model.remove(...); #
model.removeAll(...); #
Do Something in Transaction
model.executeInTxn(() -> { }); #
model.calculateInTxn(() -> { return null; }); #
I/O
model.read(reader, null, "TTL"); #
model.write(writer, "TTL"); #
Prefix Mapping Management
model.getNsURIPrefix(uri); #
model.getNsPrefixURI(prefix); #
model.getNsPrefixMap(); #
model.setNsPrefix(prefix, uri); #
model.setNsPrefixes(...); #
model.withDefaultMappings(prefixMapping); #
model.shortForm(uri); #
model.expandPrefix(curie); #
Listeners
model.register(modelChangeListener); #
model.unregister(modelChangeListener); #
Set Operations
model.difference(model); #
model.intersection(model); #
model.union(model); #
Lift Low-Level
model.asRDFNode(n); #
model.wrapAsResource(n); #
model.asStatement(triple); #

RDF Node: can be Resource or Literal
RDFNode node; #
Check what It Is
node.isResource(); #
node.isURIResource(); #
node.isStmtResource(); #
node.isAnon(); #
node.isLiteral(); #
Convert It
node.asLiteral(); #
node.asResource(); #
Low-Level Interface
node.asNode() #
Low-Level Parse/Serialize
NodeFactoryExtra.parseNode(nodeString);
String serializeNode(Node n) {
    boolean r = n.isURI();
    return (r?"<":"") + n.toString(true) + (r?">":"");
}
Resource (and Property) (Creation with ResourceFactory)
Resource resource; #
Getter
resource.getURI(); #
resource.getStmtTerm(); # //RDF-Star
Low-Level Interface
resource.asNode(); #

Statement: Triples
Statement stmt; #
Access the Three Components
stmt.getSubject(); #
stmt.getPredicate(); #
stmt.getObject(); #
Get Statement's Object as Resource or Literal
stmt.getResource(); #
stmt.getLiteral(); #
Get Statement's Object (a Literal) as Java Primitive
stmt.getChar(); #
stmt.getString(); #
stmt.getBoolean(); #
stmt.getByte(); #
stmt.getShort(); #
stmt.getInt(); #
stmt.getLong(); #
stmt.getFloat(); #
stmt.getDouble(); #
Low-Level Interface
stmt.asTriple(); #
Literal
Literal literal; #
Literal's Metadata
literal.getLexicalForm(); #
literal.getLanguage(); #
literal.getDatatypeURI(); #
Get Literal as Java Primitive
literal.getChar(); #
literal.getString(); #
literal.getBoolean(); #
literal.getByte(); #
literal.getShort(); #
literal.getInt(); #
literal.getLong(); #
literal.getFloat(); #
literal.getDouble(); #
literal.getValue(); #
Low-Level Interface
literal.asNode(); #