From: Ivan M. <imi...@op...> - 2007-12-08 03:43:12
|
Bastian, That's a generic SQL restriction. It can be prohibitively costly to build dictionary of distinct long items so SQL engines tend to refuse without trying instead of running too long. You may with to exclude objects longer than, say, a kilobyte, using select count distinct ?o WHERE { ?s <http://dbpedia.org/property/families> ?o . filter (bif:length(str(?o)) <= 1024) } and either count long objects without 'distinct' keyword or select them all and check in application. Other approach is to count distinct checksums, if datatypes are not important: select count distinct (bif:md5(str(?o))) where { ?s <http://dbpedia.org/property/families> ?o } Best Regards, Ivan Mikhailov. On Fri, 2007-12-07 at 14:53 +0100, Bastian Quilitz wrote: > Forgot to mention that the query > > select count distinct ?o WHERE {?s <http://dbpedia.org/property/families> > ?o} > > works (with different predicates) for other dbpedia datasets, e.g. persons, > categories skos, but not for infoboxes and articles. > > Bastian > > > > > > Hi, > > > > thanks for the reply. Maybe I should think about the commercial version > > ;) > > > > I have another issue related to aggregates: > > > > select count distinct ?o WHERE {?s > > <http://dbpedia.org/property/families> > > ?o} > > > > fails to execute both in isql and via the endpoint. The data is from > > dbpedia > > - infoboxes. > > > > Isql reports: > > > > SR478: Value of ANY type column too long > > at line 2 of Top-Level: > > > > Do you know any solution for this? > > > > Btw. Is there a new list of the error codes somewhere on the web? I > > only > > found [1] which does not include SR478. > > > > > > Cheers, > > Bastian > > > > [1] http://docs.openlinksw.com/virtuoso/errors.html > > > > > > > -----Original Message----- > > > From: Ivan Mikhailov [mailto:imi...@op...] > > > Sent: Thursday, December 06, 2007 9:49 PM > > > To: Bastian Quilitz > > > Subject: Re: [Virtuoso-users] Aggregates for SPARQL - Problem > > > > > > Hello Bastian, > > > > > > This bug has been fixed in commercial version of Virtuoso and the fix > > > will be merged into Virtuoso Open Source version in next release. > > > > > > SPARQL web service endpoint runs request with 'define output:valmode > > > "LONG"' mode whereas 'define output:valmode "SQLVAL"', i.e. internals > > > of > > > the endpoint forms the result set of RDF native data without cast to > > > SQL > > > datatypes. This makes difference between the two cases. > > > > > > Best Regards, > > > Ivan Mikhailov > > > OpenLink Software. > > > > > > On Thu, 2007-12-06 at 17:17 +0100, Bastian Quilitz wrote: > > > > Hello, > > > > > > > > I'm playing with the Aggregates for SPARQL and have a strange > > > problem: > > > > > > > > Following query execute in isql but not via the SPARQL entpoint > > (500 > > > > internal server error): > > > > > > > > SELECT ?p count(?p) WHERE {?s ?p ?o} > > > > > > > > If I remove the ?p in the select it is working. > > > > > > > > Are there differencies between the support of aggregates in isql > > and > > > the > > > > endpoint? > > > > > > > > Thanks in advance. > > > > > > > > Kind regards, > > > > Bastian > > > > > > > > ----------------------------------------------------------------------- > > -- > > SF.Net email is sponsored by: > > Check out the new SourceForge.net Marketplace. > > It's the best place to buy or sell services for > > just about anything Open Source. > > http://sourceforge.net/services/buy/index.php > > _______________________________________________ > > Virtuoso-users mailing list > > Vir...@li... > > https://lists.sourceforge.net/lists/listinfo/virtuoso-users > |