Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何检索RDF属性_Java_Jena_Authorize.net Cim - Fatal编程技术网

Java 如何检索RDF属性

Java 如何检索RDF属性,java,jena,authorize.net-cim,Java,Jena,Authorize.net Cim,我在RDF/XML中有这段信息 <rdf:RDF xmlns:cim="http://iec.ch/TC57/2012/CIM-schema-cim16#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <cim:SynchronousMachineTimeConstantReactance rdf:ID="_54302da0-b02c-11e3-af35-080027008896"> <ci

我在RDF/XML中有这段信息

<rdf:RDF xmlns:cim="http://iec.ch/TC57/2012/CIM-schema-cim16#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
 <cim:SynchronousMachineTimeConstantReactance rdf:ID="_54302da0-b02c-11e3-af35-080027008896">
  <cim:IdentifiedObject.aliasName>GENCLS_DYN</cim:IdentifiedObject.aliasName>
  <cim:IdentifiedObject.name>RoundRotor Dynamics</cim:IdentifiedObject.name>
  <cim:SynchronousMachineTimeConstantReactance.tpdo>0.30000001192092896</cim:SynchronousMachineTimeConstantReactance.tpdo>
  <cim:SynchronousMachineTimeConstantReactance.tppdo>0.15000000596046448</cim:SynchronousMachineTimeConstantReactance.tppdo>

金斯丁
转子动力学
0.30000001192092896
0.15000000596046448
我已经学会了一点如何阅读文件,但现在我想走得更远。我正在“玩”API函数,试图获取值,但我迷路了(我想我不太理解JENA和RDF是如何工作的)。那么,如何获取每个标记的值呢

你好

我将从文档开始,然后阅读。理解RDF的一个重要步骤是将XML的任何概念与您对RDF的理解分开。RDF是一个图形数据模型,它恰好有一个XML序列化

您将注意到,特定于xml的语言(如“标记”)实际上根本不会出现在讨论中,除非您讨论如何序列化/反序列化RDF/xml

为了让你所看到的数据更人性化,我建议你把它写在你的电脑里。TURTLE(或TTL)是RDF的另一个序列化,它更易于读写

下面的代码将用TURTLE表示您的数据,这将有助于理解您看到的内容

final InputStream yourInputFile=。。。;
最终模型=ModelFactory.createDefaultModel();
read(您的输入文件,“RDF/XML”);
model.write(System.out,null,“海龟”);
您还希望在提交主题领域的问题时提供最少的工作示例。例如,为了使数据成为有效的XML,我必须向数据中添加一些缺失的结束标记:


金斯丁
转子动力学
0.30000001192092896
0.15000000596046448
它变成了下面的海龟:

<file:///R:/workspaces/create/git-svn/create-sparql/RDF/XML#_54302da0-b02c-11e3-af35-080027008896>
        a                               cim:SynchronousMachineTimeConstantReactance ;
        cim:IdentifiedObject.aliasName  "GENCLS_DYN" ;
        cim:IdentifiedObject.name       "RoundRotor Dynamics" ;
        cim:SynchronousMachineTimeConstantReactance.tpdo "0.30000001192092896" ;
        cim:SynchronousMachineTimeConstantReactance.tppdo "0.15000000596046448" .
产生:

[file:///R:/workspaces/create/git-svn/create sparql/RDF/XML#u 54302da0-b02c-11e3-af35-080027008896,http://iec.ch/TC57/2012/CIM-schema-cim16#SynchronousMachineTimeConstantReactance.tppdo, "0.15000000596046448"]
[file:///R:/workspaces/create/git-svn/create sparql/RDF/XML#u 54302da0-b02c-11e3-af35-080027008896,http://iec.ch/TC57/2012/CIM-schema-cim16#SynchronousMachineTimeConstantReactance.tpdo, "0.30000001192092896"]
[file:///R:/workspaces/create/git-svn/create sparql/RDF/XML#u 54302da0-b02c-11e3-af35-080027008896,http://iec.ch/TC57/2012/CIM-schema-cim16#IdentifiedObject.name,“圆形转子动力学”]
[file:///R:/workspaces/create/git-svn/create sparql/RDF/XML#u 54302da0-b02c-11e3-af35-080027008896,http://iec.ch/TC57/2012/CIM-schema-cim16#IdentifiedObject.aliasName,“GENCLS_DYN”]
[file:///R:/workspaces/create/git-svn/create sparql/RDF/XML#u 54302da0-b02c-11e3-af35-080027008896,http://www.w3.org/1999/02/22-rdf-syntax-ns#type, http://iec.ch/TC57/2012/CIM-schema-cim16#SynchronousMachineTimeConstantReactance]

这就产生了:

感谢Rob的回复,很抱歉没有提供一个完整的好例子。这是一个更大文件的一部分,该文件包含CIM中完整的SMIB定义。感谢@RobHall的解释。我给了我一个很好的起点,不用担心。学习如何更好地参与社区需要一点时间:)
final Resource s = model.getResource("file:///R:/workspaces/create/git-svn/create-sparql/RDF/XML#_54302da0-b02c-11e3-af35-080027008896");
final ExtendedIterator<Statement> properties = s.listProperties();
while( properties.hasNext() ) {
    System.out.println(properties.next());
}