回答:
次のようなものを使用できます。
from qgis.core import QgsVectorLayer, QgsMapLayerRegistry
vlayer = QgsVectorLayer( "?query=SELECT * FROM road WHERE type = 'Expressway'", "vlayer", "virtual" )
QgsMapLayerRegistry.instance().addMapLayer(vlayer)
著者のGitHubから、Pythonを介して仮想レイヤーを使用する方法の例を見つけることができます。
'QgsMapLayerRegistry' is not defined
。SQLステートメントは、「仮想レイヤーの作成」ダイアログで実行すると機能します。