-1

私はセマンティック Web の世界では初心者です。私のタートルファイルの構造は次のとおりです。

@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>あなたの例では一致します。

一致が正確でない場合、 with を使用するFILTERregex()うまくいくはずです。

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 に答える