私はイエナの初心者で、このページを読んでいます。より具体的には、図 5(iii) の「直接推定された関係」で、まさに必要なものを見つけました。基本的に、私の OntModel は次のルールを尊重する必要があります:「推論できる直接ステートメントは許可されません」。しかし残念なことに、私はこのアイデアをイエナで具体化する方法を知りません。
私のコード例は次のとおりです。
String baseUri="http://entidades.owl";
OntModel base = ModelFactory.createOntologyModel(OntModelSpec.OWL_MEM);
OntClass studant = base.createClass(baseUri +"#Student");
OntClass person = base.createClass(baseUri +"#Person");
OntClass ser = base.createClass(baseUri +"#ThingLive");
Property isA = base.createTransitiveProperty(baseUri+"#IsA", true);
nome.addDomain(person);
base.add(new StatementImpl(studant, isA, person));
base.add(new StatementImpl(person, isA, ser));
base.createIndividual(baseUri+"#JonhDoe",studant);
base.createIndividual(baseUri+"#JonhDoe",person);
base.createIndividual(baseUri+"#JonhDoe",ser);
base.write(System.out);
OntModel model = ModelFactory.createOntologyModel(OntModelSpec.OWL_MEM_MICRO_RULE_INF,base);
model.write(System.out);
良い、
「isA」プロパティを「transitiveProperty」として構築しようとしましたが、推論ツールがそれを認識しません。どうすれば修正できますか?
私が変更した場合: base.add(new StatementImpl(studant, isA, person)); base.add(新しいStatementImpl(人、isA、ser));
に:
person.addSubClass(学生); ser.addSubClass(人);
Reasoner は完全に推論できましたが、残念ながら OntModel の「ベース」と OntModel の「モデル」は同じ RDF を示しています。「モデル」は、最小限の RDF グラフを反映したものを表示する必要があると思います。
この RDF 構造の変化を確認するにはどうすればよいですか?
どうもありがとうございました!!!!!