Previous topic  Top  Next topic  Print this Topic
 

Blank nodes

 

Blank nodes denote anonymous resources. Sometimes they are also named anonymous OIDs, . Without digits every occurance means a completely new identifier. With the numbered syntax _#1,_#2,… occurances of the same blank node (e.g. _#2) means the same identifier, but only within a clause. I.e. if _#2 occurs in two facts, they are different identifiers.

 

Syntax

_# digit*

 

Example

q(1,_#).

q(2,_#).

?- q(?X,?Y). // returns two different blank nodes

 

tmp(1).

tmp(2).

?- ?X = p(?Y,_#,_#1,_#,_#1,_#2), tmp(?Y). // returns same blank nodes for both results

 

In rare cases if you need to reference an existing blank nodes use the following syntax:

_# '<UUID>'

 

Example

?- ?X = _#'n6c5245b2-de51-445a-9b14-5b3dc23ac239-000d'.