0
我有結構化的這樣一些RDF數據:SPARQL搜索查詢
[ pref:ip_address "127.0.0.1" ;
pref:time "1459630844.482" ;
pref:url "https://google.com" ;
pref:user "johndoe"
] .
我需要查詢將返回所有結果匹配給定的IP,(從時間和結束時間之間)的時間框架,URL(甚至部分匹配)和用戶(甚至部分匹配)。
我現在擁有的是簡單的查詢來獲取成果的單個值,像這樣:
PREFIX pref: <http://something> SELECT DISTINCT * WHERE { ?u pref:user USER_VALUE . ?u ?p ?o . }
此方法返回給用戶的所有結果,但只有指定的用戶名是完全匹配。這意味着如果USER_VALUE是johndoe
,則它將返回johndoe
的所有結果,但如果它是john
,則返回所有結果。
我對SPARQL的知識非常有限,我很感激任何幫助。謝謝。
如果他在使用Jena,你也可以建議使用基於Lucene的內置文本搜索來提高性能:https://jena.apache.org/documentation/query/text-query.html – AKSW
好建議if數據足夠大。 – AndyS