Java 如何解析此文件并捕获所有';数据收集';文本?

Java 如何解析此文件并捕获所有';数据收集';文本?,java,rdf,jena,Java,Rdf,Jena,我只需要解析这一个文件,所以我不想学习和解析,因为我的时间不多了。 请帮助我用java解析此内容。 哪个有获取元素中文本所需的源代码 我试着用Jena API做这件事,但我发现很难理解 <?xml version="1.0" encoding="utf-8"?> <rdf:RDF xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:

我只需要解析这一个文件,所以我不想学习和解析,因为我的时间不多了。
请帮助我用java解析此内容。
哪个有获取元素中文本所需的源代码

我试着用Jena API做这件事,但我发现很难理解

<?xml version="1.0" encoding="utf-8"?>
<rdf:RDF
 xmlns:foaf="http://xmlns.com/foaf/0.1/"
 xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
 xmlns:dc="http://purl.org/dc/elements/1.1/"
 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
 xmlns:ns1="http://testing.com/seil/v1.3/app/subk#"
 xmlns:seil="http://www.testing.com/seil/1.3/seil#"
 >
 <foaf:Agent rdf:about="http://testing.com/seil/user_9876543210">
   <seil:hasAccessed>
 <seil:SeilApp rdf:about="http://testing.com/seil/v1.3/app/subk_app/">
       <rdfs:label rdf:resource="SubK (Python app)"/>
    </seil:SeilApp>
  </seil:hasAccessed>
   <seil:hasActivityNode>
    <rdf:Description rdf:about="http://testing.com/seil/node_114db2b2-beba-4816- a858-ee937d09b9a2">
    <seil:hasConnectedNode rdf:resource="http://testing.com/seil/node_41a897e6-2ff8-40b7-843e-f18ea4ec5100"/>
    <dc:date rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">2011-12-13T13:09:26</dc:date>
  </rdf:Description>
