为何解析RDF/XML后会出现含rdf:type谓词的三元组?对应映射位置是哪?
关于RDF/XML解析出rdf:type三元组的疑问解答
你提供的RDF/XML代码如下:
<?xml version="1.0" ?> <rdf:RDF xmlns:ex="http://www.example#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xml:base="http://www.test#"> <ex:cat rdf:ID="_101"> <ex:name>Milk</ex:name> </ex:cat> <ex:dog rdf:ID="_2001"> <ex:name>Lub</ex:name> </ex:dog> </rdf:RDF>
经解析得到的三元组:
Number Subject Predicate Object 1 http://www.test#_101 rdf:type ex:cat 2 http://www.test#_101 ex:name "Milk" 3 http://www.test#_2001 rdf:type ex:dog 4 http://www.test#_2001 ex:name "Lub"
为何会出现rdf:type谓词的三元组?
这是RDF/XML的缩写语法特性导致的。RDF/XML提供了语法糖简化书写,当你用<ex:cat>这类带命名空间的元素标签定义资源时,解析器会自动将该标签识别为对应资源的类型,生成以rdf:type为谓词的三元组。
这些三元组对应RDF/XML中的哪些部分?
- 三元组
http://www.test#_101 rdf:type ex:cat对应代码里的<ex:cat rdf:ID="_101">元素的标签ex:cat - 三元组
http://www.test#_2001 rdf:type ex:dog对应代码里的<ex:dog rdf:ID="_2001">元素的标签ex:dog
这种写法等价于显式声明类型的完整写法,比如:
<rdf:Description rdf:ID="_101"> <rdf:type rdf:resource="http://www.example#cat"/> <ex:name>Milk</ex:name> </rdf:Description>
解析器会自动把缩写形式展开为标准的三元组结构。
内容的提问来源于stack exchange,提问作者user20297975
相关产品推荐
相关产品推荐

