org.eclipse.rdf4j.repository.RepositoryConnection.prepareBooleanQuery()方法的使用及代码示例

x33g5p2x  于2022-01-28 转载在 其他  
字(9.1k)|赞(0)|评价(0)|浏览(71)

本文整理了Java中org.eclipse.rdf4j.repository.RepositoryConnection.prepareBooleanQuery方法的一些代码示例,展示了RepositoryConnection.prepareBooleanQuery的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。RepositoryConnection.prepareBooleanQuery方法的具体详情如下:
包路径:org.eclipse.rdf4j.repository.RepositoryConnection
类名称:RepositoryConnection
方法名:prepareBooleanQuery

RepositoryConnection.prepareBooleanQuery介绍

[英]Prepares SPARQL queries that return true or false, that is, SPARQL ASK queries. In case the query contains relative URIs that need to be resolved against an external base URI, one should use #prepareBooleanQuery(QueryLanguage,String,String) instead.
[中]准备返回true或false的SPARQL查询,即SPARQL ASK查询。如果查询包含需要根据外部基URI解析的相对URI,则应使用#prepareBooleanQuery(QueryLanguage,String,String)。

代码示例

代码示例来源:origin: org.eclipse.rdf4j/rdf4j-client

/**
 * Prepares SPARQL queries that return <tt>true</tt> or <tt>false</tt>, that is, SPARQL ASK queries. In
 * case the query contains relative URIs that need to be resolved against an external base URI, one should
 * use {@link #prepareBooleanQuery(QueryLanguage, String, String)} instead.
 * 
 * @param query
 *        The query string, in SPARQL syntax.
 * @return a {@link BooleanQuery} ready to be evaluated on this {@link RepositoryConnection}.
 * @throws IllegalArgumentException
 *         If the supplied query is not a boolean query.
 * @throws MalformedQueryException
 *         If the supplied SPARQL query is malformed.
 * @see #prepareBooleanQuery(QueryLanguage, String)
 */
public default BooleanQuery prepareBooleanQuery(String query)
  throws RepositoryException, MalformedQueryException
{
  return prepareBooleanQuery(QueryLanguage.SPARQL, query);
}

代码示例来源:origin: eclipse/rdf4j

/**
 * Prepares SPARQL queries that return <tt>true</tt> or <tt>false</tt>, that is, SPARQL ASK queries. In
 * case the query contains relative URIs that need to be resolved against an external base URI, one should
 * use {@link #prepareBooleanQuery(QueryLanguage, String, String)} instead.
 * 
 * @param query
 *        The query string, in SPARQL syntax.
 * @return a {@link BooleanQuery} ready to be evaluated on this {@link RepositoryConnection}.
 * @throws IllegalArgumentException
 *         If the supplied query is not a boolean query.
 * @throws MalformedQueryException
 *         If the supplied SPARQL query is malformed.
 * @see #prepareBooleanQuery(QueryLanguage, String)
 */
public default BooleanQuery prepareBooleanQuery(String query)
  throws RepositoryException, MalformedQueryException
{
  return prepareBooleanQuery(QueryLanguage.SPARQL, query);
}

代码示例来源:origin: eclipse/rdf4j

@Override
public BooleanQuery prepareBooleanQuery(QueryLanguage ql, String query, String baseURI)
  throws MalformedQueryException, RepositoryException
{
  return getDelegate().prepareBooleanQuery(ql, query, baseURI);
}

代码示例来源:origin: org.eclipse.rdf4j/rdf4j-client

@Override
public BooleanQuery prepareBooleanQuery(QueryLanguage ql, String query, String baseURI)
  throws MalformedQueryException, RepositoryException
{
  return getDelegate().prepareBooleanQuery(ql, query, baseURI);
}

代码示例来源:origin: eclipse/rdf4j

/**
 * Evaluate the provided sparqlQueryString at the initialized {@link Repository} of this
 * {@link FederatedService}. Insert bindings, send ask query and return final result
 */
