Bitte die Diskussion auf https://www.semantic-mediawiki.org/wiki/Architecture_Tradeoffs
Die aufgerufen SMW_TRIPLES sehen und SWM_TRIPLES_NS gibt Sie zum Subjekt, Prädikat zuzugreifen, Objekt und Typ der in SQLStore3 gespeicherten Tripel.
Die Funktionsweise zeigt, wie die allgemeine Struktur der SQLStore3-Datenbank Elemente verknüpft.
jetzt sind Sie speziell für den Tisch zu fragen smw_object_ids
, die die folgenden Spalten:
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)
der Lage sein, den Inhalt der varbinaries anzuzeigen ein gegossenes zum Beispiel verwenden möchten wie
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
Jetzt werden Sie, dass subobject sehen einen internen Hash-Code, der auf den Seitentitel angehängt wird, die Subobjekte identifizierbar innerhalb einer Seite zu machen.Hier
ist ein Beispiel für Seite mit dem Namen „HammerUndSichel“, die vier Subobjekte haben:
id subobject title
91147 _0a12ff61e3b10c31478f2ff62b49e68e HammerUndSichel
91149 _52193085936ccfee4bc197ce37614073 HammerUndSichel
91207 _7fba483328e69e6aeb6dff0fc74447f4 HammerUndSichel
91148 _838fe1bff8f83dbfa40fb3314c47677b HammerUndSichel
Für den internen Speicher der Spalte „ID“ verwendet wird und die subobject Spalte kommt nicht ins Spiel noch. Das Problem beginnt erst, wenn Sie eine umgekehrte Suche durchführen möchten. Z.B. Unterobjekt mit der ID 91147 und dem Unterobjekt _0a12ff61e3b10c31478f2ff62b49e68e möchten Sie einen Eigenschaftswert herausfinden, der in diesem Unterobjekt gesetzt ist. Innerhalb einer ask-Abfrage, die Sie mit hasSubObject im SQL-Speicher machen, wird dies komplizierter.
Die SMW_TRIPLES_NS-Ansicht behebt das Problem, indem Informationen zu Namespaces und Unterobjekten zu jedem Subjekt in den Tripeln hinzugefügt werden. Dies ermöglicht die eindeutige Identifizierung von Unterobjekt-Tripeln.
Für den zweiten Teil Ihrer Frage bezüglich des Haschs schauen Sie bitte auf einige der anderen Antworten, die zu diesem Thema kompetenter scheinen als ich.
War wenig hilfreich. Aber jetzt habe ich noch eine andere entgegengesetzte Frage: – Velaro
Wie Hashes in der oben genannten Tabelle hinzugefügt werden? Um genau zu sein, ich habe eine Seite, die LastmodifiedBy smwproperty nicht anzeigt. Nach dem Debugging stellte ich fest, dass es nicht angezeigt wird, weil sich die Lastmodified-Eigenschaft in smw_di_blob befindet, die in der Hash-Liste nicht vorhanden ist. – Velaro
@Velaro Ich glaube, nur der Schöpfer von SMW kennt all diese Details, also denke ich, dass es viel einfacher wäre, wenn Sie das Problem beschreiben könnten, das Sie zu lösen versuchen, vielleicht ist es nicht nötig, SQL dafür zu verwenden. – wakalaka