// Remove all triples associated with this magic property. // Make an instance record. private static PropertyFunctionInstance magicProperty( Context context, Triple pfTriple, BasicPattern triples) { List<Triple> listTriples = new ArrayList<>(); GNode sGNode = new GNode(triples, pfTriple.getSubject()); GNode oGNode = new GNode(triples, pfTriple.getObject()); List<Node> sList = null; List<Node> oList = null; if (GraphList.isListNode(sGNode)) { sList = GraphList.members(sGNode); GraphList.allTriples(sGNode, listTriples); } if (GraphList.isListNode(oGNode)) { oList = GraphList.members(oGNode); GraphList.allTriples(oGNode, listTriples); } PropFuncArg subjArgs = new PropFuncArg(sList, pfTriple.getSubject()); PropFuncArg objArgs = new PropFuncArg(oList, pfTriple.getObject()); // Confuses single arg with a list of one. PropertyFunctionInstance pfi = new PropertyFunctionInstance(subjArgs, pfTriple.getPredicate(), objArgs); triples.getList().removeAll(listTriples); return pfi; }