2016-04-20 11 views
1

Hallo bin ich bin neu in Ontologien. Ich habe eine Restaurantontologie von Protege Software entwickelt. Aber ich brauche dringend eine SPARQL-Abfrage, die Eigenschaftswerte für alle Individuen einer Klasse findet.Wie man Einzelpersonen Daten Eigenschaft Wert in Sparql

protege screenshot

Ich möchte wie ein Ergebnis erhalten:

Angels_n_Gypsies 
House #30, Rd No. 19/A, Dhaka 1213, Bangladesh 

graph image

Antwort

3

Nur die Eigenschaftswerte folgen ...

SELECT ?rname ?lname 
WHERE { 
    ?inst a :Popular_restaurant . 
    ?inst :restaurant_name ?rname . 
    ?inst :Location_name ?lname . 
} 

Aber das ist nur das Endergebnis . Eine Möglichkeit, SPARQL zu verstehen, besteht darin, pedantisch zu beginnen. Zum Beispiel:

SELECT ?inst 
WHERE { 
    ?inst a :Popular_restaurant . 
} 

Das bekommt Sie alle Mitglieder der Klasse: Popular_restaurant. Dann finden Sie, welche Eigenschaften für jedes Mitglied definiert sind:

SELECT ?inst ?p ?o 
WHERE { 
    ?inst a :Popular_restaurant . 
    ?inst ?p ?o . 
} 

Und die Bindungen für p wird Ihnen sagen, welche Eigenschaften für die Mitglieder dieser Klasse definiert sind. Verwenden Sie diese Werte, um die Abfrage kontinuierlich zu verfeinern.

+0

Dank Kumpel sparen Sie meinen Tag –