eye
eye copied to clipboard
List operations not working when duplicate identities in the list descriptors
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.