2013-10-15 3 views
1

Я хочу написать вложенный DL-запрос в Protege. Я могу запустить простой запрос, как:Как написать вложенный DL-запрос

Люди и hasFather значения Persona

Он извлекает имена всех лиц, которых Отец персоны. Но я хочу, чтобы значение Persona также должны быть извлечены из некоторого запроса, как

Человек и значение hasFather (Person и значение Hasson PersonB)

Он показывает ошибку синтаксиса в Protege. Пожалуйста, помогите мне в правильном формате.

ответ

1

Причина, по которой

Person and hasFather value (Person and hasSon value PersonB) 

является синтаксической ошибкой не то, что он «вложенными», но value требует индивидуального, но (Person and hasSon value PersonB) является класса. Если вы используете

Person and hasFather some (Person and hasSon value PersonB) 

вместо этого вы должны быть установлены. Этот запрос просит людей, которые являются людьми, у которых есть отец, который является человеком, и имеет человека B как сына. То есть, он просит братьев и сестер человека B, то есть других детей отца B отца.

Например, вот запрос о семье Симпсонов, где Барт и Лиза каждый есть Гомер, как их отец, и Гомер каждый из них, как ребенок:

simpsons query

Эти данные:

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

<http://www.example.org/families> 
     a  owl:Ontology . 

families:Person a owl:Class . 

families:hasFather a owl:ObjectProperty . 

families:hasChild a owl:ObjectProperty . 

families:Bart a   owl:NamedIndividual , families:Person ; 
     families:hasFather families:Homer . 

families:Lisa a   owl:NamedIndividual , families:Person ; 
     families:hasFather families:Homer . 

families:Homer a   owl:NamedIndividual , families:Person ; 
     families:hasChild families:Bart , families:Lisa . 

families:Milhouse a owl:NamedIndividual , families:Person .