SPARQL Когда мы используем «а» - PullRequest
0 голосов
/ 11 января 2020

Я новичок в SPARQL. Я прочитал учебник по Йене (https://jena.apache.org/tutorials/sparql.html) и понимаю большинство примеров. Но я не совсем понимаю, когда нам нужно использовать a

Например, с такими тройками:

@prefix vCard:   <http://www.w3.org/2001/vcard-rdf/3.0#> .
@prefix rdf:     <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .

<http://somewhere/MattJones/>  vCard:FN   "Matt Jones" .
<http://somewhere/MattJones/>  vCard:N    _:b0 .
_:b0  vCard:Family "Jones" .
_:b0  vCard:Given  "Matthew" .


<http://somewhere/RebeccaSmith/> vCard:FN    "Becky Smith" .
<http://somewhere/RebeccaSmith/> vCard:N     _:b1 .
_:b1 vCard:Family "Smith" .
_:b1 vCard:Given  "Rebecca" .

<http://somewhere/JohnSmith/>    vCard:FN    "John Smith" .
<http://somewhere/JohnSmith/>    vCard:N     _:b2 .
_:b2 vCard:Family "Smith" .
_:b2 vCard:Given  "John"  .

<http://somewhere/SarahJones/>   vCard:FN    "Sarah Jones" .
<http://somewhere/SarahJones/>   vCard:N     _:b3 .
_:b3 vCard:Family  "Jones" .
_:b3 vCard:Given   "Sarah" .

Мы можем написать что-то вроде этого:

PREFIX vcard:      <http://www.w3.org/2001/vcard-rdf/3.0#>

SELECT ?y ?givenName
WHERE
 { ?y vcard:Family "Smith" .
   ?y vcard:Given  ?givenName .
 }

Но в слайд-шоу моего курса я нашел что-то вроде этого:

SELECT ?label_du_président ?âge_du_président ? label_du_pays
WHERE {
    ?une_élection a ex:electionPrésidentielle .
    ?une_élection ex:gagnéePar ?un_president .
    ?une_élection ex:alieuDans ?un_pays .
    ?un_president rdfs:label ?label_du_president .
    ?un_president ex:âge ?âge_du_president .
    ?un_pays rdfs:label ?label_du_pays
}

Почему и когда используется a?

1 Ответ

0 голосов
/ 11 января 2020

Это сокращенное обозначение свойства rdf:type. Из спецификации SPARQL Query Language :

Ключевое слово "a" может использоваться в качестве предиката в тройном шаблоне и является альтернативой для IRI http://www.w3.org/1999/02/22-rdf-syntax-ns#type . В этом ключевом слове учитывается регистр.

Думайте о нем как о значении «является (своего рода)».

...