2014-10-31 108 views
1

我有数据,如下列:如何筛选“???”使用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") 
} 
+2

我希望那些没有问号,但虹膜字符浏览器/终端/等,没有正确显示。但是,除非您向我们展示您使用的查询,否则我们无法帮助您添加过滤器。你能包括你的查询吗? – 2014-10-31 17:50:54

+0

正如我所提到的,它看起来只是IRI包含的事情,您的系统无法正确显示。你可以过滤掉所有不以'http:// dbpedia.org /'开头的文件。你愿意消除'http:// sv.dbpedia.org/resource /Ställdon'吗? – 2014-10-31 19:07:42

+0

是的,我只要执行器将返回reuslt – 2014-10-31 19:11:03

回答

2

如何somethign这样的:

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/") 
} 
}