2013-10-14 16 views
7

Jak utworzyć takie zapytanie w następujący sposób?Jak tworzyć zaawansowane zapytania za pomocą serii AND/OR z semantycznym mediawiki?

otrzymać listę osób, którym kolor włosów jest brązowy lub czarny i oko kolor niebieski lub zielony.

Powód, dla którego o to pytam, jest taki, ponieważ nie jestem pewien, jak traktowane są pierwszeństwo w tych zapytaniach.

Na przykład, gdybym pisał:

#ask: [[Category:Person]] 
     [[Hair color::brown]] OR [[Hair color::black]] 
     [[Eye color::blue]] OR [[Eye color::green]] 

Czy SMW grupę logika jako: ((włosy = brązowy lub czarny) i (oczy = niebieskie lub zielone))

lub

czy logika zostanie zgrupowana jako: (włosy = brązowe lub (włosy = czarne i oczy = niebieskie) lub oczy = zielone)

Z moich początkowych testów wydaje się, że ten ostatni wydaje się być przypadkiem, który wydaje się m uniemożliwić utworzenie zapytania, które szukam.

Czy tej funkcji brakuje w smw?

Odpowiedz

3

Chyba właśnie znalazł odpowiedź: kwerenda powinien być napisany jako takie:

#ask: [[Category:Person]] 
    [[Hair color::brown||black]] 
    [[Eye color::blue||green]] 

to da mi prawidłowe presecende więc logika dostanie pogrupowane jako: ((włosy = brązowy lub czarny) i (= oczy niebieskie lub zielone))

0

Zakładam, że nie możesz tego zrobić. Tutaj logowania będzie:

Kategoria: Osoba i (włosy = brązowy lub włosy: czarne lub oczu: niebieskie lub oczu: zielone)

+0

fakt, że ta funkcja nie jest realizowane, wielki szok dla mnie. Należy wdrożyć coś tak prostego, jak obsługa presendencji .... – netbrain