我的應用程序需要匹配正確的單詞,即說C或C++與SPARQL。我有以下SPARQL查詢如何通過SPARQL匹配一個確切的單詞
String prolog = "PREFIX kb: <" + VBOOK.getURI() + ">";
String queryString = prolog
+ "\n"
+ "SELECT * "
+ "WHERE {?x kb:Price ?price. ?x kb:Currency ?currency. ?x kb:Title ?title. ?x kb:Count ?count. "
+ "OPTIONAL {?x kb:Description ?description}."
+ "FILTER regex(?title, \"" +title + "\")}";
這符合我所有的書甚至是C++,C#和書籍就像在嵌入式系統-Real概念(因爲這個詞「概念」有「C」的)。
,如果我最後一行改爲
+ "FILTER regex(?title, \"" +"^"+title + "\")}";
,如果標題是例如「C」,那麼我的查詢只有那些書的題目開始字母「C'.So書如」在ANSI編程匹配C'未被選擇。
我也試圖在最後一行
+ "FILTER regex(str(?title), \"" +title + "\")}";
即使這並沒有幫助我很多下面的變化。
即使書名不以C開頭,我該如何修改以獲取與「C」有關的圖書?
Regards, Archana。
重複的在http://www.semanticoverflow.com/questions/3750/how-to-match-an-exact-word-through-sparql – RobV 2011-03-22 09:42:01