简体   繁体   English

SPARQL-从skos:category中选择-Virtuoso 37000

[英]SPARQL - select from skos:category - Virtuoso 37000

I have problem with SPARQL. 我的SPARQL有问题。 I want to select something from category. 我想从类别中选择一些东西。 For example subjects. 例如主题。 I make query like this in http://dbpedia.org/snorql . 我在http://dbpedia.org/snorql中进行这样的查询。

SELECT ?category ?subject WHERE
    {
    ?category a skos:Concept .
    ?category skos:Concept: American_punk_rock_guitarists.
    ?category dct:subject ?subject .
    } LIMIT 1000

I have error Virtuoso 37000. I don't understand why. 我有错误Virtuoso37000。我不明白为什么。

PS Is it good book for beginnier in SPARQL - Learning SPARQL, 2nd Edition Querying and Updating with SPARQL 1.1 ? PS对SPARQL初学者来说是一本好书- 学习SPARQL,第二版,使用SPARQL 1.1查询和更新吗?

You have at least one syntax error: the second colon (:) in the second triple. 您至少有一个语法错误:第二个三元组中的第二个冒号(:)。

Semantically... I don't really know the classes or predicates in dbpedia... but can skos:Concept be both a type and a predicate? 语义上...我真的不知道dbpedia中的类或谓词...但是skos:Concept既可以是类型又可以是谓词?

I wrote you a valid query that returns 10 members of the category "American_punk_rock_guitarists" 我为您编写了一个有效的查询,该查询返回了“ American_punk_rock_guitarists”类别的10个成员

I put this together by going to dbpedia's faceted free text search and familiarizing myself with the concept of American punk rock guitarists , specifically Joey Ramone 通过进入dbpedia的多面自由文本搜索并使我熟悉美国朋克摇滚吉他手 ,特别是Joey Ramone的概念,我将其组合在一起

 prefix dbpcat: <http://dbpedia.org/resource/Category:>

    SELECT  ?subject ?category
    WHERE
      { values ?category { dbpcat:American_punk_rock_guitarists  } .
      ?subject dct:subject ?category }
    LIMIT   10

In terms of the Virtuoso 37000 error, your mistakes were the following: 就Virtuoso 37000错误而言,您的失误如下:

  1. You had : after skos:Concept in line 2. and you were missing a prefix for "American_punk_rock_guitarists". 您在第2行的skos:Concept之后有 ,并且缺少“ American_punk_rock_guitarists”的前缀。

  2. American_punk_rock_guitarists should have been dbpcat:American_punk_rock_guitarists . American_punk_rock_guitarists应该是dbpcat:American_punk_rock_guitarists Though this is going to give you an empty result, the syntactically correct version or your query is: 尽管这将为您提供一个空结果,但语法正确的版本或您的查询是:

     prefix dbpcat: <http://dbpedia.org/resource/Category:> SELECT ?category ?subject WHERE { ?category a skos:Concept . ?category skos:Concept dbp:catAmerican_punk_rock_guitarists. ?category dct:subject ?subject . } LIMIT 1000 

    This returns an empty set because of the following: 由于以下原因,这将返回一个空集:

a. 一种。 skos:Concept is a class, not a property. skos:Concept是一个类,不是属性。 In terms of {?Subject ?Predicate ?Object}, you will only see skos:Concept as a ?Subject and/or ?Object in a proper SPARQL query [1]. 对于{?Subject?Predicate?Object},在适当的SPARQL查询[1]中,您只会看到skos:Concept作为?Subject和/或?Object。 An easy way to differentiate classes and properties is that classes are supposed to start with a capital letter (ex: skos:Concept ), and properties (predicates) should start with a lowercase letter (ex: rdf:type ). 区分类和属性的一种简单方法是,类应以大写字母开头(例如: skos:Concept ),而属性(谓词)应以小写字母开头(例如: rdf:type )。

b. b。 dbpcat:American_punk_rock_guitarists is of type "skos:Concept". dbpcat:American_punk_rock_guitarists的类型为“ skos:Concept”。 If you look at the DBPedia page for this entity (?subject), you will see this in the "rdf:type" row. 如果查看该实体(?subject)的DBPedia页面,您将在“ rdf:type”行中看到它。 Look further and you'll see that this concept is a dct:subject of various other entities [2]. 进一步看,您将看到这个概念是其他各种实体的dct:subject [2]。

In addition to @Mark Miller's query this one will also provide results: 除了@Mark Miller的查询外,此查询还将提供结果:

prefix dbpcat: <http://dbpedia.org/resource/Category:>

    SELECT  ?subject ?category
    WHERE
      { ?subject dct:subject ?category.
        ?category a skos:Concept.
        filter(?category = dbpcat:American_punk_rock_guitarists).

      }
    LIMIT   10

skos:Concept isn't needed here, solely as an example of how it would be used if you were looking for something such as "all ?category of type - skos:Concept". 此处不需要skos:Concept,仅作为举例说明如果您正在寻找诸如“所有?类别的类型-skos:Concept”之类的东西。

Links: 链接:

  1. https://www.w3.org/2009/08/skos-reference/skos.html#Concept https://www.w3.org/2009/08/skos-reference/skos.html#Concept
  2. http://dbpedia.org/resource/Category:American_punk_rock_guitarists http://dbpedia.org/resource/Category:American_punk_rock_guitarists

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM