if (dependencyLabelPattern != null && !dependencyLabelPattern.isEmpty()) {
Node processNode = NodeFactory.createAnon();
Node installationNode = NodeFactory.createAnon();
Node dependencyNode = NodeFactory.createAnon();
Node dependencyLabel = NodeFactory.createVariable("dependencyLabel");
ElementGroup group = new ElementGroup();
group.addTriplePattern(new Triple(wfNode, NodeFactory.createURI(WFDESC_IRI + "hasSubProcess"),
processNode));
group.addTriplePattern(new Triple(processNode, NodeFactory.createURI(ONTOLOGY_IRI
+ "requiresInstallation"), installationNode));
group.addTriplePattern(new Triple(installationNode, NodeFactory.createURI(ONTOLOGY_IRI + "dependsOn"),
dependencyNode));
group.addTriplePattern(new Triple(dependencyNode, NodeFactory.createURI(SKOS_LABEL), dependencyLabel));
query.addElement(group);
ElementFilter filter = new ElementFilter(new E_StrContains(new ExprVar(dependencyLabel),
new NodeValueString(dependencyLabelPattern)));
query.addElementFilter(filter);
}