Партнерка на США и Канаду по недвижимости, выплаты в крипто
- 30% recurring commission
- Выплаты в USDT
- Вывод каждую неделю
- Комиссия до 5 лет за каждого referral
Описание задач
1. Графическая визуализация связей между объектами в Соционет
Определения
Соционет – информационный хаб. См. подробнее - http://*****/docs/infohubs. htm Работает под UNIX FreeBSD. Данные в PostgreSQL Софт на Perl. Обработка ХМЛ вывода через Cocoon.
Объекты Соционет – экземпляры типов метаданных, существующих в Соционет и описанных в http://swb. *****/datatype. htm
Связи между объектами – метаданные разных типов включают поля, в которых могут быть заданы ID родственных объектов из Соционет. За счет этого между объектами возникают связи. Связи хранятся в базе с атрибутом «направление» (например, от объекта А к объекту Б).
Пример - тип person (карточка ученого) позволяет включить в нее ID организации-места работы, ID коллекций, созданных данным человеком, ID его материалов, размещенных в Соционет и др. См. инструкцию с описанием правил заполнения подобных полей - http://*****/docs/instr1/instruction_02.htm
Задачи (в 1-м приближении для обсуждения)
Конечная цель – дать авторам материалов и администраторам от организаций средства, чтобы формировать и развивать визуализированную сеть логических связей между своими объектами в Соционет и другими родственными. Кроме визуализированного графа связей будут показываться количественные (а качественные?) характеристики сети связей для заданного объекта (развитие идеи "индекса цитирования"), что позволит ранжировать объекты по этим параметрам. В результате объекты Соционет (карточки организаций, подразделений, ученых, научных материалов) будут иметь определенный количественный показатель их значимости. Этот показатель в соединении с индикаторами активности/востребованности соответствующих информационных ресурсов позволит дать научному сообществу дополнительную информацию о научных вкладах и результатах деятельности участников научно-образовательного сообщества.
1.1. Предложить (или найти готовый) удобный формат для передачи данных о визуализируемых связях от СУБД в программу, которая рисует картинку с графом связей. Желательно чтобы формат основывался на ХМЛ, мог компактно создаваться «на лету» и/или сохраняться в хранилище данных, предполагать экспорт в другие системы, и обработку веб-сервисами. Желательно сразу сделать формат отчуждаемым продуктом, чтобы желающие могли его использовать для своих целей как определенный стандарт.
Текущая реализация формата:
<?xml version="1.0" encoding="utf-8"?>
<root>
<nodes> - секция данных об узлах графа
<node
id="repec:rus:ecoper:parinov_sergei.14908-1" – хендл объекта-узла
group="person" – тип данных объекта-узла
level="1" – количество ребер до центра графа
title="Сергей Паринов" – название объекта-узла на графе
url="http://socionet.ru/publication.xml?h=repec:rus:ecoper:parinov_sergei.14908-1&type=person" – ссылка от узла на страницу объекта в Соционет
comment="сотрудники организации" – текст, всплывающий при наведении на узел
/>
<node …/>
…
</nodes>
<edges>
<edge --- вообще-то экономнее бы вставить данные о ребрах прямо в атрибуты узла
id="repec:rus:ecoorg:kolobova_elena.29630-1" – хендл узла-родителя
id2="repec:rus:ecoper:parinov_sergei.14908-1" – хендл узла-ребенка
type="0" – 0 – ненаправленная, 1- направленная от родителя к ребенку, 2-обратнонаправленная, 3 - двунаправленная
url="???" – ссылка, которая будет вести от ребра
comment="сотрудники организации" – текст, всплывающий при наведении на ребро
/>
<edge …/>
…
</edges>
</root>
1.2. Сделать программу ("визуализатор"), которая для заданного объекта будет создавать файл в формате из п. 1.1. с данными о связях данного объекта и передавать этот файл для визуализации другой программе или сохранять его в хранилище.
Вставить описание программы (язык реализации, права на использование и т. п.).
1.3. Предложить алгоритм для машинного определения связей между объектами на основе их данных. ФИО авторов, ключевые слова из названий и поле keywords, коды классификаторов и т. п.
Этот пункт на дальнейшее развитие: может быть использован запрос к базе (Свищу) для поиска по ключевым словам других объектов.
1.4. Сделать программу визуализации связей на основе файлов в формате 1.1. Желательно графический вывод сделать через SVG (с его последующим конвертацией модулями Cocoon/Batik в PNG или JPG).
Комментарий: формат SVG желателен, т. к. это даст пользователям возможность сохранять и изменять в текстовом режиме картинку с графом связей (в обычном текстовом редакторе) для ее самостоятельного отрисовывания SVG-вьювером и вставки картинки в нужном виде в свои отчеты и т. п.
1.5. Желательно сделать это так, чтобы внешние разработчики могли добавлять в систему свои модули для показа новых типов связей.
Для этого мы предложим следующие правила: Для объекта каждого заданного типа (карточка организации/подразделения, сотрудника, материала) будет опубликован текущий список видов связей, которые для него определены. Этот список и открывается на графе как ближайшие "дети" заданного объекта, от которых уже приводятся их конкретные данные. Для каждого вида связи будет опубликована формула/алгоритм определения связей с родственными объектами. Пользователям будет предложено подавать предложения по включению в списки новых видов связей, включая и алгоритм их определения. Разработчики Соционет будут практически реализовывать разумные предложения.
Хотелось бы получить как результат (еще будет уточняться):
1. Граф связей института (учитывать связи в обе стороны) - в центре заданный институт, от него дуги к группам однотиповых объектов, включая:
а)сеть персональных связей – руководство+сотрудники (с отображением их параметров, публикации, рейтингов,…), анализируются поля Primary-Director, Primary-DeputyAdministrator, Primary-Secretary, X-Person, а также обратные связи от person на эту карточку
б)сеть организационных связей - его подразделения (выборка обратных кросс-линков на институт из записей с типом institution, имеющих хендл заданного институ в поле Primary-InstitutionHandle) и вышестоящая организация (свое поле Primary-InstitutionHandle); X-Handle (замещения), а также другие обратные связи от разных записей на эту карточку
в)сеть тематических связей - коллекции института (с отображением их размера, популярности,…), поля - X-Collection, X-Ancestor, а также обратные связи от series на эту карточку
Пример входного файла данных для карточки ИЭОПП СО РАН (http://old. *****/publication. xml? h=repec:rus:ecoorg:space_eco.6302-1&type=institution):
<?xml version="1.0" encoding="utf-8"?>
<root>
<nodes>
<node
id="repec:rus:ecoorg:space_eco.6302-1"
group="institution"
level="0"
title="ИЭОПП СО РАН"
url="http://old.socionet.ru/publication.xml?h=repec:rus:ecoorg:space_eco.6302-1&type=institution"
comment="сеть связей организации"
/>
<node
id="repec:rus:ecoorg:space_eco.6302-1&s=a&f=x_person"
group="s=a&f=x_person"
level="1"
title="Сотрудники организации"
url="http://old.socionet.ru/cross-list.xml?h=repec:rus:ecoorg:space_eco.6302-1&s=a&f=x_person"
comment="прямые связи на сотрудников организации"
/>
<node
id="repec:rus:ecoorg:space_eco.6302-1&s=c&f=WorkPlace-Name"
group="s=c&f=WorkPlace-Name"
level="1"
title="Персональные карточки"
url="http://old. *****/cross-list. xml? h=repec:rus:ecoorg:space_eco.6302-1&s=c&f=WorkPlace-Name"
comment="обратные связи от персональных карточек"
> -- для узлов уровня 1, по умолчанию (если не задан id) связь делается с центром с типом 0
<edge id="" type="1" comment="обратные связи от персональных карточек"/>
</node>
<node
id="repec:rus:ecoorg:space_eco.6302-1&s=a&f=x_collection"
group="s=a&f=x_collection"
level="1"
title="Коллекции организации"
url="http://old. *****/cross-list. xml? h=repec:rus:ecoorg:space_eco.6302-1&s=a&f=x_collection"
comment="прямые связи на коллекции организации"
/>
<node
id="repec:rus:socper:space_eco.6302-1"
group="person"
level="2"
title="Сергей Паринов"
url="http://old. *****/publication. xml? h=repec:rus:socper:space_eco.6302-1&type=person"
comment="сотрудник организации"
>
<edge id="repec:rus:ecoorg:space_eco.6302-1&s=a&f=x_person" type="0" comment="сотрудник организации" url="" />
<edge id="repec:rus:ecoorg:space_eco.6302-1&s=c&f=WorkPlace-Name" type="0" comment="обратная связь от персональной карточки" url="" />
</node>
<node
id="repec:rus:ieiepu"
group="series"
level="2"
title="Каталог изданий ИЭОПП СО РАН"
url="http://old. *****/collection. xml? h=repec:rus:ieiepu"
comment="коллекция организации"
>
<edge id="repec:rus:ecoorg:space_eco.6302-1&s=a&f=x_collection" type="0" comment="" url="" />
</node>
<node …/>
…
</nodes>
…
</root>
2. Граф связей карточки человека. Ближайшие узлы являются искусственными по аналогии с типом "институт") и состоят из:
- "место работы", от него записи из поля WorkPlace-Name, а также найденные обратные связи от записей с типом institution
- "публикации", от него записи из поля X-Publication,
- "коллекции", от него записи из поля X-Collection
- "замещения" - из поля X-Handle
- "родственные объекты" - из X-Ancestor
Можно на следующем этапе сделать автоматические узлы 2-го уровня
- "разделы науки" (названия и коды классификаторов из его публикаций),
- "соавторы" (те, кого удалось автоматически распознать как соавторов в совместных публикациях).
3. Граф связей публикации (по способу построения узлов 2-го уровня похоже на предыдущие типы) имеет искусственные узлы:
- "авторы", от него узлы 3-го уровня из поля Author-Handle, а также обратные связи от записей с типом person, имеющих хендл заданной публикации в поле X-Publication
- "организации авторов", от него узлы 3-го уровня из поля Organization-Handle
- "родственные объекты", от него записи, указанные в поле X-Ancestor, а также обратные связи от записей с типом person, имеющих хендл заданной публикации в поле X - Ancestor
Можно на следующем этапе сделать автоматические узлы 2-го уровня
- "разделы науки" (названия и коды классификаторов из поля Classification),
- "соавторы" (те, кого удалось автоматически распознать как соавторов в поля Author-Name)
- "использованные материалы", хендлы, указанные в поле "литература/использованные материалы" – x-references.
4. В голову приходит еще много других вариантов (например, связи между статьями классификаторов через их совместное упоминание в публикациях и т. д. и т. п.), если реализовать п. 1.5., то будет возможность подключить к этому «творчество масс»
2. Построения индикаторов активности/востребованности на основе лог файлов
Определения
Лог файлы – журнал http обращений к материалам Соционет на *****, которые ведет веб-сервер «Апач». Из этих лог-файлов на основе правил Logec (http://logec. repec. org/about. htm) строятся отфильтрованные списки обращений (см. примеры на ftp://*****/logec-dom/), которые вероятно и нужно заливать в СУБД. Мы должны еще доработать эти обработанные данные (в них нет данных об "активности", а только "востребованность") и перевести их построение в ежедневный режим (сейчас – раз в месяц).
Информационная активность/востребованность -
а)активность - индикаторы частоты обновлений и/или выкладывания новых материалов в Соционет для персон и для организаций (как сумма активности персон, принадлежащих данной организации);
б)востребованность – количества уникальных обращений на УРЛы объектов в Соционет, включая суммирование обращений по связям исходного объекта с родственными (например, показатель востребованности «персоны» считается как сумма аналогичных показателей публикаций, автором которых он является).
Задачи (для обсуждения)
Ниже детализируется следующая цепочка обработки данных: а)заливка обработанных данных из логов в базу; б)модульная и пополняемая система задания формул для расчета показателей; в)способ соединения показателей с основными данными (объектами) Соционет; г)методы визуализации сводных показателей в виде графиков и диаграмм.
2.1. Дать предложения по улучшению структуры подготовленных данных, если это требуется. Предложить схему разовой ежедневной заливки в базу подготовленных данных. Дать прогноз по росту размеров базы и проблем со скоростью исполнения запросов. Предложить схему оптимизации размера базы (м. б. старую часть базы экспортировать в наборы файлов с данными для показа графиков, чтобы база не переполнялась).
Текущая структура записей из обработанного лог файла (пример из ftp://*****/logec-dom/RuPEc.log), содержащих данные о запросах к содержимому Соционет:
дата-----база-----хендл-тип----IP-------
2006-06 RuPEc repec:aah:aarhec a: 67.186.99.187
2006-06 RuPEc repec:aal:abbswp:04-13 d: 82.138.23.229
2006-06 RuPEc repec:aal:abbswp:06-01 d: 82.138.23.229
2006-06 RuPEc repec:abp:hehehe a: 67.186.99.187
2006-06 RuPEc repec:aea:aecrev:v:71:y:1981:i:3:p:393-410 d: 195.151.159.22
2006-06 RuPEc repec:aea:aecrev:v:81:y:1991:i:2:p:222-26 d: 84.137.210.69
2006-06 RuPEc repec:aea:aecrev:v:88:y:1998:i:5:p: d: 82.179.218.10
2006-06 RuPEc repec:aea:jeclit:v:24:y:1986:i:3:p:1141-77 d: 195.151.159.22
где
1) дата – год и месяц запроса, нужно добавить день и время, т. к. данные будут обрабатываться в дневном режиме
2) база – имя базы (RuPEc означает Соционет), к которой относится запрос
3) хендл – уникальный код объекта в базе, который является единым для разных информ. систем
4) тип – может быть только "a" или "d",
"a" – запрошена только карточка (абстракт)
"d" – из карточки нажата ссылка из поля file-url, т. е. сделана попытка просмотреть "полный текст" материала
5) IP – айпишник, с которого пришел запрос.
При обработке месячной (календарный месяц) порции лог файлов из них отфильтровываются запросы от "роботов" (IP роботов приводятся в начале файла) и "дубли". Устранение дублей означает, что в подготовленный файл попадают только по одному запросу, имеющие одинаковый набор всех 5-х параметров. Для новых условий я не уверен, что нужно отфильтровывать дубли.
Примеры запросов к этим данным для построения индикаторов:
Востребованность
1) количество уникальных/полных обращений на заданный хендл за заданный временной период (день, неделя, месяц и т. п.), делается как подсчет записей с заданным хендлом с учетом заданного временного параметра
2) агрегированный индекс обращений день/неделя/месяц к заданному хендлу, который включает суммирование количеств из п. 1 по связям исходного объекта с родственными (например, показатель востребованности «персоны» считается как сумма аналогичных показателей для публикаций, автором которых он является и т. д.)
3) подсчет динамики ежедневных обращений к базе в целом (по полю "база"), к содержанию архива (суммирование для всех хендлов заданного архива), к содержанию коллекции (аналогично архиву), к ресурсам организации (сумма по связям), к ресурсам человека (сумма по связям), все это может разделяться по "типу" (т. е. общее количество включает % запросов с типом "а" и "d")
4) может со временем понадобиться и для заданных айпишников подсчитывать характеристики их "интересов" (параметры распределения их запросов по хендлам и времени), но это вроде пока не очень интересно.
Активность (для подсчета данные из лог файлов вроде не нужны)
- индикаторы частоты или интенсивности обновлений и пополнения новыми материалами для базы в целом, для архива, коллекции, организации (сумма по связям), человека (сумма по связям),
Подсчитывается на основе временного анализа количеств измененных новых хендлов в коллекциях, в персональных наборах публикаций (из поля x-publication для типа person). Затем эти показатели агрегируются.
2.2. Предложить механизм для децентрализованного включения в систему новых формул для подсчета частных показателей, придуманных юзерами. В принципе, и админам Соционета нужна такая возможность, т. к. не все показатели можно придумать сразу. Они будут появляться и уточняться по ходу развития Соционет.
2.3. Предложить механизм расчета и встраивания нужных показателей в систему Соционет (рассчитанные данные раз в сутки дописываются в основные таблицы базы, или хранятся отдельно, но соединяются с основными в момент запросов и их слияния в XSL).
Показатели могут показываться на следующих типах веб-страниц:
а)в поле «рейтинг» веб страниц всех объектов (персона, организация, материал и т. п.);
б)в оглавлениях коллекций и разделов, где это полезно для переупорядочивания;
в)на специально построенных сводных страницах динамики рейтингов разных видов. В последнем случае предстоит еще придумать интересные/информативные для юзеров сводные таблицы и графики (сводные могут быть по дисциплине, по разделу, по коллекции, по публикации, по времени, по организации, по персоне и т. п.)
2.4. Показатели подсчитываются для следующих типов объектов (коды объектов ниже в скобках даются по списку - http://swb. *****/datatype. htm):
- карточка человека (person);
- карточка института/подразделения (institution);
- материал (все остальные типы).
Подсчет для person и institution включает сумму по всем родственным объектам, связи с которыми установлены для текущего объекта.
2.5. Предложить удобную схему визуализации сводных данных в виде графиков и диаграмм (может в SVG?).


