#Blank node testing

Q0<$X> :-
	triple($X, _:BL, <someURI>),
	triple($X, "otherLiteral, otherLiteral", $Y);
	
#Result modifiers testing

Q2 COUNT | <$X> :-
	triple($X, _:BL, <someURI>),
	triple($X, "otherLiteral", $Y);

#Constant(Literal) projection in the head
Q3<$X,"ConstInTheHead"> :-
	triple($X, _:BL, <someURI>),
	triple($X, "otherLiteral", $Y);

	
#Blank node projection in the head	
Q4<$X,_:BL2> :-
	triple($X, _:BL, <someURI>),
	triple($X, "otherLiteral", $Y);
	
#Empty Query name test	
<$X> :- triple($X,"testLiteral", <someURI>);

#Complete URI test
<$X> :- triple($X,"testLiteral","<http://www.csd.uoc.gr/~zabetak_home/name%space13#>");

#Two different variable join test
<$X> :-	triple($X, _:BL, $Y),
		triple($Y, "otherLiteral",<someURI>);	

#More than two patterns test
<$X> :-	triple($X, _:BL, $Y),
		triple($Y, "otherLiteral",<someURI>),	
		triple($Z, _:BL2, $Y),	
		triple($A, "otherLiteral",<someURI>);

#Multiple projection test
<$X,$Y,$Z,$A> :-	triple($X, _:BL, $Y),
		triple($Y, "otherLiteral",<someURI>),	
		triple($Z, _:BL2, $Y),	
		triple($A, "otherLiteral",<someURI>);

#Variable that does not appear in the body test
#<$X,$Y> :- triple($X,"testLiteral",<someURI>);

#Quick uri testing
QURI<$X> :-
	triple($X, rdf:type, <someURI>),
	triple($X, foaf:name, $Y);
	
#Special string literals not enclosed only in quotes
Q<$X> :-
	triple($X,<someURI>,"abc"@eng-23),
	triple($X, foaf:name, $Y);
	