|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | |
|
Invité de passage
![]() Inscription : mars 2008 Messages : 46 ![]() |
Bonjour,
Est-il possible de calculer des aggrégats sur des dates en SPARQL ? Je m'explique sur un exemple concret, j'ai dans ma base des triplets du genre pour stocker des population par ville pour une date donnée : Citation:
Par exemple, j'aimerais avoir les moyennes des populations par an, est-ce possible ? Ou bien faudrait-il stocker les données temporelles dans 3 prédicats :année, mois et jour pour faciliter ce genre de requête ? Merci d'avance ! |
|
|
|
00
|
|
|
#2 | ||||
|
Membre chevronné
![]() ![]() Thomas FrancartConsultant sémantique & data à sparna.fr Inscription : avril 2005 Messages : 190 ![]() |
Citation:
Citation:
Code :
|
||||
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : mars 2008 Messages : 46 ![]() |
Merci pour ta réponse Sapience. J'ai effectivement vu les fonction year(), month(), etc de SPARQL 1.1, seulement elles ne semblent pas implémentées par Virtuoso ni ARC2.
Sur quel triplestore as-tu testé ta requête ? |
|
|
00
|
|
|
#4 |
|
Membre chevronné
![]() ![]() Thomas FrancartConsultant sémantique & data à sparna.fr Inscription : avril 2005 Messages : 190 ![]() |
Sur Sesame.
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : mars 2008 Messages : 46 ![]() |
ok merci
A voir du coup ... Sachant que les données en question sont des données mensuelles, il est peut-être plus judicieux de stocker l'information temporelle sous deux prédicats : année et mois, ce qui rend alors très simple les opérations d'agrégation. Mais en contrepartie, je perds les éventuelles futures fonctions liées au traitement des dates. |
|
|
00
|
|
|
#6 | |
|
Invité de passage
![]() Inscription : mars 2008 Messages : 46 ![]() |
Je reviens sur l’agrégat par année avec ta requête :
Citation:
Je ne trouve pas de solution simple pour faire cela ... |
|
|
|
00
|
|
|
#7 | ||
|
Membre chevronné
![]() ![]() Thomas FrancartConsultant sémantique & data à sparna.fr Inscription : avril 2005 Messages : 190 ![]() |
Avec une subquery SPARQL 1.1 : sélectionner d'abord le maxPopulation dans la sous-query, puis sélectionner les infos associées à ce maxPopulation :
Code :
|
||
|
10
|
Copyright © 2000-2013 - www.developpez.com