!ruleset RULESET "detection" PREFIX my: RULE "listy" { my:x my:P () } => { my:x a my:Empty } !rdf @prefix my: . my:x my:P (). my:y my:P 17 . !expect @prefix my: . my:x my:P (); a my:Empty. my:y my:P 17 . !rdf @prefix my: . my:x my:P (my:element). !ruleset RULESET "detection" PREFIX my: RULE "listy" { my:x my:P (?x) } => { ?x a my:MemberByList } !expect @prefix my: . my:x my:P (my:element). my:element a my:MemberByList. !rdf @prefix my: . my:y my:Q (my:first my:second). !ruleset RULESET "detection" PREFIX my: RULE "list order" { my:y my:Q (?x ?y) } => { ?x a my:Firstly. ?y a my:Secondly } !expect @prefix my: . my:y my:Q (my:first my:second). my:first a my:Firstly. my:second a my:Secondly. !rdf @prefix my: . my:a my:before my:b. !ruleset RULESET "construction" PREFIX my: RULE "list order" { ?x my:before ?y } => { (?x ?y) a my:Order } !expect @prefix my: . my:a my:before my:b. (my:a my:b) a my:Order.