Node的类型结构
?
Node的类型结构Node有五种子类型:Node_Blank,?Node_Anon,?Node_URI,?Node_Variable,?and?Node_ANY.(即:空白结点,匿名结点,URI结点,属性结点,ANY结点)。
Jena中一共有8个类来描述Node结点,其中Node是最上层的类,其余的结点类型都是继承自Node结点。集成结构如下图所示:

?
(1)Node:最顶层的结点类。
?属性:
ANY:Node_ANY类型,表示属于任意类型。
NULL:Node_NULL类型,表示空节点。
(以上两个属性都是static类型,所有类公有)
THRESHOLD:int类型,门限临界值(10000个)
label:Object类型,标示一个节点。
present:NodeCache类型(记录当前的节点信息?)
?
?
(2)Node_Concrete:表示本体中实际存在的节点。一共包含四种子类型:空白结点,数据结点,NULL结点,URI结点。
?
?
(3)Node_Blank:表示空白结点,如有标识没有URI的节点。(标识匿名结点,如下)|
??<rdf:Description?rdf:nodeID="A0">
????<vcard:Family>Smith</vcard:Family>
????<vcard:Given>John</vcard:Given>
??</rdf:Description>
?
?
(4)Node_Literal:数据类型的结点。Literal支持不同的数据类型(String?、int等)。数据的URI是根据其类型决定的。
?
(5)Node_NULL:用于辨别数据库中的真实结点数据。
?
(6)Node_URI:可以根据URI识别的RDF结点。
?
(7)Node_Fluid:用于推理阶段匹配的结点。包括ANY结点和Variable结点。
?
(8)Node_ANY:该节点表示任意类型的意思。例如一个规则中,如果对一个statement的属性没有要求,那么可以描述属性结点为ANY。
?
(9)Node_Variable:该节点表示变量结点,用于描述规则中的变量。(?X等)
?