См. обсуждение на странице https://www.semantic-mediawiki.org/wiki/Architecture_Tradeoffs а>
Просмотренные SMW_TRIPLES и SWM_TRIPLES_NS предоставят вам доступ к субъекту, предикату, объекту и типу троек, хранящихся в SQLStore3.
То, как это работает, показывает, как общая структура базы данных SQLStore3 связывает элементы.
теперь вы конкретно запрашиваете таблицу smw_object_ids
который имеет следующие столбцы:
Field Type Null Key Default Extra
smw_id int(8) unsigned NO PRI (null) auto_increment
smw_namespace int(11) NO (null)
smw_title varbinary(255) NO MUL (null)
smw_iw varbinary(32) NO (null)
smw_subobject varbinary(255) NO (null)
smw_sortkey varbinary(255) NO MUL (null)
smw_proptable_hash mediumblob YES (null)
чтобы иметь возможность просматривать содержимое varbinaries, вы можете использовать приведение, например. как
select smw_id as id, cast(smw_subobject as char) as subobject,cast(smw_title as char)
as title
from smw_object_ids
where length(smw_subobject)>0
Теперь вы увидите, что этот подобъект имеет внутренний хэш-код, который добавляется к заголовку страницы, чтобы сделать подобъекты идентифицируемыми на странице.
Вот пример страницы под названием «HammerUndSichel», которая имеет четыре подобъекта:
id subobject title
91147 _0a12ff61e3b10c31478f2ff62b49e68e HammerUndSichel
91149 _52193085936ccfee4bc197ce37614073 HammerUndSichel
91207 _7fba483328e69e6aeb6dff0fc74447f4 HammerUndSichel
91148 _838fe1bff8f83dbfa40fb3314c47677b HammerUndSichel
Для внутреннего хранилища используется столбец «id», а столбец подобъектов еще не задействован. Проблемы начинаются только тогда, когда вы хотите выполнить какой-то обратный поиск. Например. подобъект с идентификатором 91147 и подобъект _0a12ff61e3b10c31478f2ff62b49e68e, в котором вы хотите узнать какое-либо значение свойства, установленное в этом подобъекте. В запросе запроса вы делаете это с помощью hasSubObject в хранилище SQL, это становится более сложным.
Представление SMW_TRIPLES_NS решает эту проблему, добавляя информацию о пространстве имен и подобъекте к каждому субъекту в триплетах. Это позволяет однозначно идентифицировать тройки подобъектов.
Что касается второй части вашего вопроса о хеше, пожалуйста, посмотрите на некоторые другие ответы, которые кажутся более компетентными в этом вопросе, чем я.
person
Wolfgang Fahl
schedule
24.05.2017