当我在Java中使用此查询时,我收到了HTTP异常 504,因为我正在从实时获取数据。
但是,如果我删除了influenced
或influencedBy
或Paradigm
或其中任何一个,则可以正常工作。然后我知道时间或内存有问题,而另一个问题是现在太慢了。我都想要我现在该怎么办?
SELECT ?pl ?pl_label ?abstract ?_thumbnail
( group_concat ( DISTINCT ?_influenced_label; separator="; " ) AS ?influenced )
( group_concat ( DISTINCT ?_influencedBy_label; separator="; " ) AS ?influencedBy )
( group_concat ( ?_sameAs; separator=", " ) AS ?sameAs )
( group_concat ( ?_paradigm_label; separator=", " ) AS ?paradigm )
WHERE
{
?pl rdf:type dbo:ProgrammingLanguage .
OPTIONAL { ?pl dbo:abstract ?abstract .
FILTER ( LANG ( ?abstract ) = 'en' ) . }
?pl rdfs:label ?pl_label
FILTER ( LANG ( ?pl_label ) = 'en' ) .
OPTIONAL { ?pl dbo:influenced ?_influenced .
?_influenced rdfs:label ?_influenced_label .
FILTER ( LANG ( ?_influenced_label ) = 'en' ) . }
OPTIONAL { ?pl dbo:influencedBy ?_influencedBy .
?_influencedBy rdfs:label ?_influencedBy_label
FILTER ( LANG ( ?_influencedBy_label ) = 'en' ) . }
OPTIONAL { ?pl owl:sameAs ?_sameAs . }
OPTIONAL { ?pl dbp:paradigm ?_paradigm .
?_paradigm rdfs:label ?_paradigm_label . }
OPTIONAL { ?pl dbo:thumbnail ?_thumbnail . }
}
GROUP BY ?pl ?pl_label ?abstract ?_thumbnail
答案 0 :(得分:1)
当前http://live.dbpedia.org/sparql中存在脏数据问题,因此对于某些谓词(包括dbo:abstract
,{{ 1}}和dbo:influenced
),其中应该只有最近提取的值(即最新的修改)。这意味着您的结果集将包含笛卡尔乘积的某些内容-除了谓词错误地传递了多个版本之外,有些行是重复的。
对数据问题进行模化,此查询(不只是一个附加dbo:influencedBy
!)将提供我认为您现在想要的-
DISTINCT