首页 文章

如何使用SPARQL查询RDF增强有效搜索?

提问于
浏览
1

我的项目是关于让用户输入查询,并向用户显示最佳结果 . 这是我的RDF文件

<?xml version="1.0"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:foaf="http://www.xmlns.com/foaf/0.1">

    <rdf:Description>
    <foaf:name>interview</foaf:name>
    <foaf:url>urlname1</foaf:url>
    </rdf:Description>

    <rdf:Description>
    <foaf:name>technical</foaf:name>
    <foaf:url>urlname2</foaf:url>
    </rdf:Description>  </rdf:RDF>

现在,如果用户输入“技术问题”,我编码的方式是在数组中采用“技术”和“问题”并动态生成SPARQL查询,以便我的查询看起来像

String queryString =“PREFIX rdf:http://www.w3.org/1999/02/22-rdf-syntax-ns#”“PREFIX foaf:http://www.xmlns.com/foaf/0.1”“ SELECT?url WHERE {?foaf:name?name FILTER regex(?name,'“values [i]”')?a foaf:url?url . }“;

这里的值[i]是为“技术”和“问题”定义的数组 . 所以这给了我一个输出


|网址|

| “urlname2” |

当用户输入“面试问题”时,结果将是-------------
|网址|

| “urlname1” |

但是如果用户输入“技术面试问题”,那么它就像o / p一样


|网址|

| “urlname2” |


|网址|

| “urlname1” |

但我应该得到的o / p只是第一个给我网址准备技术问题的表(urlname2) . 你能告诉我如何改变我的查询/ RDF格式以获得所需的o / p吗?谢谢

1 回答

  • 2

    数据并不意味着您的想法 .

    你有一个对象,有两个不同的foaf:名字 .

    尝试将RDF / XML转换为Turtle或NTriples以更清晰地查看数据RDF / XML非常混乱 .

相关问题