Возник следующий вопрос.
Традиционно термины таксономии привязаны к ноде в целом. Для небольших текстов это хорошо.
А вот можно ли как нибудь привязывать термин таксономии не к ноде в целом, а к определенному месту в этой ноде? Обозначенному например каким нибудь якорем?
В объемных текстах это было бы на мой взгляд довольно удобно (с точки зрения навигации).
Комментарии
В таблице term_node хранятся чисто nid и tid, то есть ид ноды и термина, по этому стандартными средствами сделать это не получится. Возможно получится наколдовать свой хак, но только как ты представляешь админский интерфейс привязки тремина к конкретному участку текста?
Что нужно делать отдельный модуль понятно Хоть я и надеялся что кто то этим вопросом озадачивался.
Вопрос интерфейса - второй Первый вопрос - нужен ли такой функционал вообще?
На мой взгляд для сайтов с объемными текстами такое могло бы пригодиться
Мне кажется решение где-то рядом...
попробуйте поэкпериментировать с книгами (пошивками или как их там еще можно назвать) - стандартный модуль books.
Позволяет собирать разные ноды в одно логическое целое.
Нет, это как раз не решение. Подшивка - это все таки несколько нод объединенных в подшивку. И тут как раз получается у ноды свои таксономии. То есть пришли туда откуда начинали
Не совсем правильно "резать" на несколько нод длинные тексты. А в таких текстах встречаются разные темы и определения
Назначение термина таксономии на длинный текст не решает проблемы Так как в тексте ещё найти надо где интересующий вопрос поднят и рассматривается. Особенно если мы сталкиваемся с текстом разделённом на несколько pages
На мой взгляд это вообще проблема для традиционных средств навигации. они по сути предназначены для сайтов с краткими сообщениями, заметками и т.д. Выходит что при помощи таксономии мы можем организовать навигацию только "по вертикали". А вся навигация "по горизонтали" в нодах строится на основании стандартного поиска. Максимум что можно в такой ситуации сделать - добавить в начале текста оглавление. Что не решает проблему, так как не содержит одной из главных возможностей таксономии - назначения нескольких терминов (из одного или нескольких словарей) на один объект.
Имхо, то, о чем вы говорите, это - семантическая разметка. Т.е. возможность организовать присвоение тегов отдельному фрагменту текста.
В каком-то смысле Toologic прав - по сути дела, мы можем считать "нодой" не длинный текст, а, например, абзац или законченный смысловой кусок текста. "Материал" (нода) - и есть такой "инфоблок" (размер его не существенен). Прагматически, конечно, модуль books может быть неудобен.
Я вижу в проблеме семантической разметки 2 концептуальные сложности:
во-1-х, проблема границ в "измельчении" ноды. Т.е. проще говоря, если мы от тегирования (смысловой разметки) текстов переходим к тегированию кусков текста, то почему бы на не пойти дальше - тегировать абзацы, фразы, а затем и отдельные слова? С практической точки зрения - это вопрос, как нам понять, что является самодостаточным смысловым куском текста?
во-2-х, проблема, кто будет расставлять теги. Пока единицей разметки остается отдельный материал (документ, нода) эта задача ложится на автора (или того, кто размещает текст в системе), да и то - делается не всегда и это довольно затруднительная процедура. Что будет, если надо будет вручную размечать многочисленные фрагменты текста?
Выход - либо организационный (формировать в сообществе группу редакторов, занимающихся семантической разметкой вводимых текстов), либо технический - попытаться алгоритмизировать и автоматизировать этот процесс. Каков алгоритм?
Об этом - в следующей серии.
Задействовать алгоритм Байеса, как это используется в модуле SPAM?
При чём здесь термины и при чём здесь ноды?
Опиши, что необходимо, а мы подумаем как сделать. А то я не вижу функционала.
Не совсем в тему, но интересно, поскольку про смысловую обработку: "автоматическое составление пресс-портрета по материалам сообщений" - http://news.yandex.ru/people-search-tech.html
Получается, например, "Чебурашка Геннадий" - http://news.yandex.ru/people/cheburashka_gennadij.html
я вот тоже думаю о чём-то подобном... только никак не могу сложить в голове как это должно быть. Я всё со своим сайтом по истории Таганки вожусь. Так вот, на многих домах есть памятные таблички о всяческих событиях и известных жильцах, это все знают. Идея такая - в ноде, в которой находится статья про конкретную улицу, в самом низу под статьёй хочу ставить список памятных табличек на этой улице. И, естественно, сделать общий их список по району и вывести его в меню. В этом списке, соответственно, надо дать ссылки на те места статей, где идёт описание табличек. Вручную всё это делать - геморрой жуткий. Автоматизировать как-то реально? как раз что-то типа таксономии по якорям надо...
Очень интересная задача. Хотелось бы услышать ещё и gasloff@drupal.org
У меня несколько иная задача, но из той же оперы
Берём любой юридический текст, например 4-я часть ГК РФ
Статья 1232. Государственная регистрация результатов интеллектуальной деятельности и средств индивидуализации
1. В случаях, предусмотренных настоящим Кодексом, исключительное право на результат интеллектуальной деятельности или на средство индивидуализации признается и охраняется при условии государственной регистрации такого результата или такого средства.
2. В случаях, когда результат интеллектуальной деятельности или средство индивидуализации подлежит в соответствии с настоящим Кодексом государственной регистрации, отчуждение исключительного права на такой результат или на такое средство по договору, залог этого права и предоставление права использования такого результата или такого средства по договору, а равно и переход исключительного права на такой результат или на такое средство без договора, также подлежат государственной регистрации, порядок и условия которой устанавливаются Правительством Российской Федерации.
(и далее по тексту...)
Чтобы было удобно читать и понимать данный текст необходимо давать ссылки на формулировки в том же ГК или в других законах и подзаконных актах вот какого числа терминов:
а. случаи, предусмотренные настоящим Кодексом (в части госрегистрации результатов ИД)
б. исключительные права (вообще)
в. результат интеллектуальной деятельности
г. средство индивидуализации
д. отчуждение исключительного права по договору
е. залог права
ж. предоставление права использования по договору
з. переход права без договора
и. государственная регистрация
Причём здесь зачастую требуются не однозначные ссылки (что можно просто сделать), а ссылки многозначные - то есть ссылка и на определение в кодексе, и на судебную практику, и на обычаи делового оборота.
Это если мы смотрим на навигацию "от документа". А ещё есть навигация "от справочника", когда необходимо дать ссылку на формулировку того или иного вопроса в длинном тексте, или вообще на прецедент или аналогию в тексте какого-либо судебного решения. В то время как такое решение может занимать довольно большой объем и при этом в силу своей структуры имеет довольно большую "описательно-мотивировочную" часть и спрятанную глубоко в тексте часть "резолютивную". Причём в резолютивной части содержатся по несколько определений, каждый из которых может быть интересен с точки зрения прецедента.
Задача ясна.
Вижу несколько проблем.
Первая - пометка блоков информации тэгами. Вариант - сделать фильтр и писать что-то вроде %%словарь==категория==описание%%, фильтр после обработки текста вставит в это место автоякорь и занесёт инфу о теге в БД. Другой вариант - что-то на jQuery в теле редактирования материала. Ещё вариант - стандартный Drupal'овский сворачивающийся бокс с перечнем якорей в тексте материала, у каждого якоря опция - задать словарь-категорию-описание.
Вторая проблема - хранение информации. Можно сделать свою таблицу в БД - не проблема, но хотелось бы поиметь стандартную таксономию в расширенном исполнении. Может задействовать синонимы?
Именно интересно чтобы таксономия была по максимуму единая со стандартной.
а я видел на многих сайтах сделано так что некоторые словосочетания автоматически делаются ссылкой на описание этого словосочетания, наверно в wiki даже такое есть, а в друпале какой модуль?
Это фигня. Это можно реализовать просто фильтром: ищем слова (словосочетания) из списка и заменяем их на ссылки.
Здесь задача сложнее: надо сделать ссылочность туда - обратно.
Если проводить аналогию, то первый вариант - это обычный гипертекст: на странице есть ссылки на другие страницы, но другие страницы об это не знают; второй вариант - web 2: когда ставишь ссылку на сайт, этот сайт об этом узнаёт и может построить список страниц, ссылающихся на него. Согласись, разница очевидна.
согласен, а как модуль называется что это делает?
вроде нет такого модуля