@Override
public boolean ask(Service service, BindingSet bindings, String baseUri)
  throws QueryEvaluationException
{
  try {
    String sparqlQueryString = service.getAskQueryString();
    BooleanQuery query = getConnection().prepareBooleanQuery(QueryLanguage.SPARQL, sparqlQueryString,
        baseUri);
    Iterator<Binding> bIter = bindings.iterator();
    while (bIter.hasNext()) {
      Binding b = bIter.next();
      if (service.getServiceVars().contains(b.getName()))
        query.setBinding(b.getName(), b.getValue());
    }
    return query.evaluate();
  }
  catch (MalformedQueryException e) {
    throw new QueryEvaluationException(e);
  }
  catch (RepositoryException e) {
    throw new QueryEvaluationException(
        "Repository for endpoint " + rep.toString() + " could not be initialized.", e);
  }
}

代码示例来源:origin: org.eclipse.rdf4j/rdf4j-repository-sparql

/**
 * Evaluate the provided sparqlQueryString at the initialized {@link Repository} of this
 * {@link FederatedService}. Insert bindings, send ask query and return final result
 */
@Override
public boolean ask(Service service, BindingSet bindings, String baseUri)
  throws QueryEvaluationException
{
  try {
    String sparqlQueryString = service.getAskQueryString();
    BooleanQuery query = getConnection().prepareBooleanQuery(QueryLanguage.SPARQL, sparqlQueryString,
        baseUri);
    Iterator<Binding> bIter = bindings.iterator();
    while (bIter.hasNext()) {
      Binding b = bIter.next();
      if (service.getServiceVars().contains(b.getName()))
        query.setBinding(b.getName(), b.getValue());
    }
    return query.evaluate();
  }
  catch (MalformedQueryException e) {
    throw new QueryEvaluationException(e);
  }
  catch (RepositoryException e) {
    throw new QueryEvaluationException(
        "Repository for endpoint " + rep.toString() + " could not be initialized.", e);
  }
}

代码示例来源:origin: org.eclipse.rdf4j/rdf4j-client

/**
 * Evaluate the provided sparqlQueryString at the initialized {@link Repository} of this
 * {@link FederatedService}. Insert bindings, send ask query and return final result
 */
@Override
public boolean ask(Service service, BindingSet bindings, String baseUri)
  throws QueryEvaluationException
{
  try {
    String sparqlQueryString = service.getAskQueryString();
    BooleanQuery query = getConnection().prepareBooleanQuery(QueryLanguage.SPARQL, sparqlQueryString,
        baseUri);
    Iterator<Binding> bIter = bindings.iterator();
    while (bIter.hasNext()) {
      Binding b = bIter.next();
      if (service.getServiceVars().contains(b.getName()))
        query.setBinding(b.getName(), b.getValue());
    }
    return query.evaluate();
  }
  catch (MalformedQueryException e) {
    throw new QueryEvaluationException(e);
  }
  catch (RepositoryException e) {
    throw new QueryEvaluationException(
        "Repository for endpoint " + rep.toString() + " could not be initialized.", e);
  }
}

代码示例来源:origin: franzinc/agraph-java-client

@Test
public void testSimpleBooleanQuery()
    throws Exception {
  testCon.add(alice, name, nameAlice, context2);
  testCon.add(alice, mbox, mboxAlice, context2);
  testCon.add(context2, publisher, nameAlice);
  testCon.add(bob, name, nameBob, context1);
  testCon.add(bob, mbox, mboxBob, context1);
  testCon.add(context1, publisher, nameBob);
  StringBuilder queryBuilder = new StringBuilder();
  queryBuilder.append("PREFIX foaf: <" + FOAF_NS + "> ");
  queryBuilder.append("ASK ");
  queryBuilder.append("{ ?p foaf:name ?name }");
  boolean exists = testCon.prepareBooleanQuery(QueryLanguage.SPARQL, queryBuilder.toString()).evaluate();
  assertTrue(exists);
}

