Проблема в выводе экземпляров, имеющих целочисленное ограничение мощности

StackOverflow https://stackoverflow.com/questions/3033688

Вопрос

Я создал файл RDF / SOLL, используя Protege 4.1 Alpha. Я также создал определенный класс в Protege под названием дешевые звонки. Этот класс имеет ограничение, которое показано ниже:

(hasPrice some integer[< 350])

Всякий раз, когда цена телефона ниже 350, она выводится как дешевый телефон. Нет проблем для вывода этого в Protege 4.1 Alpha. Однако я не могу сделать это сделать это, используя Йену.

Я также создал определенный класс под названием смартфон. Этот класс также имеет ограничение, которое показано ниже:

(has3G value true) and (hasInternet value true)

Всякий раз, когда телефон имеет 3G и Интернет, он выводится как смартфон. В этой ситуации нет проблем, выводящих это как в Protege, так и в Йене.

Я начал думать, что в двигателе инициализации INFACKING возникает проблема. Код, который я использую в Java, ниже:

Reasoner reasoner = ReasonerRegistry.getOWLReasoner();

reasoner = reasoner.bindSchema(ontModel);
    OntModelSpec ontModelSpec = OntModelSpec.OWL_MEM_MINI_RULE_INF;
    ontModelSpec.setReasoner(reasoner);
    // Create ontology model with reasoner support
            // ontModel was created and read before, so I don't share the code in order
            // not to create garbage here
    OntModel model = ModelFactory.createOntologyModel(ontModelSpec, ontModel);

    OntClass sPhone = model.getOntClass(ns + "SmartPhone");
    ExtendedIterator s = sPhone.listInstances();
    while(s.hasNext()) {
        OntResource mp = (OntResource)s.next();
        System.out.println(mp.getURI());
    }

Этот код отлично работает и возвращает мне экземпляры, но когда я меняю код ниже и сделаю его подходящим для дешевых телефонов, это ничего не возвращает.

OntClass sPhone = model.getOntClass(ns + "CheapPhone");

Я делаю что-то неправильно ?

Это было полезно?

Решение

Диапазоны данных ( [< 350] Бит) - особенность совы 2. Йена не поддерживает сову 2. См. W3C Объявления совы 2 Страница для списка инструментов с поддержкой совы 2 - вам придется использовать один из них. (Некоторые экспериментальные продолжающиеся работы для Йены указаны там, но это определенно не сделало его в релиз в Йене.)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top