Like Condition 使用 Spark 查询得到 rdfs:label
Like Condition to get rdfs:label using Spark query
我正在使用此查询在使用 jena 和 spark 的 ontology 中获取特定的 class。
final String queryString = "" +
"prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>\n" +
"\n" +
"select ?class where {\n" +
" ?class rdfs:label \""+ word +"\"\n" +
"}\n" +
"";
ResultSet results = QueryExecutionFactory.create( queryString, model).execSelect();
我应该如何更改查询以获取 classes 这个词是他们标签的一部分?
实际上我在 spark 中需要类似 "sql Like statement" 的东西。
谢谢你帮助我!
它不是 Spark,它是 Sparql,用于 apache spark 头 here。您正在寻找的是 String 函数。您可能正在寻找 regex() 函数。但是除了最琐碎的查询之外,其他任何事情都会花费很多时间,实际上建议不要在任何数据库系统中使用 like。您的 SPARQL 字符串应该类似于:
final String queryString =
"PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> " +
"SELECT ?s ?label ?contains"
"WHERE {" +
" ?s rdfs:label ?label ." +
" BIND(CONTAINS(?label,\""+ variableToFind +"\") AS ?contains)"
"}";
此外,您不是在搜索 class 您正在寻找的主题可以是 URI、BN、文字。
经过更多搜索,我找到了正确的查询
String Quert ="PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>"
+ " SELECT ?x WHERE { ?x rdfs:label ?v ." +
"FILTER regex(?v, \"word\", \"i\")}" ;
我正在使用此查询在使用 jena 和 spark 的 ontology 中获取特定的 class。
final String queryString = "" +
"prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>\n" +
"\n" +
"select ?class where {\n" +
" ?class rdfs:label \""+ word +"\"\n" +
"}\n" +
"";
ResultSet results = QueryExecutionFactory.create( queryString, model).execSelect();
我应该如何更改查询以获取 classes 这个词是他们标签的一部分? 实际上我在 spark 中需要类似 "sql Like statement" 的东西。 谢谢你帮助我!
它不是 Spark,它是 Sparql,用于 apache spark 头 here。您正在寻找的是 String 函数。您可能正在寻找 regex() 函数。但是除了最琐碎的查询之外,其他任何事情都会花费很多时间,实际上建议不要在任何数据库系统中使用 like。您的 SPARQL 字符串应该类似于:
final String queryString =
"PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> " +
"SELECT ?s ?label ?contains"
"WHERE {" +
" ?s rdfs:label ?label ." +
" BIND(CONTAINS(?label,\""+ variableToFind +"\") AS ?contains)"
"}";
此外,您不是在搜索 class 您正在寻找的主题可以是 URI、BN、文字。
经过更多搜索,我找到了正确的查询
String Quert ="PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>"
+ " SELECT ?x WHERE { ?x rdfs:label ?v ." +
"FILTER regex(?v, \"word\", \"i\")}" ;