繁体   English   中英

如何使用sparql过滤“ ???”符号?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM