让我们考虑以下本体,其中、 和PERSON
是NAME
类。并且是 的子类。并且是功能 ObjectProperty。是具有域和范围字符串的 DataTypeProperty。SURNAME
IDENTIFICATION
NAME
SURNAME
IDENTIFICATION
hasSurname
hasName
hasValue
IDENTIFICATION
让我们使用 jena 和 2 人自动实例化这个模型,person1 是“Henry Ford”,person2 是“Harrison Ford”。
为了处理这种重复,需要根据以下模式自动实例化本体,其中个体name1
用于 person1 和 person2。
String NS = .... // the name space
OntModel model = .... // Jena model to use
// creating all the individuals with random uri
Individual person1 = model.createIndividual(NS + "PERSON" + Math.random());
Individual name1 = model.createIndividual(NS + "NAME" + Math.random());
Individual surname1 = model.createIndividual(NS + "SURNAME" + Math.random());
Individual person2 = model.createIndividual(NS + "PERSON" + Math.random());
Individual name2 = model.createIndividual(NS + "NAME" + Math.random());
Individual surname2 = model.createIndividual(NS + "SURNAME" + Math.random());
// asserting that ...
// person1 _hasName_ (name1 _hasValue_ "Ford")
// person1 _hasSurname (surname1 _hasValue_ "Henry")
name1.addProperty(model.getOntProperty(NS + "hasValue"), Resourcefactory.createLiteral("Ford"));
surname1.addProperty(model.getOntProperty(NS + "hasValue"), Resourcefactory.createLiteral("Henry"));
model.add(person1, model.getOntProperty(NS + "hasName"), name1);
model.add(person1, model.getOntProperty(NS + "hasSurname"), surname1);
name1 = null; // loosing reference to name1
// asserting that ...
// person2 _hasName_ name1
// person2 _hasSurname (surname2 _hasValue_ "Harrison")
如何找到NAME
属性hasvalue
为“福特”的类的个体以正确完成实例化?
感谢您的回复。