Ich muss eine Schleife ausführen, die die Beschriftungen aller Nachbarknoten aller Klassen einer RDF-Ontologie mithilfe von SPARQL-Abfragen in RDFLIB abruft. Ich weiß, wie die Klassen erhalten:Übergabe der Python-Variablen in SPARQL Abfrage
classes=graph.query("""select ?nodes WHERE {
?nodes rdf:type owl:Class
} limit 100""")
Und ich weiß, wie man die Nachbarknoten eines einzelnen URI zu erhalten:
example = graph.query("""select ?othernodes ?othernodesLabel where {
bind (<http://human.owl#NCI_C12736> as ?mynode)
?mynode ?y ?othernodes.
?othernodes rdfs:label ?othernodesLabel
} limit 100""")
Aber was ich brauche, ist diese zusammen in einer for-Schleife zu setzen Dadurch werden alle Beschriftungen der benachbarten Knoten jeder Klasse in einem Objekt gruppiert, sodass für jede Klasse eine Liste mit den Beschriftungen aller angrenzenden Knoten vorhanden ist.
Können Sie nicht einfach eine kombinierte Abfrage verwenden und die Beschriftungen für jede Klasse in der Python-Anwendung behandeln? Ansonsten besteht die einzige Möglichkeit darin, die Labels nach Klassen zu gruppieren und zu verketten, was bedeutet, dass Sie das Ergebnis später trotzdem verarbeiten müssen. – AKSW
Das würde funktionieren, aber wie würde man diese Art kombinierter Abfrage in SPARQL machen? – Boris
Nun, verwenden Sie einfach das erste dreifache Muster in der zweiten Abfrage? – AKSW