使用 SPARQL 提取属性值
Extract attributes values with SPARQL
我想使用 SPARQL 获取具有以下资源的主题 rdf:value
:http://purl.org/dc/terms/LCSH
<dcterms:subject>
<rdf:Description rdf:nodeID="N4192a7fb1dd6438c94649f7afd192f09">
<rdf:value>United States. Declaration of Independence</rdf:value>
<dcam:memberOf rdf:resource="http://purl.org/dc/terms/LCSH"/>
</rdf:Description>
</dcterms:subject>
<dcterms:subject>
<rdf:Description rdf:nodeID="N887b24b564624253b374ee7c95f0ed51">
<rdf:value>United States -- History -- Revolution, 1775-1783 -- Sources</rdf:value>
<dcam:memberOf rdf:resource="http://purl.org/dc/terms/LCSH"/>
</rdf:Description>
</dcterms:subject>
<dcterms:subject>
<rdf:Description rdf:nodeID="N1b3ed5adb91b4b0c8aa1215180fdfa96">
<rdf:value>JK</rdf:value>
<dcam:memberOf rdf:resource="http://purl.org/dc/terms/LCC"/>
</rdf:Description>
</dcterms:subject>
<dcterms:subject>
<rdf:Description rdf:nodeID="Nc5deb6e74cc6462fbeeb8c1871983f09">
<dcam:memberOf rdf:resource="http://purl.org/dc/terms/LCC"/>
<rdf:value>KF</rdf:value>
</rdf:Description>
</dcterms:subject>
有没有办法提取 rdf:resource
并用它来过滤主题?
rdf/xml 片段不完整,因此我们无法编写完美的查询,但您需要这样的内容:
select ?value {
?x dcterms:subject ?subject .
?subject rdf:value ?value .
?subject dcam:memberOf <http://purl.org/dc/terms/LCSH> .
}
如果你想让它更短一些,你可以这样做:
select ?value {
?x dcterms:subject [
rdf:value ?value ;
dcam:memberOf <http://purl.org/dc/terms/LCSH> ]
}
如果您真的只关心具有 rdf:value 属性并且是 LCSH 成员的事物,您可以完全跳过第一个三元组:
select ?value {
?x rdf:value ?value ;
dcam:memberOf <http://purl.org/dc/terms/LCSH>
}
我想使用 SPARQL 获取具有以下资源的主题 rdf:value
:http://purl.org/dc/terms/LCSH
<dcterms:subject>
<rdf:Description rdf:nodeID="N4192a7fb1dd6438c94649f7afd192f09">
<rdf:value>United States. Declaration of Independence</rdf:value>
<dcam:memberOf rdf:resource="http://purl.org/dc/terms/LCSH"/>
</rdf:Description>
</dcterms:subject>
<dcterms:subject>
<rdf:Description rdf:nodeID="N887b24b564624253b374ee7c95f0ed51">
<rdf:value>United States -- History -- Revolution, 1775-1783 -- Sources</rdf:value>
<dcam:memberOf rdf:resource="http://purl.org/dc/terms/LCSH"/>
</rdf:Description>
</dcterms:subject>
<dcterms:subject>
<rdf:Description rdf:nodeID="N1b3ed5adb91b4b0c8aa1215180fdfa96">
<rdf:value>JK</rdf:value>
<dcam:memberOf rdf:resource="http://purl.org/dc/terms/LCC"/>
</rdf:Description>
</dcterms:subject>
<dcterms:subject>
<rdf:Description rdf:nodeID="Nc5deb6e74cc6462fbeeb8c1871983f09">
<dcam:memberOf rdf:resource="http://purl.org/dc/terms/LCC"/>
<rdf:value>KF</rdf:value>
</rdf:Description>
</dcterms:subject>
有没有办法提取 rdf:resource
并用它来过滤主题?
rdf/xml 片段不完整,因此我们无法编写完美的查询,但您需要这样的内容:
select ?value {
?x dcterms:subject ?subject .
?subject rdf:value ?value .
?subject dcam:memberOf <http://purl.org/dc/terms/LCSH> .
}
如果你想让它更短一些,你可以这样做:
select ?value {
?x dcterms:subject [
rdf:value ?value ;
dcam:memberOf <http://purl.org/dc/terms/LCSH> ]
}
如果您真的只关心具有 rdf:value 属性并且是 LCSH 成员的事物,您可以完全跳过第一个三元组:
select ?value {
?x rdf:value ?value ;
dcam:memberOf <http://purl.org/dc/terms/LCSH>
}