Как делают Вас Связанная с реализацией функциональность тегов, как используется в Stackoverflow.com?

Как вы получаете предмет? Вы получаете это через dbcontext? или dbClient?

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

6
задан SáT 19 July 2013 в 18:36
поделиться

5 ответов

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

Например:

  • Подвергните сомнению теговое с tag1, tag2
  • Вопрос B отмеченный с tag1, tag3
  • Вопрос C отмеченный с tag1, tag2

Затем естественно предположить, что tag2 "связан с" tag1.

Я сказал бы, что лучшее место для изучения будет книгой Коллективного разума Программирования O'Reilly.

10
ответ дан 10 December 2019 в 00:45
поделиться

Хм, я не очень хорош в математике :-), но кажусь, что Вы ищете корреляцию между двумя тегами. Мой первый инстинкт должен был бы установить математическое ожидание на 50% (ожидание, что каждый тег появляется на 50% статей - это могло бы быть путем прочь), вычислите коэффициент корреляции тегов в парах и решите, что, если корреляция выше определенного значения (который необходимо определить путем экспериментирования), они связаны.

Кроме того, Вы могли бы добраться при помощи простой меры как (количество статей они co-appear) / (общее количество статей, где по крайней мере один тег появляется).

0
ответ дан 10 December 2019 в 00:45
поделиться

Несколько путей приходят на ум. Вы могли просто сделать быстрый запрос к связанным с выбором именам тега:

SELECT * FROM tags WHERE tag_name LIKE '%$current_tag%'

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

Я уверен, что кто-то придумает лучший ответ, таким образом, мне будет довольно любопытно также.

1
ответ дан 10 December 2019 в 00:45
поделиться

Может быть, так отслеживает, сколько тегов времени собрано вместе

  1. Я вставляю Q1 с тегами A + B, поэтому RelationshipWeight (A, B) = 1

  2. Я вставляю Q2 с тегами A + B, поэтому RelationshipWeight (A, B) = 2

  3. Теперь я удаляю Q1 и Q2. я должен знать "RelationshipWeight" к отсоединять теги, когда Relationship = 0

0
ответ дан 10 December 2019 в 00:45
поделиться

Использование:

(DataAccessDataContext db = new DataAccessDataContext())
        {
            Repeater1.DataSource = from rt in db.RelatedTags where st.ITEMID == itemid select new TagView() { ID = rt.Tag.ID, NAME = rt.Tag.NAME };
            Repeater1.DataBind();            
        }

///:)
-1
ответ дан 10 December 2019 в 00:45
поделиться
Другие вопросы по тегам:

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