コード例 #1
0
ファイル: listIndex.java プロジェクト: jamesw201/JenaO
    @Override
    protected QueryIterator processMethod() throws AsyncException {
      // subject a variable.

      if (objectArgs.size() != 2)
        throw new ExprEvalException("ListIndex : object not a list of length 2");
      Node indexNode = objectArgs.get(0);
      Node memberNode = objectArgs.get(1);

      final Collection<Node> x;
      if (!Var.isVar(memberNode))
        // If memberNode is defined, find lists containing it.
        x =
            GraphList.listFromMember(
                getHandler("x"), new GNode(execCxt.getActiveGraph(), memberNode));
      else
        // Hard. Subject unbound, no fixed member. Find every list and use BFI.
        x = GraphList.findAllLists(getHandler("x"), execCxt.getActiveGraph());
      return listIndex.super.allLists(
          getHandler(""),
          binding,
          x,
          listVar,
          predicate,
          new PropFuncArg(objectArgs, null),
          execCxt);
    }