SPARQL-Abfragen mehrerer der Gebiete in äußerster Randlage in den gleichen filter

Ok nehmen wir an ich habe 5 Datentyp-Eigenschaften mit Integer-Werten. Diese Eigenschaften geltend gemacht werden zu Individuen, die zur Klasse "WWS". Diese Klasse hat wie 4 Personen. Aber nur einige der Datentyp-Eigenschaften sind bei diesen Personen.
Wie kann ich die Abfrage der Individuen dieser Klasse erfüllen wie der Wert 5. Ich möchte die variable zeigt nur diejenigen Personen, deren Eigenschaften erfüllt sind, der rest soll nicht angezeigt werden.

Ich hoffe das ist klar!

Danke!

Daten:

datatype properties (range:integers): #greaterthantoc #lessthantoc #lowerlimtoc #upperlimtoc #equalstoc

individuals: #ww1, #ww2, #ww3 , #ww4 belong to class #WWS

#ww1 has #greaterthantoc "0"^^xsd:integer
#ww2 has #lessthantoc "5"^^xsd:integer
#ww3 has #greaterthantoc "5"^^xsd:integer
#ww4 has #lowerlimtoc "9"^^xsd:integer and #upperlimtoc "10"^^xsd:integer

Conditions for each property (filter?):
#greaterthantoc <= "a number" 
#lessthantoc >= "a number" 
#lowerlimtoc <= "a number" && #upperlimtoc >= "a number"
#equalstoc = "a number"

Ergebnisse sollten die WWS Personen, die erfüllen diese Bedingungen. Zum Beispiel, wenn die Nummer 4 ist dann sollte das WW1 und WW2

Ich vermute, ich brauche sowas für meinen Fall, aber es immer noch nicht Ergebnisse zurück:

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX ww:<#>


SELECT ?str

WHERE {?str rdf:type ww:WWS  .

OPTIONAL { ?str ww:greaterthantoc ?gr; ww:lessthantoc ?les ; ww:lowerlimtoc ?low ; ww:upperlimtoc ?up  ; ww:equalstoc ?eq  . } 

FILTER ( ?les >= 3 || ?gr <= 3 || (?low <= 3 && ?up >=3)  || ?eq = 3) 

  } 
Sie können mehr als zwei Bedingungen in einem filter. Wir können nicht sagen, was in diesen zurückkehren sollte, es sei denn, Sie teilen auch Ihre Daten, wenn. Die Tatsache, dass Sie mit einem anderen URI-Präfix ww: im Unterschied Beispiele ist eine große rote fahne, wenn. Bis es bearbeitet wird, diese Frage konnte geschlossen werden, um den Grund: "für Diese Frage zu sein scheint off-topic, weil es nicht genügend Informationen, um das problem zu diagnostizieren. Beschreiben Sie Ihr problem im detail, oder eine minimal-Beispiel in der Frage selbst."
Ich aktualisierte das Thema. Ist es klarer jetzt?
Eigentlich, Sie entfernt eine Menge von der Frage, und das verändert den Kontext, denke ich. In deinem original-posting, Sie hatte filter ( ... || ... || ... )", das bedeutet "halten Sie Lösungen, die befriedigen, x oder y oder z". Jetzt hast du filter ... filter ... filter ..., was bedeutet, "zu halten-Lösungen erfüllen x und y und z", die ganz anders ist. Sie benötigen zum anzeigen der Daten und die Ergebnisse, die Sie zu erreichen versuchen, und Sie haben das nicht getan noch.
Aber was die update nicht hinzufügen, und ich denke, dass dies wichtig ist, ist, dass nicht für jeden einzelnen, der die Werte für jede Eigenschaft. Das bedeutet, dass Sie gehen zu müssen einige optionalen, dazu passenden. Das ist nicht allzu schwer. Ich werde aktualisieren, meine Antwort...
Wusste nicht, dass mehrere Filter bedeutet "und... und". So || ist die richtige für meinen Fall. Und ja, nicht jeder Mensch hat Werte für jede Eigenschaft. Das ist, warum, während ich die Abfrage, die Sie als singles es gibt Ergebnisse zurück, aber wenn ich Ihnen versuche, mehrere auf die gleiche Abfrage wird es nicht reagieren. Ich werde den Beitrag aktualisieren, Daten und gewünschten Ergebnisse

InformationsquelleAutor user3211165 | 2014-05-09

Schreibe einen Kommentar