2017-09-23 109 views
0

我有一個XML文件,其中包含人員的詳細信息。我想查詢此文件以獲取特定人員的所有詳細信息,即我想獲取特定人員的所有屬性,如年齡,地點,組織,朋友等。查詢XML文件

例如,如果我查詢安娜吉,我會得到作爲ABC的作品,屬於欽奈,年齡爲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> 

請告訴我,如果有任何的查詢語言或圖書館,我可以用於此目的。 如果存在查詢語言,該查詢應該是什麼?

+0

請將您的代碼,無論您嘗試過,而不是要求直接的解決方案。 –

+0

@NavinRawat感謝您的回覆。我試圖用'beautifulsoup'在'Python'中完成它,但實際上並沒有成功。我搜索了一下,發現它也可以用'XQuery'完成。這就是爲什麼我沒有發佈任何代碼。 –

+0

到目前爲止,您在XQuery中嘗試了哪些內容? – adamretter

回答

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> 

回答一個查詢,如「安娜吉多大?」從這個輸入不僅僅是一個XML或XQuery問題,它是自然語言分析和解釋中的一個問題。 (在「他是Shubham的朋友」的句子中,例如,你需要計算出「他」是指什麼人)。

XQuery將幫助您找到具有特定屬性或內容的元素,但是將代詞與其指示對應起來的算法不是我們可以完全從XML/XQuery角度爲您提供幫助的。