DATAtourisme

Aide pour une requête SPARQL

Bonjour,

Après avoir réussi à récolter les données concernant les critères des hôtels, j’ai voulu rejouter les SIRET et les REGIONS comme filtre « ile de france » dans mes critères de sélection mais la requête tombe en erreur.

Pouvez vous m’aider s’il vous plait

Je vous remercie par avance

Voici ma requête utilisé :

Select ?nom ?longitude ?latitude ?capacite ?adresse ?siret ?star
WHERE {

?poi a :Accommodation;
:isLocatedAt ?place;
rdfs:label ?nom.
?place schema:geo ?geo.
?geo schema:longitude ?longitude.
?place schema:geo ?geo.
?geo schema:latitude ?latitude.
?poi :allowedPersons ?capacite.
?place schema:address ?ad.
?ad :hasAddressCity ?adre.
?adre :insee ?adresse.
?int :siret ?siret.
?Review schema:ratingValue ?star
}

A confirmer par les experts sur l’ontologie mais le siret n’est disponible que pour les types « orgnanization » et « agent » normalement pas disponible pour les PointOfInterest

PS: évitez de faire des doublons afin de garantir une qualité dans les questions/réponses :slight_smile:

Bonjour,

Il y a quelques soucis avec votre requête :

  • Il n’est pas nécessaire de répéter un pattern qui est déjà dans le WHERE : ?place schema:geo ?geo.
  • La variable ?int n’est pas associée à un pattern précédent : cela peut donc concerner n’importe quelle ressource de la base de données, vous allez vite atteindre le timeout
  • pareil pour la variable ?Review

Comme le dit justement Simon, la propriété :siret concerne seulement les ressources de type :Organisation, elle n’est donc pas disponible pour un POI. Par contre, elle est disponible pour les sous-resources hasBeenCreatedBy, hasBeenPublishedBy, isOwnedBy, hasContact

?poi :isOwnedBy ?org.
?org :siret ?siret.

Pour Review, cela doit également être rattaché au POI :

?poi :hasReview ?review.
?review :hasReviewValue ?value
?value rdfs:label ?reviewLabel

Cordialement.