查询XML文件

时间:2017-09-23 12:00:09

标签: xml xquery

我有一个XML文件,其中包含person的详细信息。我想查询这个文件来获取特定人的所有细节,即我想获取该特定人的所有属性,如年龄,地点,组织,朋友等。

例如。如果我查询Annaji,我将获得作为ABC的作品,属于Chennai,年龄为23岁,和Shubham的朋友。此外,如果我查询Shubham,我得到他所有的细节,如作品,地方以及他是Annaji的朋友。 这是我的XML文件:

<text>
<s>
<coref set-id="set_0">
<w pos="nnp">Annaji</w>
</coref>
<w pos="vbz">works</w>
<w pos="in">for</w>
<w pos="nnp">ABC</w>
<w pos=".">.</w>
</s><s>
<coref set-id="set_0">
<w pos="prp">He</w>
</coref>
<w pos="vbz">belongs</w>
<w pos="to">to</w>
<coref set-id="set_0">
<w pos="nnp">Chennai</w>
</coref>
<w pos=".">.</w>
</s><s>
<coref set-id="set_0">
<w pos="nnp">Annaji</w>
</coref>
<w pos="vbz">is</w>
<w pos="cd">23</w>
<w pos="nns">years</w>
<w pos="jj">old</w>
<w pos=".">.</w>
</s><s>
<coref set-id="set_0">
<w pos="prp">He</w>
</coref>
<w pos="vbz">is</w>
<coref set-id="set_0">
<w pos="dt">a</w>
<w pos="nn">friend</w>
</coref>
<w pos="in">of</w>
<coref set-id="set_0">
<w pos="nnp">Shubham</w>
</coref>
<w pos=".">.</w>
</s><s>
<coref set-id="set_0">
<w pos="nnp">Shubham</w>
</coref>
<w pos="vbz">works</w>
<w pos="in">for</w>
<w pos="nnp">XYZ.</w>
</s><s>
<coref set-id="set_0">
<w pos="prp">He</w>
</coref>
<w pos="vbz">is</w>
<w pos="in">from</w>
<w pos="nnp">Bihar</w>
<w pos=".">.</w>
</s>
</text>

请告诉我是否有可用于此目的的查询语言或库。 如果存在查询语言,查询应该是什么?

1 个答案:

答案 0 :(得分:1)

您的XML源看起来像自由文本,标记有反映句子英语语法的标签。例如,你有这样一句话:

<s>
<coref set-id="set_0">
<w pos="nnp">Annaji</w>
</coref>
<w pos="vbz">is</w>
<w pos="cd">23</w>
<w pos="nns">years</w>
<w pos="jj">old</w>
<w pos=".">.</w>
</s> 

回答一个问题,比如“Annaji多大了?”从这个输入不仅仅是XML或XQuery问题,它是自然语言分析和解释中的一个问题。 (在“他是Shubham的朋友”一句中,你需要找出“他”所指的人,例如)。

XQuery将帮助您找到具有特定属性或内容的元素,但是用于将代词与其对象匹配的算法不是我们可以完全从XML / XQuery角度帮助您的。

相关问题