public Model export(Model result, ViewDefinition viewDef) { // Partition view definitions by graph and subject List<Quad> template = viewDef.getConstructTemplate(); Multimap<Entry<Node, Node>, Quad> gsToQuadsIndex = Multimaps.index(template, q -> new SimpleEntry<>(q.getGraph(), q.getSubject())); for(Entry<Entry<Node, Node>, Collection<Quad>> gsToQuads : gsToQuadsIndex.asMap().entrySet()) { Entry<Node, Node> key = gsToQuads.getKey(); Node g = key.getKey(); Node s = key.getValue(); Collection<Quad> quads = gsToQuads.getValue(); exportTriplesMapSameGraphAndSubject(result, viewDef, g, s, quads); } return result; }
public Model export(Model result, ViewDefinition viewDef) { // Partition view definitions by graph and subject List<Quad> template = viewDef.getConstructTemplate(); Multimap<Entry<Node, Node>, Quad> gsToQuadsIndex = Multimaps.index(template, q -> new SimpleEntry<>(q.getGraph(), q.getSubject())); for(Entry<Entry<Node, Node>, Collection<Quad>> gsToQuads : gsToQuadsIndex.asMap().entrySet()) { Entry<Node, Node> key = gsToQuads.getKey(); Node g = key.getKey(); Node s = key.getValue(); Collection<Quad> quads = gsToQuads.getValue(); exportTriplesMapSameGraphAndSubject(result, viewDef, g, s, quads); } return result; }
Multimap<Node, Quad> pToQuadsIndex = Multimaps.index(quads, Quad::getPredicate);
Multimap<Node, Quad> pToQuadsIndex = Multimaps.index(quads, Quad::getPredicate);