</seil:hasActivityNode>
  </foaf:Agent>
  <rdf:Description rdf:about="http://testing.com/seil/node_b54a07d3-af1b-49ef-9bf0-e28cf039f709">
  <seil:nodeType rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Recording</seil:nodeType>
  <seil:hasConnectedNode>
     <rdf:Description rdf:about="http://testing.com/seil/node_eb3d6c79-f833-4cbb-a107-d5464acd4c52">
    <seil:nodeType rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Play Audio</seil:nodeType>
    <seil:hasConnectedNode rdf:resource="http://testing.com/seil/node_0c594e8d-9ffb-4b4b-bbca-29b6217c1308"/>
    <seil:hasData rdf:datatype="http://www.w3.org/2001/XMLSchema#string">what-is-your-phone-number</seil:hasData>
  </rdf:Description>
   </seil:hasConnectedNode>
   <seil:hasData rdf:datatype="http://www.w3.org/2001/XMLSchema#string">7c2373d7-64f3-475f-a3d7-6fff8da3d8e5</seil:hasData>
 </rdf:Description>
  <rdf:Description rdf:about="http://testing.com/seil/node_02c7f438-cc29-445b-abc1-8a1cf56ad3c0">
   <seil:nodeType rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Play Audio</seil:nodeType>
   <seil:hasConnectedNode>
  <rdf:Description rdf:about="http://testing.com/seil/node_4c7fdae2-3d8d-46b8-a811-3da7cf545ed3">
      <seil:nodeType rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Recording</seil:nodeType>
       <seil:hasConnectedNode rdf:resource="http://testing.com/seil/node_0965d68d-f00b-47d9-8db9-ccb92c591cac"/>
       <seil:hasData rdf:datatype="http://www.w3.org/2001/XMLSchema#string">3ffbab13-fc21-4323-a6db-623112f3a983</seil:hasData>
     </rdf:Description>
    </seil:hasConnectedNode>
    <seil:hasData rdf:datatype="http://www.w3.org/2001/XMLSchema#string">what-is-your-mobile-number</seil:hasData>
  </rdf:Description>
   <rdf:Description rdf:about="http://testing.com/seil/node_03909ff1-5f0a-4519-a0e5-32825c4d12e3">
    <seil:nodeType rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Data Gather</seil:nodeType>
   <ns1:hasOptedForService rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Banking</ns1:hasOptedForService>
    <seil:hasConnectedNode>
      <rdf:Description rdf:about="http://testing.com/seil/node_099d578c-c8ec-4be6-9449-b0c9257bbac3">
    <seil:nodeType rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Play Audio</seil:nodeType>
    <seil:hasConnectedNode rdf:resource="http://testing.com/seil/node_fbb91c3c-ae03-41f7-a9ab-2877b81bdcdc"/>
    <seil:hasData rdf:datatype="http://www.w3.org/2001/XMLSchema#string">please-select-a-bank-you-prefer</seil:hasData>
     </rdf:Description>
    </seil:hasConnectedNode>
     <seil:hasData rdf:datatype="http://www.w3.org/2001/XMLSchema#string">1</seil:hasData>
   </rdf:Description>
    <rdf:Description rdf:about="http://testing.com/seil/node_0965d68d-f00b-47d9-8db9-ccb92c591cac">
  <seil:nodeType rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Play Audio</seil:nodeType>
   <seil:hasConnectedNode>
     <rdf:Description rdf:about="http://testing.com/seil/node_0f9b1079-1994-4e29-a48e-88efbd588808">
    <seil:nodeType rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Recording</seil:nodeType>
    <seil:hasConnectedNode rdf:resource="http://testing.com/seil/node_1f19b932-c1b1-42e7-bcff-0ce10937e292"/>
    <seil:hasData rdf:datatype="http://www.w3.org/2001/XMLSchema#string">589a1956-d530-4bc6-9e63-eaefc0b17d31</seil:hasData>
  </rdf:Description>
   </seil:hasConnectedNode>
    <seil:hasData rdf:datatype="http://www.w3.org/2001/XMLSchema#string">what-is-your-village-name</seil:hasData>
    </rdf:Description>
      <rdf:Description rdf:about="http://testing.com/seil/node_383c65b1-9ca7-4917-8c1f-9ef85c99ef05">
     <seil:nodeType rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Recording</seil:nodeType>
      <seil:hasConnectedNode>
       <rdf:Description rdf:about="http://testing.com/seil/node_9884cb69-a678-4306-a7ad-564feb2659d4">
        <seil:nodeType rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Play Audio</seil:nodeType>
         <seil:hasConnectedNode rdf:resource="http://testing.com/seil/node_104f532a-066b-452c-9344-359e795513c7"/>
        <seil:hasData rdf:datatype="http://www.w3.org/2001/XMLSchema#string">what-is-your-father-name</seil:hasData>
       </rdf:Description>
    </seil:hasConnectedNode>
       <seil:hasData rdf:datatype="http://www.w3.org/2001/XMLSchema#string">b57a4a21-2a67-447f-9611-c4c25925c5b6</seil:hasData>
   </rdf:Description>
     <rdf:Description rdf:about="http://testing.com/seil/node_0c594e8d-9ffb-4b4b-bbca-29b6217c1308">
    <seil:nodeType rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Recording</seil:nodeType>
      <seil:hasConnectedNode rdf:resource="http://testing.com/seil/node_02c7f438-cc29-445b-abc1-8a1cf56ad3c0"/>
      <seil:hasData rdf:datatype="http://www.w3.org/2001/XMLSchema#string">58f62598-2467-4f05-a5b1-e796dce4693f</seil:hasData>
    </rdf:Description>
    <rdf:Description rdf:about="http://testing.com/seil/node_5975e051-088c-46d  6-8281-43236ae15f4d">
     <seil:nodeType rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Data Gather</seil:nodeType>
    <seil:hasConnectedNode>
    <rdf:Description rdf:about="http://testing.com/seil/node_fe40d751-284e-45c0-a9af-c50cc85a5d8a">
      <seil:nodeType rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Play Audio</seil:nodeType>
    <seil:hasConnectedNode rdf:resource="http://testing.com/seil/node_383c65b1-9ca7-4917-8c1f-9ef85c99ef05"/>
    <seil:hasData rdf:datatype="http://www.w3.org/2001/XMLSchema#string">what-is-your-name</seil:hasData>
      </rdf:Description>
     </seil:hasConnectedNode>
         <dc:language rdf:datatype="http://www.w3.org/2001/XMLSchema#string">English</dc:language>
           <seil:hasData rdf:datatype="http://www.w3.org/2001/XMLSchema#string">1</seil:hasData>
          </rdf:Description>
          <rdf:Description rdf:about="http://testing.com/seil/node_494f41b0-d4b9-4d60-adf6-40801e689068">
            <seil:nodeType rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Play Audio</seil:nodeType>
          <seil:hasConnectedNode rdf:resource="http://testing.com/seil/node_b54a07d3-af1b-49ef-9bf0-e28cf039f709"/>
             <seil:hasData rdf:datatype="http://www.w3.org/2001/XMLSchema#string">what-is-your-age</seil:hasData>
            </rdf:Description>
            <rdf:Description rdf:about="http://testing.com/seil/node_41a897e6-2ff8-40b7-843e-f18ea4ec5100">
          <seil:nodeType rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Play Audio</seil:nodeType>
            <seil:hasConnectedNode rdf:resource="http://testing.com/seil/node_5975e051-088c-46d6-8281-43236ae15f4d"/>
               <seil:hasData rdf:datatype="http://www.w3.org/2001/XMLSchema#string">what-language-do-you-prefer</seil:hasData>
         </rdf:Description>
           <rdf:Description rdf:about="http://testing.com/seil/node_1f19b932-c1b1-42e7-bcff-0ce10937e292">
           <seil:nodeType rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Play Audio</seil:nodeType>
         <seil:hasConnectedNode rdf:resource="http://testing.com/seil/node_03909ff1-5f0a-4519-a0e5-32825c4d12e3"/>
            <seil:hasData rdf:datatype="http://www.w3.org/2001/XMLSchema#string">kindly-select-services-you-would-prefer</seil:hasData>
          </rdf:Description>
           <rdf:Description rdf:about="http://testing.com/seil/node_b04f5537-e509-42e0-b0a8-b8982280494e">
            <seil:nodeType rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Data Gather</seil:nodeType>
        <ns1:hasOptedForService rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Fund transfer</ns1:hasOptedForService>
        <seil:hasData rdf:datatype="http://www.w3.org/2001/XMLSchema#string">2</seil:hasData>
     </rdf:Description>
       <rdf:Description rdf:about="http://testing.com/seil/node_768d0f0d-d8dc-44b3-87c5-64ace8314a3e">
    <seil:nodeType rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Play Audio</seil:nodeType>
       <seil:hasConnectedNode rdf:resource="http://testing.com/seil/node_b04f5537-e509-42e0-b0a8-b8982280494e"/>
        <seil:hasData rdf:datatype="http://www.w3.org/2001/XMLSchema#string">please-select-a-banking-service-you-want</seil:hasData>
  </rdf:Description>
   <rdf:Description rdf:about="http://testing.com/seil/node_fbb91c3c-ae03-41f7-a9ab-2877b81bdcdc">
      <seil:nodeType rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Data Gather</seil:nodeType>
     <ns1:hasPreferredBank rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Yes Bank</ns1:hasPreferredBank>
        <seil:hasConnectedNode rdf:resource="http://testing.com/seil/node_768d0f0d-d8dc-44b3-87c5-64ace8314a3e"/>
      <seil:hasData rdf:datatype="http://www.w3.org/2001/XMLSchema#string">5</seil:hasData>
     </rdf:Description>
     <rdf:Description rdf:about="http://testing.com/seil/node_104f532a-066b-452c-9344-359e795513c7">
        <seil:nodeType rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Recording</seil:nodeType>
         <seil:hasConnectedNode rdf:resource="http://testing.com/seil/node_494f41b0-d4b9-4d60-adf6-40801e689068"/>
        <seil:hasData rdf:datatype="http://www.w3.org/2001/XMLSchema#string">e513b4c8-f98d-4349-8d03-3bd332cf0f53</seil:hasData>
      </rdf:Description>
   </rdf:RDF>    

