Вы не можете сделать это с помощью owl:imports
, но это не вопрос открытого мира или закрытого мира. Это чисто основано на том, как должно работать owl:imports
. В принципе, то, что говорит owl:imports
, «возьмите все термины и аксиомы, которые вы найдете на этом URL-адресе и делаете, как если бы они были частью моей онтологии». Это тоже работало бы в замкнутой мировой семантике.
Существует теоретическое и экспериментальное исследование каркасов или формализмов, которые допускают частичный импорт, но ничто действительно не является надежным и не поддерживается при реализации вообще. Это известная проблема веб-языка онтологии.
Что вы можете сделать, если хотите придерживаться частей онтологии FOAF, - это просто скопировать термины деклараций и аксиом, с которыми вы согласны в своей онтологии. Например:
ex:myOnto a owl:Ontology .
foaf:Agent a owl:Class;
rdfs:isDefinedBy foaf: .
foaf:Person a owl:Class;
rdfs:subClassOf foaf:Agent;
rdfs:isDefinedBy foaf: .
foaf:Organization a owl:Class;
rdfs:subClassOf foaf:Agent;
rdfs:isDefinedBy foaf: .
Обратите внимание, что rdfs:isDefinedBy
не очень полезно с точки зрения семантики, но признать тот факт, что они были заимствованы из другой онтологии. Некоторые люди могут подумать, что это плохая практика, в том смысле, что вы определяете термины, на которые у вас нет полномочий (в том смысле, что вы не владеете пространствами имен, где их можно найти), но это лучший Я могу думать.