private void _query() throws UnregisteredInstanceException {
    ResultSet rs;
    rs = _source.sparqlSelect(Queries.labelQuery(_uri, _source));
    if (rs.hasNext()) {
      QuerySolution qs = rs.next();
      if (qs.contains("o")) _label = Utils.parseLiteral(qs.get("o").toString());
    }

    rs = _source.sparqlSelect(Queries.commentQuery(_uri, _source));
    if (rs.hasNext()) {
      QuerySolution qs = rs.next();
      if (qs.contains("o")) _comment = Utils.parseLiteral(qs.get("o").toString());
    }

    // info query
    rs = _source.sparqlSelect(Queries.interfaceInfoQuery(_uri, _source));
    if (!rs.hasNext())
      throw new UnregisteredInstanceException(
          "QueryInterface (" + _uri + ") not found in source: " + _source.toString());
    else {
      QuerySolution qs = rs.next();
      if (qs.contains("output")) _output = qs.get("output").toString();
      if (qs.contains("input")) _input = qs.get("input").toString();
      if (qs.contains("limit"))
        _limit = Integer.parseInt(Utils.parseLiteral(qs.get("limit").toString()));
    }

    // types query
    rs = _source.sparqlSelect(Queries.typeQuery(_uri, _source));
    if (!rs.hasNext())
      throw new UnregisteredInstanceException(
          "QueryInterface (" + _uri + ") not found in source: " + _source.toString());
    while (rs.hasNext()) {
      QuerySolution qs = rs.next();
      if (qs.contains("o")) _types.add(qs.get("o").toString());
    }
  }