Есть ли какое-нибудь убийственное приложение для Онтологии / Семантики / OWL / RDF? [закрыто]

Хотя есть много хороших объяснений выше, я пропускаю практический способ разделения шаблонов на заголовок и тело. Моя главная задача - избегать перекомпиляции всех пользователей шаблонов, когда я меняю свое определение. Все экземпляры шаблонов в корпусе шаблона не являются жизнеспособным решением для меня, поскольку автор шаблона может не знать всех, если его использование и пользователь шаблона могут не иметь права его модифицировать. Я принял следующий подход, который также работает и для более старых компиляторов (gcc 4.3.4, aCC A.03.13).

Для каждого использования шаблона в его собственном файле заголовка (сгенерированном из модели UML) имеется typedef, , Его тело содержит экземпляр (который заканчивается в библиотеке, которая связана в конце). Каждый пользователь шаблона включает этот файл заголовка и использует typedef.

Схематический пример:

MyTemplate.h:

#ifndef MyTemplate_h
#define MyTemplate_h 1

template <class T>
class MyTemplate
{
public:
  MyTemplate(const T& rt);
  void dump();
  T t;
};

#endif

MyTemplate.cpp:

#include "MyTemplate.h"
#include <iostream>

template <class T>
MyTemplate<T>::MyTemplate(const T& rt)
: t(rt)
{
}

template <class T>
void MyTemplate<T>::dump()
{
  cerr << t << endl;
}

MyInstantiatedTemplate.h:

#ifndef MyInstantiatedTemplate_h
#define MyInstantiatedTemplate_h 1
#include "MyTemplate.h"

typedef MyTemplate< int > MyInstantiatedTemplate;

#endif

MyInstantiatedTemplate.cpp:

#include "MyTemplate.cpp"

template class MyTemplate< int >;

main.cpp:

#include "MyInstantiatedTemplate.h"

int main()
{
  MyInstantiatedTemplate m(100);
  m.dump();
  return 0;
}

Таким образом, нужно будет перекомпилировать только экземпляры шаблонов, не всех пользователей шаблонов (и зависимостей).

30
задан SyntaxT3rr0r 30 March 2010 в 07:38
поделиться

6 ответов

В биологии очень высок интерес к RDF и родственным технологиям. Людям нужен как меньший объем синтаксического анализа, так и настраиваемый код для интеграции данных, а также более сложные запросы. RDF уже предоставляет первое; например, UniProtKB , один из крупнейших биомедицинских ресурсов, предлагает свои данные в RDF. Для расширенных запросов мы еще не совсем подошли, так как производительность и доступность хороших данных RDF и онтологий OWL все еще немного не хватает. Но это уже начало, посмотрите BioGateway , чтобы увидеть пример того, что можно сделать.

В этом свете плодами этих технологий являются не отдельные приложения-убийцы, а вся накопленная экономия времени для исследователей, которые могут исследовать данные вместо того, чтобы писать специальные сценарии, настраивать временные базы данных SQL и все такое.

7
ответ дан 28 November 2019 в 00:10
поделиться

Я думаю, что Drupal 7 может стать убийственной семантикой app, это следующая версия CMS с большой установочной базой, и когда выпуск станет окончательным, и все начнут внезапно обновляться, тонны сайтов будут автоматически предоставлять RDF в форме встроенного RDFa без какого-либо вмешательства со стороны пользователей.

С точки зрения бизнеса, я думаю, что такие вещи связанные данные такие, как GoodRelations , являются потенциально опасным приложением, например, см. Эти Скотт Бринкер и Приянк Мохан сообщения в блоге, в которых обсуждается, как BestBuy испытал 30% -ное увеличение трафика после начала встраивания GoodRelations на основе связанных данных как RDFa на свои веб-страницы.

В целом связанные данные - отличный способ дополнить ваш сайт машиночитаемыми данными и показать замечательные результаты в видимости вашего сайта. Недавно я видел пару презентаций парней из BBC чье приложение для поиска дикой природы (приложение связанных данных, использующее ресурсы BBC по естественной истории) уже превосходит некоторые страницы Википедии, посвященные животным, в результатах поиска Google

15
ответ дан 28 November 2019 в 00:10
поделиться

Семантический веб полагается на то, что поставщики контента приложат усилия, чтобы правильно аннотировать все, чтобы сделать их машиночитаемыми.

Это слишком большая работа для большинства людей, не являющихся библиотекарями.

Настоящим убийственным приложением, похоже, будет что-то, что сможет извлекать семантику из неструктурированного контента без специальной разметки. Посмотрите, какую потрясающую работу проделал Google, например, со своим поисковым механизмом.

Для того чтобы система работала, она не должна быть тяжелым бременем для пользователей.

Средним вариантом являются системы тегов, как здесь, на Stackoverflow. Они работают довольно хорошо, несмотря на то, что теги совершенно произвольны и частично непоследовательны.

6
ответ дан 28 November 2019 в 00:10
поделиться

Глубокая семантическая поддержка интересна для ряда мест, где нужны мощные запросы. В качестве примера можно привести один проект, над которым я недавно работал, где сервис, который использовался для поиска того, куда направить рабочую нагрузку, был семантически основан. RDF/SPARQL сам по себе интересен тем, что он сразу же дает вам довольно богатые запросы, но когда вы добавляете онтологию OWL, он становится еще лучше, поскольку это означает, что вы можете отвечать на более богатые запросы (т.е. задавать вопросы, приближенные к тому, что действительно нужно пользователю - и его работодателю), позволяя при этом поставщикам услуг более четко выражать то, что они предлагают. Это не означает, что все должны рассказывать всем обо всем, вовсе нет. Вместо этого мы получили стороны, описывающие, какие услуги предоставляются, а не то, какую конфигурацию они используют для предоставления этих услуг. И все это стало возможным благодаря использованию семантических технологий во всех информационных системах".

В настоящее время я работаю над Taverna, которая использует RDF для обеспечения усовершенствованной системы регистрации; в частности, пользователи (особенно ученые) могут осуществлять поиск по множеству записанной информации гораздо легче, чем если бы им пришлось просто grep через огромный текстовый файл. В конце концов, было бы немного абсурдно, если бы вам пришлось использовать текстовый анализ, чтобы узнать, что на самом деле произошло в вашем рабочем процессе текстового анализа...

3
ответ дан 28 November 2019 в 00:10
поделиться

Я был впечатлен AceWiki. Это один из нескольких проектов вики, который пытается семантически организовать информацию, вводимую людьми.

Он все еще находится в стадии разработки и имеет некоторые ограничения. Например, он позволяет людям вводить только те предложения, которые соответствуют определенному набору английской лексики и грамматики.

Тем не менее, я надеюсь, что они приживутся. Существует огромное количество бесплатных данных (например, Википедия), и мы не можем создать программы для их анализа, потому что содержание слишком шумное".

3
ответ дан 28 November 2019 в 00:10
поделиться

Только что обнаружил DBpedia. Это многообещающая попытка представить множество данных из Википедии в виде RDF. Вы можете загрузить все извлечение в виде файла размером 16 ГБ, но у него также есть страница поиска по ключевым словам. Представление в виде RDF позволяет делать очень специфические "семантические" запросы. Здесь показано несколько примеров запросов, например, как можно найти список официальных сайтов компаний с числом сотрудников более 50000 человек. Вы можете даже удаленно запрашивать "облако" с помощью любой обертки, которая может взаимодействовать с его публичным API, например этот модуль Python.

7
ответ дан 28 November 2019 в 00:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: