2

このクエリを試してみましたが、コンパイルして実行しました。ただし、値を含まない列名のみを取得します。どうすればそれらの値を取得できますか? そのための特別な方法はありますか?

String str = "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>"+
    "PREFIX dbo: <http://dbpedia.org/ontology/>"+
    "PREFIX dbpprop: <http://dbpedia.org/property/>"+
    "PREFIX foaf: <http://xmlns.com/foaf/0.1/>"+
    "SELECT DISTINCT ?label ?abstract ?placeOfBirth"+
        "?birthPlace ?birthDate ?deathDate ?page ?thumbnail WHERE {"+
        "OPTIONAL {<http://dbpedia.org/resource/Neil_Simon> dbpprop:placeOfBirth ?placeOfBirth ; dbo:abstract ?abstract ; foaf:page ?page .}"+
        "OPTIONAL {<http://dbpedia.org/resource/Neil_Simon> dbpprop:placeOfBirth ?placeOfBirth ; dbpprop:birthPlace ?birthPlace ;}"+
        "OPTIONAL {<http://dbpedia.org/resource/Neil_Simon> dbpprop:placeOfBirth ?placeOfBirth ;  dbo:birthDate ?birthDate ;}"+
        "OPTIONAL {<http://dbpedia.org/resource/Neil_Simon> dbpprop:placeOfBirth ?placeOfBirth ;  dbo:deathdate ?deathDate ;}"+
        "OPTIONAL {<http://dbpedia.org/resource/Neil_Simon> dbpprop:placeOfBirth ?placeOfBirth ; dbo:thumbnail ?thumbnail .}"+
        "FILTER (LANG(?label) = 'en')"+    
        "FILTER (LANG(?abstract) = 'en')}"+
    "LIMIT 1";
4

1 に答える 1

3

列名を取得し、値がない場合は、クエリに対する回答がないことを意味している可能性があります。

答えが得られるまでクエリの一部を削除してみてください。最初の主要な部分はFILTER句です。クエリに実際にはバインドされていない変数をフィルタリングしているため、変数は常にfalseと評価され、結果は得られません。

于 2012-05-12T10:35:45.480 に答える