Question

Je suis en train de sélectionner le rdf: ID d'un objet avec SPARQL (à l'intérieur Protege) et je ne peux pas sembler obtenir rdf: ID. Quelqu'un at-il vu ce problème. La requête SPARQL j'utilise est:

Select * where (?element rdf:id ?id)

Ce qui suit ne fonctionne pas non plus:

Select * where (?element rdfs:label ?id)

A pris une suggestion, mais ce n'est pas aller:

Select * where (?element rdfs:about ?id)

Mais cela ne:

Select * where (?element rdfs:comment ?id)

Tout ce que je reçois est « Aucune correspondance ». Je peux donc choisir le commentaire mais pas thelabel ... des idées?

MISE À JOUR :: Après quelques recherches, choisir ce qui suit:

Select ?subject ?property ?object where (?subject ?property ?object)

ne se pose pas avec l'une des propriétés FTR. Est-ce que je manque quelque chose d'important? (Je peux slect avec rdfs: comment, mais cela ne montre pas non plus ...

Était-ce utile?

La solution

Si vous cherchez l'URI de tous les sujets RDF, vous devez exécuter:

SELECT ?subject WHERE { ?subject ?predicate ?object }

Notez que vous avez besoin d'accolades et pas entre parenthèses. A noter également que les questions de cas en RDF, donc très attention à l'orthographe et à la capitalisation de vos URIs (et préfixes / noms locaux).

Pour point de dajobe concernant (inférences de triplets inférée), rdfs:label est une propriété d'annotation OWL et sera ignoré par inferencers à moins d'inclure vos propres règles et / ou des constructions de OWL. En d'autres termes, si vous êtes débutant avec RDF, je serais surpris si un triplets déduit raisonneur avec rdfs:label comme prédicat.

Autres conseils

Tout d'abord rdf: id n'existe pas dans le modèle de données - les triplets de graphique rdf. « rdf:ID » est un terme de syntaxe utilisée dans une syntaxe, RDF / XML, mais ne semble pas en triplets. De même rdf:about est un terme de syntaxe.

Quant à savoir pourquoi ne fonctionneront pas les sparql du protege ici - et je n'ai pas utilisé Protege -. J'imagine que les triplets que vous essayez de trouver sont inférées par le moteur d'inférence et ne sont donc pas nécessairement dans le graphique de base rdf

Il est pas tout à fait clair ce que vous essayez de faire. Vous voulez que l'objet URI [de certains triple]? Comment identifiez-vous que le triple?

Je suppose que votre rdf: ID (une référence locale dans votre document rdf) sera résolue à l'aide xml: base et transformé en rdf: about

La requête suivante me obtient le rdf:ID pour un individu de type pref:class

select * where {
?id rdf:type pref:class
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top