2012-10-28 11 views
7

Jestem aktualnie odtwarzanego trochę z Sowa i przede wszystkim z ograniczeniami. Próbuję utworzyć zapytanie, które wykonuje następujące czynności:ograniczenia Owl - definiowanie klas, które zawiera tylko nieruchomości o określonej wartości nieruchomości

Załóżmy, że mam klasę "Kino", która ma właściwość "filmy" (zawiera obiekty typu "Film"). Klasa "Film" zawiera właściwość o nazwie "gatunek". Teraz chcę stworzyć klasyczne ActionCinemas, które ma tylko filmy z gatunek 'action'.

ja naprawdę nie wiem, jak to zrobić. Myślałem o robieniu czegoś ze skrzyżowaniami lub liczności, ale nie jestem tego pewien.

Czy ktoś może mi pomóc w tym?

Odpowiedz

9

Trzeba kombinacji z ograniczeniem allValuesFrom i ograniczenie hasValue, np tak:

Turtle składnia:

my:ActionCinema a owl:Class ; 
     rdfs:subClassOf my:Cinema, 
         [ a owl:Restriction; 
         owl:onProperty my:hasMovie ; 
         owl:allValuesFrom [ a owl:Restriction ; 
              owl:onProperty my:hasGenre ; 
              owl:hasValue my:Action ] 
         ] . 

Manchester OWL składnia:

Class: ActionCinema 
    SubClassOf: Cinema that hasMovie only (hasGenre value Action) 
+0

Dlaczego używacie spójnik ("to") zamiast przecinka między 'Kino' i' hasMovie' w składni OWL w Manchesterze? – whirlwin

+0

@whirlwin Obie mówią w zasadzie to samo, więc to kwestia gustu, po prostu myślę, że pierwsze (używając "tego") jest bardziej jasne i zwięzłe. –

Powiązane problemy