如何在不使用SPARQL的情况下使用rdflib模式匹配三元组

时间:2019-09-12 16:40:57

标签: python rdflib

我想对现有RDF图的三元组进行模式匹配。 RDFLib模块的Triples()函数看起来可以完成这项工作,但我无法使其正常工作。

有人可以提供例子吗?

考虑下图。

$Servicebus_queue = (Get-AzServiceBusQueue -ResourceGroupName $Resourcegroup_name -Namespace $Servicebus_namespace).Name

$Servicebus_queue


$Servicebus_queue.foreach{

    $Servicebus_queue = (Get-AzServiceBusQueue -ResourceGroupName $Resourcegroup_name -Namespace $Servicebus_namespace)

    $Servicebus_queue.MaxDeliveryCount = 1

    Set-AzServiceBusQueue -ResourceGroupName $Resourcegroup_name -Namespace $Servicebus_namespace -Name $_ -InputObject MaxDeliveryCount

}

我想用主题ex:Bob匹配所有三元组。

我有一种直觉,就是我使用了错误的功能。有人可以解释吗?谢谢

1 个答案:

答案 0 :(得分:1)

import rdflib
g = rdflib.Graph()
g.parse("bob.ttl", format="turtle")

bob = rdflib.URIRef("http://example.com/family/Bob")

for triple in g.triples( (bob, None, None) ):
    print(triple)

family = rdflib.Namespace('http://example.com/family/')
bob = family.Bob

for triple in g.triples( (bob, None, None) ):
    print(triple)

请注意,三重模式以及三重模式本身是RDFLib中的Python元组。因此又要加上一对括号。