rdflibのSPARQLクエリを使用して、rdfオントロジーのすべてのクラスのすべての隣接ノードのラベルを取得するループを実行する必要があります。SPARQLクエリでPython変数を渡す
classes=graph.query("""select ?nodes WHERE {
?nodes rdf:type owl:Class
} limit 100""")
そして私は、単一のURIの隣接ノードを取得する方法を知っている:私は、クラスを取得する方法を知っている
example = graph.query("""select ?othernodes ?othernodesLabel where {
bind (<http://human.owl#NCI_C12736> as ?mynode)
?mynode ?y ?othernodes.
?othernodes rdfs:label ?othernodesLabel
} limit 100""")
しかし、私に必要なのは、forループで一緒にこれらを置くことです1つのオブジェクト内の各クラスの隣接するノードのすべてのラベルをグループ化します。その結果、すべてのクラスに対して、隣接するすべてのノードのラベルを含むリストが作成されます。
組み合わせクエリを使用して、Pythonアプリケーションの各クラスのラベルを処理することはできませんか?それ以外の場合、唯一の選択肢は、クラス別にグループ化してラベルを連結することです。これは後で結果を処理する必要があることを意味します。 – AKSW
これはうまくいくが、SPARQLでどのようにこのタイプの結合クエリを実行するのだろうか? – Boris
さて、2番目のクエリで最初のトリプルパターンを使用するだけですか? – AKSW