使用sparql查询turtle文件时如何制作过滤器

How to make Filter when querying turtle file using sparql

我应该提到我是语​​义网络世界的初学者。我的乌龟文件具有以下结构:

@prefix ns0: <http://www.cws.org/ep/01#> .
@prefix dc: <http://purl.org/dc/terms/> .
@prefix gr: <http://purl.org/goodrelations/v1#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .    
#...
        <file:///C:/Users/Anis/Downloads/usdl-editor-master/usdl-editor-master/index.html#OSZwMOW5JiZTlJXb7>
          a ns0:GuaranteedState ;
          ns0:executionParameterType [
            a ns0:executionParameterType ;
            dc:description "Description Inpuuut" ;
            ns0:hasVariable <file:///C:/index.html#ekHCp7iFi1aEWM7QQ>

          ] ;
          dc:title "Input" .

        <file:///C:/index.html#ekHCp7iFi1aEWM7QQ>
          a ns0:Variable ;
          ns0:hasDefault [
            a gr:QuantitativeValue ;
            gr:hasValue "document.csv" ;
            gr:hasUnitOfMeasurement "csv"
          ] ;
          rdfs:label "test1" .
    #...

我正在尝试按 dc:title = "Input" 过滤。

这是我的查询,我应该添加什么?

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX ns0: <http://www.cws.org/ep/01#>
PREFIX dc: <http://purl.org/dc/terms/>
PREFIX gr: <http://purl.org/goodrelations/v1#>
SELECT   *
WHERE   { 

          ?path  dc:title ?x

}

My query result 总是显示“@”..我不知道这是什么意思?

这只是一个想法,但我认为 FILTER 子句可能是您所需要的:

 FILTER(?x = "Input") 

应该可以解决问题。

如果完全匹配会得到您想要的,则直接在三重模式中指定,例如:

SELECT ?path
WHERE {
   ?path dc:title "Title" .
}

..这会得到 ?path 的值 "Title" 对应 dc:title 属性。例如,<file:///C:/Users/Anis/Downloads/usdl-editor-master/usdl-editor-master/index.html#OSZwMOW5JiZTlJXb7> 将匹配您的示例。

如果匹配不准确,则使用 FILTERregex() 应该可以。

SELECT ?path
WHERE {
   ?path dc:title ?x .
   FILTER regex(?x, "Title", "i")
}

...匹配字符串中任何 dc:title 属性 和 "Title",忽略大小写。

问题已解决.. 在我的例子中,我必须将@whatever(例如“@en”)添加到我的结构文件中。然后我将这一行添加到我的查询中:FILTER(?x = "Input"@en)。 以下是我的查询:

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX ns0: <http://www.cws.org/ep/01#>
PREFIX dc: <http://purl.org/dc/terms/>
PREFIX gr: <http://purl.org/goodrelations/v1#>
SELECT *
 WHERE { 
 ?path dc:title ?x .
FILTER (?x = "Input"@en)
}