2011-12-13T13:09:26
记录
播放音频
你的电话号码是多少
7c2373d7-64f3-475f-a3d7-6fff8da3d8e5
播放音频
记录
3ffbab13-fc21-4323-a6db-623112f3a983
你的手机号码是多少
数据收集
银行业务
播放音频
请选择你喜欢的银行
1.
播放音频
记录
589a1956-d530-4bc6-9e63-eaefc0b17d31
你的村庄叫什么名字
记录
播放音频
你父亲叫什么名字
b57a4a21-2a67-447f-9611-c4c25925c5b6
记录
58f62598-2467-4f05-a5b1-e796dce4693f
数据收集
播放音频
你叫什么名字
英语
1.
播放音频
你几岁
播放音频
你喜欢哪种语言
播放音频
请选择您喜欢的服务
数据收集
资金转移
2.
播放音频
请选择您想要的银行服务
数据收集
是的,银行
5.
记录
e513b4c8-f98d-4349-8d03-3BD332CF033

假设您的文件存储在当前目录的
src/main/resources/seil.rdf
中(您可以将其放在您喜欢的地方;我尽可能使用maven模式)。首先创建Jena模型:

Model m = ModelFactory.createDefaultModel();
然后将文件加载到模型中:

FileManager.get().readModel( m, "src/main/resources/seil.rdf" );
现在为您的
hasData
属性创建一个
Property
对象:

