Код для создания личности в онтологии?

1

Я хочу вставить данные в свою онтологию, используя этот код:

Resource resource = model.createResource(X_NAMESPACE + Global_ID);
Property prop = model.createProperty(RDF_NAMESPACE + "type");
Resource obj = model.createResource(X_NAMESPACE + "X");
model.add(resource, prop, obj);

Во-первых, правильно ли этот код создает отдельного человека указанного типа? Когда я запускаю этот код, он сохраняет без проблем, и модель выглядит правильно, но когда я хочу запросить модель, у меня возникли проблемы. Например, я сохраняю некоторые данные в X, и когда я его извлекаю, извлекаются все остальные данные.

Теги:
jena
sparql
rdf

1 ответ

0

Ваш код для создания ресурса правильный, но он не очень идиоматичен. Существуют методы, предоставляемые интерфейсом модели, которые облегчат создание ресурсов, и в интерфейсе ресурсов есть методы, которые упростят добавление типов. Код Heres, который иллюстрирует их:

import com.hp.hpl.jena.rdf.model.Model;
import com.hp.hpl.jena.rdf.model.ModelFactory;
import com.hp.hpl.jena.rdf.model.Resource;
import com.hp.hpl.jena.vocabulary.RDF;

public class CreateResourceExample {
    public static void main(String[] args) {
        Model model = ModelFactory.createDefaultModel();
        String NS = "http://stackoverflow.com/q/22471651/1281433/";
        model.setNsPrefix( "", NS );

        // Create the class resource
        Resource thing = model.createResource( NS+"ThingA" );

        // The model API provides methods for creating resources
        // of specified types.
        Resource x = model.createResource( NS+"X", thing );

        // If you want to create the triples manually, you can 
        // use the predefined vocabulary classes.
        Resource y = model.createResource( NS+"Y" );
        model.add( y, RDF.type, thing );

        // You can also use the Resource API to add properties
        Resource z = model.createResource( NS+"Z" );
        z.addProperty( RDF.type, thing );

        // Show the model
        model.write( System.out, "TTL" );
    }
}
  • 0
    Эй, Джошуа, большое спасибо за ваш пересмотр, вы очень понимающие люди
  • 0
    @ user2532099 Нет проблем; если вы предоставите больше информации о своем запросе (как это было указано в комментарии к вопросу), мы также сможем решить эту проблему.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню