eye icon indicating copy to clipboard operation
eye copied to clipboard

List operations not working when duplicate identities in the list descriptors

Open MichelSc opened this issue 5 months ago • 2 comments

Consider the graph

@prefix list: <http://www.w3.org/2000/10/swap/list#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix : <urn:example:> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .

:la1 
    rdf:first :a1;
    rdf:rest :la2, rdf:nil.
#    rdf:rest rdf:nil.

:la2 owl:sameAs rdf:nil.

:let :mylist :la1.

{
    :let :mylist ?list.
    ?list list:length ?length.
}=>{
    :result :length ?length.
}.

Running eye 11.10.26 will produce the error

** ERROR ** eam ** malformed_list_extra_rest(<urn:example:la1>,<urn:example:la2>,[])

This is unexpected. List :la1 is the simple list ( :a1) and I expect to get its length 1.

Other operations will lead to the same error.

Note that the consequence of owl:sameAs have been manually added so we do not need to include extra rules.

MichelSc avatar Aug 17 '25 15:08 MichelSc