String seilNS = "http://www.testing.com/seil/1.3/seil#";
Property hasData = m.getProperty( seilNS + "hasData" );
最后,迭代使用任何主语、任何宾语和
hasData
作为谓词的语句:

for (Iterator<Statement> i = m.listStatements( null, hasData, (RDFNode) null ); i.hasNext(); ) {
    Statement s = i.next();
    System.out.println( String.format( "%s has-data %s", s.getSubject().getURI(), s.getLiteral().getLexicalForm() ));
}

还有很多其他方法可以做到这一点。建议您阅读,然后根据需要提出后续问题。我也同意RobV的观点:如果这对你的教育课程有用,你应该提前说出来。教授们也可以阅读StackOverflow

您是否尝试过使用?@user1095508这不是一个特别明确的问题,您提到您尝试过使用Jena API,并表示遇到了困难,但没有显示您尝试过使用Jena API的内容。要使用RDF,您通常需要使用像Jena或Sesame(在Java世界中)这样的API,以一种通用的可重用方式来完成。您可以使用XPath/XSLT编写一些骇人的东西来解决您的精确问题,但只有当您得到的RDF/XML格式完全符合您的期望时,它才会起作用。此外,您说
我的时间不多了
这一事实意味着这是家庭作业/课程作业。如果这个问题属于这一类,可以将其张贴出来,但你应该将其标记为家庭作业,并在问题中说明。
http://testing.com/seil/node_41a897e6-2ff8-40b7-843e-f18ea4ec5100 has-data what-language-do-you-prefer
http://testing.com/seil/node_fe40d751-284e-45c0-a9af-c50cc85a5d8a has-data what-is-your-name
http://testing.com/seil/node_0f9b1079-1994-4e29-a48e-88efbd588808 has-data 589a1956-d530-4bc6-9e63-eaefc0b17d31
http://testing.com/seil/node_4c7fdae2-3d8d-46b8-a811-3da7cf545ed3 has-data 3ffbab13-fc21-4323-a6db-623112f3a983
http://testing.com/seil/node_768d0f0d-d8dc-44b3-87c5-64ace8314a3e has-data please-select-a-banking-service-you-want
http://testing.com/seil/node_383c65b1-9ca7-4917-8c1f-9ef85c99ef05 has-data b57a4a21-2a67-447f-9611-c4c25925c5b6
http://testing.com/seil/node_03909ff1-5f0a-4519-a0e5-32825c4d12e3 has-data 1
http://testing.com/seil/node_0c594e8d-9ffb-4b4b-bbca-29b6217c1308 has-data 58f62598-2467-4f05-a5b1-e796dce4693f
http://testing.com/seil/node_099d578c-c8ec-4be6-9449-b0c9257bbac3 has-data please-select-a-bank-you-prefer
...