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

Reply via email to