[英]How to filter “???” sign using sparql?
我必须像以下数据:
<rdf:Description rdf:about="http://ru.dbpedia.org/resource/??????????????_??????????">
<owl:sameAs rdf:resource="http://dbpedia.org/resource/Actuator"/>
</rdf:Description>
<rdf:Description rdf:about="http://sv.dbpedia.org/resource/Ställdon">
<owl:sameAs rdf:resource="http://dbpedia.org/resource/Actuator"/>
</rdf:Description>
<rdf:Description rdf:about="http://tr.dbpedia.org/resource/Aktüatör">
<owl:sameAs rdf:resource="http://dbpedia.org/resource/Actuator"/>
</rdf:Description>
<rdf:Description rdf:about="http://uk.dbpedia.org/resource/??????????_????????">
<owl:sameAs rdf:resource="http://dbpedia.org/resource/Actuator"/>
</rdf:Description>
<rdf:Description rdf:about="http://zh.dbpedia.org/resource/???">
<owl:sameAs rdf:resource="http://dbpedia.org/resource/Actuator"/>
我要过滤数据?????????? _ ?????????。 如何过滤此数据?
以下是查询
CONSTRUCT {
<http://earthquake.linkeddata.it/resource/Actuator> ?p ?o.
?s2 ?p2 <http://earthquake.linkeddata.it/resource/Actuator>
} WHERE {
{
<http://dbpedia.org/resource/Actuator> ?p ?o
} UNION {
?s2 ?p2 <http://dbpedia.org/resource/Actuator>
}
FILTER regex(str(?s2),"http://dbpedia.org/resource/Actuator$","i")
}
这样的东西怎么样:
construct {
<http://earthquake.linkeddata.it/resource/Actuator> ?p1 ?o1.
?s2 ?p2 <http://earthquake.linkeddata.it/resource/Actuator>
}
where {
{
dbpedia:Actuator ?p1 ?o1
#-- Either ?o1 must be a non-IRI, or it must be an IRI that doesn't start
#-- with http://XX.dbpedia.org/ (i.e., a localized resource).
filter( !isIRI(?o1) || !regex(str(?o1),"http://[a-z]+.dbpedia.org/" ) )
}
union
{
?s2 ?p2 dbpedia:Actuator
filter strstarts( str(?s2), "http://dbpedia.org/" )
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.