代码示例来源:origin: joshsh/sesametools

private Boolean executeAskQuery(final URI endpoint, final String query) {
  
  final SPARQLRepository repo = new SPARQLRepository(endpoint.toString());
  try {
    repo.initialize();
    try (RepositoryConnection con = repo.getConnection()) {
      return con.prepareBooleanQuery(QueryLanguage.SPARQL, query).evaluate();
    } catch (Exception e) {
      Assert.fail(e.getMessage());
    }
  } catch (Exception e) {
    Assert.fail(e.getMessage());
  } finally {
    repo.shutDown();
  }
  return null;
}

代码示例来源:origin: franzinc/agraph-java-client

@Test
public void testPreparedBooleanQuery()
    throws Exception {
  testCon.add(alice, name, nameAlice, context2);
  testCon.add(alice, mbox, mboxAlice, context2);
  testCon.add(context2, publisher, nameAlice);
  testCon.add(bob, name, nameBob, context1);
  testCon.add(bob, mbox, mboxBob, context1);
  testCon.add(context1, publisher, nameBob);
  StringBuilder queryBuilder = new StringBuilder();
  queryBuilder.append("PREFIX foaf: <" + FOAF_NS + "> ");
  queryBuilder.append("ASK ");
  queryBuilder.append("{ ?p foaf:name ?name }");
  BooleanQuery query = testCon.prepareBooleanQuery(QueryLanguage.SPARQL, queryBuilder.toString());
  query.setBinding("name", nameBob);
  assertTrue(query.evaluate());
}

代码示例来源:origin: franzinc/agraph-java-client

@Test
@Category(TestSuites.Prepush.class)
public void updateViaBooleanQuery() throws Exception {
  IRI s = f.createIRI("http://example/book1");
  IRI p = f.createIRI("http://purl.org/dc/elements/1.1/title");
  Literal o_wrong = f.createLiteral("Fundamentals of Compiler Desing");
  Literal o_right = f.createLiteral("Fundamentals of Compiler Design");
  IRI g = f.createIRI("http://example/bookStore");
  con.add(s, p, o_wrong, g);
  // Perform a sequence of SPARQL UPDATE queries in one request to correct the title
  String queryString = "PREFIX dc: <http://purl.org/dc/elements/1.1/> \n"
      + "DELETE DATA { GRAPH <http://example/bookStore> { <http://example/book1>  dc:title  \"Fundamentals of Compiler Desing\" } } ; \n"
      + "\n"
      + "PREFIX dc: <http://purl.org/dc/elements/1.1/> \n"
      + "INSERT DATA { GRAPH <http://example/bookStore> { <http://example/book1>  dc:title  \"Fundamentals of Compiler Design\" } }";
  // SPARQL Update queries can also be executed using a BooleanQuery (for side effect)
  // Useful for older versions of Sesame that don't have a prepareUpdate method.
  con.prepareBooleanQuery(QueryLanguage.SPARQL, queryString).evaluate();
  Assert.assertTrue("Title should be correct", con.hasStatement(s, p, o_right, false, g));
  Assert.assertFalse("Incorrect title should be gone", con.hasStatement(s, p, o_wrong, false, g));
}

代码示例来源:origin: franzinc/agraph-java-client

queryBuilder.append("{ ?p foaf:name ?name }");
BooleanQuery query = testCon.prepareBooleanQuery(QueryLanguage.SPARQL, queryBuilder.toString());
query.setBinding("name", nameBob);
queryBuilder.append("{ GRAPH ?g { ?p foaf:name ?name } }");
query = testCon.prepareBooleanQuery(QueryLanguage.SPARQL, queryBuilder.toString());
query.setBinding("name", nameBob);

相关文章

微信公众号

最新文章

更多