Получение представления клипов/пинов экземпляров Protege с помощью API внутри плагина

У меня есть приложение, которое обрабатывает файл .pins, сгенерированный проектом Protege (3.5, Frames).

Я хотел бы иметь возможность обрабатывать файл из Protege. У меня возникла проблема с получением представления проекта (или даже экземпляра) из API.

Есть ли что-то в API, что позволит мне получить представление .pins, или мне придется свернуть свой собственный парсер проекта/экземпляров, чтобы сгенерировать его вручную?


person Rich    schedule 20.11.2013    source источник
comment
Это достаточно специализированный вопрос, и вам, возможно, повезет задать его в списке рассылки Protégé. Кроме того, вопросы, в которых нас просят рекомендовать или найти инструмент, библиотеку или любимый сторонний ресурс, не относятся к теме Stack Overflow, поскольку они, как правило, привлекают самоуверенные ответы и спам. Вместо этого опишите проблему и то, что уже было сделано для ее решения. Однако, поскольку, вероятно, есть только один простой способ сделать это, я не думаю, что ответы будут такими самоуверенными. Но вопросы, связанные с инструментами, часто закрываются именно по этой причине.   -  person Joshua Taylor    schedule 20.11.2013
comment
Спасибо за ваши комментарии @JoshuaTaylor, и я понимаю, что вопрос довольно специализированный - при этом я на самом деле не искал предложений по инструменту или библиотеке, мне нужно было решение из Protege API. Кое-что, чего мне удалось достичь, но не самым элегантным способом.   -  person Rich    schedule 21.11.2013
comment
И именно поэтому я упомянул, что это не общий набор рекомендаций; есть, вероятно, только несколько хороших способов сделать это. Это приводит нас к тому, что вопросы, касающиеся проблем, с кодом, который вы написали, должны описывать конкретную проблему — и включать действительный код для ее воспроизведения — в самом вопросе. и Вопросы, запрашивающие код, должны демонстрировать минимальное понимание решаемой проблемы. Включите попытки решения, почему они не сработали и ожидаемые результаты. Демонстрация вашего существующего кода может облегчить поиск альтернатив…   -  person Joshua Taylor    schedule 21.11.2013
comment
Справедливое мнение - я отредактирую вопрос, включив в него свои первоначальные попытки кодирования, если смогу спасти их в удобное время.   -  person Rich    schedule 21.11.2013


Ответы (1)


Я смог добиться того, чего хотел, создав экземпляр объекта ClipsFilesExportProjectPlugin в своем собственном плагине. При этом вы можете указать имя файлов контактов и точек и выполнить экспорт, чтобы у вас была копия файла на диске и вы могли делать с ней все, что вам нужно. Довольно уродливо, но достигает того, для чего мне это нужно.

            ClipsFilesExportProjectPlugin p = new ClipsFilesExportProjectPlugin();
            p.setFiles("temp.pont", "temp.pins");
            p.exportProject(getKnowledgeBase().getProject());

            File pontFile = new File("temp.pont");
            File pinsFile = new File("temp.pins");

            // do what you require with the pins (and / or pont) file

            pontFile.delete();
            pinsFile.delete();
person Rich    schedule 21.11.2013