Vous faites une erreur classique: confusion RDF (qui est ce que SPARQL interroge) avec (une de) sa sérialisation, à savoir RDF/XML. rdf:about
(et rdf:ID
, rdf:Description
, rdf:resource
) font partie de RDF/XML, une façon dont RDF est écrit. Vous pouvez jouer avec le RDF Validator pour voir ce que les triplets RDF résultent d'un morceau de RDF/XML.
Dans votre cas, commençons par:
<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc="http://purl.org/dc/terms/">
<rdf:Description rdf:about="http://www.example.org/">
<dc:title>Example for Donal Fellows</dc:title>
</rdf:Description>
</rdf:RDF>
PLUG dans the validator et vous obtenez:
Number Subject Predicate Object
1 http://www.example.org/ http://purl.org/dc/terms/title "Example for Donal Fellows"
(vous pouvez aussi demander une représentation graphique)
Notez que rdf:about
n'est pas présent: sa valeur fournit le sujet du triple.
Comment effectuer une recherche pour trouver les propriétés associées à http://www.example.org
? Comme ceci:
select * {
<http://www.example.org/> ?predicate ?object
}
Vous obtiendrez:
?predicate ?object
<http://purl.org/dc/terms/title> "Example for Donal Fellows"
Vous remarquerez que la requête est un match triple avec les variables (?v
) dans les endroits où l'on veut trouver des valeurs. On pourrait aussi demander ce prédicat liens http://www.example.org/
avec "Example for..."
en demandant:
select * {
<http://www.example.org/> ?predicate "Example for Donal Fellows"
}
Cette correspondance de motif est le coeur de SPARQL.
RDF/XML est une bête difficile, et vous trouverez peut-être plus facile de travailler avec N-Triples, ce qui est très bavard mais clair ou turtle, qui est comme N-Triples avec un grand nombre de sténographies et abréviations. La tortue est souvent préférée par la communauté rdf.
P.S. rdfs:about
n'existe nulle part.
C'est SPARQL, pas SPARKQL. Cela pourrait vous aider à googler ... –