【问题标题】:Convert user query to SPARQL Query将用户查询转换为 SPARQL 查询
【发布时间】:2013-01-28 14:28:28
【问题描述】:

我正在为我的课堂项目构建一个电影本体。我的问题是如何将用户输入的查询(通过提供的网页)集成到 SPARQL 查询并通过本体从数据库中获取答案列表。

我有一些将本体映射到我的数据库的知识。请为此提供解决方案。 提前致谢。 (我正在使用 Protege 和 onpro 插件进行映射)

谢谢

【问题讨论】:

    标签: sparql


    【解决方案1】:

    如果您的意思是将用户查询转换为机器可理解的查询,这不是一件容易的事。这是问答 (QA) 领域的一个问题,需要复杂的工作。

    构建问答系统的三个步骤包括问题分析、文档(数据库)分析和答案提取。这三个中的每一个也包含不同的任务。例如,问题分析包括特征选择和提取、构建分类器并对其进行评估以获得预期答案类型 (EAT)。

    但是,如果您的查询具有静态格式,那么您可以要求用户以该格式提出他们的查询,然后您就可以更轻松地将用户查询与 SPARQL 查询进行匹配并获得答案。 就个人而言,我认为你应该从使用 SPARQL 查询开始,或者使用基于关键字的界面而不是基于文本的界面,如果你想让你的工作变得简单,因为这种方法适用于小型项目。

    【讨论】:

      【解决方案2】:

      用户查询是什么意思?文本搜索?多面搜索?混合物?别的东西?对我来说,这不是很清楚,稍微详细一点会有助于理解。

      另外一个例子实际上是理想的。如果可能的话,就像“用户查询”和“sparql 等价物”。

      【讨论】:

      • 抱歉误导。用户查询实际上是文本搜索。假设用户输入“史蒂文斯皮尔伯格执导的电影”。所以等效的 SPARQL 查询将是这样的。选择 ?title ?link WHERE { ?film rdf:type movie:film ; foaf:页面?链接;直流:标题?标题;电影:导演?导演。 ?导演电影:director_name ?nameDirector。 FILTER ( REGEX(?nameDirector, "Steven Spielberg","i") && REGEX(STR(?link), "^imdb.com/title", "i") ) }ORDER BY ?title 所以我想将文本搜索转换为SPARQL 查询以从我的本体中获取结果。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-07-29
      • 2021-05-24
      • 2014-08-14
      • 2018-11-01
      • 2015-10-10
      • 2016-10-23
      • 2018-12-08
      相关资源
      最近更新 更多