This was reproducible via the OPTIONAL tests [1] and has been fixed in svn:
http://cia.vc/stats/project/rdflib/.message/2de69 [1] http://www.w3.org/2001/sw/DataAccess/tests/data-r2/optional/ On 7/12/07, whit <[EMAIL PROTECTED]> wrote: > I've got a query like this:: > > PREFIX... > > > SELECT ?author_uri ?author_name ?mbox ?link ?title ?term ?scheme ?entry_id > WHERE { > ?author_uri foaf:name ?author_name . > ?author_uri foaf:mbox ?mbox . > ?annotation annotea:author ?author_uri . > ?annotation annotea:annotates ?link . > ?annotation annotea:body ?term_uri . > ?annotation annotea:related ?entry_uri . > ?entry_uri rdf:type atom:entry . > ?entry_uri rdf:ID ?entry_id . > ?term_uri rdfs:label ?term . > ?term_uri rdf:type foaf:topic . > OPTIONAL {?link dc:Title ?title .} > OPTIONAL {?term_uri tagger:hasScheme ?scheme .} > ?annotation annotea:annotates <http://example.org/ann-page.html> . > } > > This query used to return 'None' for the bound names in the OPTIONAL > blocks, now it errors out upon this assertion in line 703:: > > assert maxKeys == bound.bindings.keys() > > when say, ?title or ?scheme are not found in the data. > > Shouldn't the optional values still be bound even if not applicable? > this would seem to limit the usage of optional to only time when you > knew it to exist... therefore it would not be OPTIONAL... > > or maybe there is some other way to do this in sparql I have not found? > > -w > > -- > > ------ d. whit morriss ------ > - senior engineer, opencore - > - http://www.openplans.org - > - m: 415-710-8975 - > > "If you don't know where you are, > you don't know anything at all" > > Dr. Edgar Spencer, Ph.D., 1995 > > > _______________________________________________ > Dev mailing list > [email protected] > http://rdflib.net/mailman/listinfo/dev > > > _______________________________________________ Dev mailing list [email protected] http://rdflib.net/mailman/listinfo/dev
