在 ANSI SQL 中,您可以编写类似以下的语句:
SELECT * FROM DBTable WHERE Description LIKE 'MEET'
或者也可以这样:
SELECT * FROM DBTable WHERE Description LIKE '%MEET%'
我需要帮助写出与上面相当的SPARQL语句。
在 ANSI SQL 中,您可以编写类似以下的语句:
SELECT * FROM DBTable WHERE Description LIKE 'MEET'
或者也可以这样:
SELECT * FROM DBTable WHERE Description LIKE '%MEET%'
我需要帮助写出与上面相当的SPARQL语句。
使用正则表达式过滤器。你可以在这里找到一个简短的教程。
这是它的样子:
PREFIX ns: <http://example.com/namespace>
SELECT ?x
WHERE
{ ?x ns:SomePredicate ?y .
FILTER regex(?y, "YOUR_REGEX", "i") }
YOUR_REGEX
必须是 XQuery 正则表达式语言 的表达式。
i
是一个可选的 标志。它表示匹配时不区分大小写。
PREFIX ns: <http://example.com/namespace>
SELECT ?x
WHERE
{ ?x ns:SomePredicate "YourString" }
"YourString"
与"YourString"@en
不被视为同一术语,因此如果可能会产生问题,请使用Tom建议的REGEX
方法。此外,一些SPARQL引擎提供了全文搜索扩展,允许您将类似于Lucene的查询集成到您的SPARQL查询中,这可能更适合您的用例,并且几乎肯定比通用搜索更有效,否则需要使用REGEX
。