-1

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

@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

}

我的查询结果总是显示“@”.. 不知道是什么意思?

4

3 回答 3

1

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

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

..获得任何?path具有dc:title属性“标题”的值。例如,<file:///C:/Users/Anis/Downloads/usdl-editor-master/usdl-editor-master/index.html#OSZwMOW5JiZTlJXb7>将在您的示例中匹配。

如果匹配不准确,那么使用FILTERwithregex()应该可以。

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

...匹配dc:title字符串中带有“Title”的任何属性,忽略大小写。

于 2016-09-18T23:35:26.450 回答
0

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

 FILTER(?x = "Input") 

应该做的伎俩。

于 2016-09-18T21:47:18.963 回答
-1

问题已解决。在我的情况下,我必须将@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)
}
于 2016-09-21T14:03:59.173 回答