á¨áľááá áľá áĽá á¨á°ááá áłáł áĽáá° ááŤá á áá áá¸áᥠáĽá፠ááá ááááľ á¨ááᢠáĽá ááá áŁáá° á¨á á áá áá°á፠ááááľ... âá ááá°á ááá áĽáááááâ áĽáá á áá ááłá¸á áá áĽáá°áááŠááľ á ááá áᢠááá áá á ááľá áá á áááá áľ áá áá áĽá¨á°á¨á°á° áĽááłá áááá¨áľ áá˝áá; á áá°á á¨áĽá ááá á°ááŤá᪠ááá áĽáá˛áŤáá áŁáá፠ááá á áŁá ááá ááá˘
á˝áá á¨á ááŤáł ááŤáľ áŤáá ááĄáŁ á¨ááá á¨RDF áá¨ááť á ááááŤáá˝ áá áŤá°áŠáŤáᢠá ááááŞáŤá á ááá˝ áá áŤáá ááᤠá°ááľá§á á ááá á ááᥠáľá áŁáá áĽá á á áŁá ááá á¨ááľáłáá፠ááľá ááá˘
I. GraphQL á RDF ááłá¨áť
á¨áłáĽá áá áá áĽáľá á¨áá¨á á á :
áá¨ááťá áĽáá°áá
á áááľ áĽáľá áŤáá°á , á°áá˘áá "áááľá" á ááťá á á°ááĽá áá°áá á áá˝áá. áááłá á áá¨ááŁá ááŽáááľ ááľáĽ áŤá°á¨ááľ áá
áá ááá˘
á¨áŚááśáśááľ á¨áľááá áľá áĽá á¨á°ááá áá¨á á ááá ᣠáá áá ᣠá áĽááἠᣠá¨ááŤáłáá áá ᣠááááŤáąá á áááĽáá á¨ááἠsilo ááŞáŤ áá°ááᥠáá á°áśá˝ á¨á°áá°á áľááááľá ᣠáĽá á°áľáá ááľá¨áŽá˝ (á áá˛á¤á áá°áĽáŽá˝ ᣠá áĽáááĽ) .
GraphQLá á¨SPARQL áá á áááťá¸á áŤáá áááᤠáááľ áĽáĽá ááá˘
- á á ááľ á áŠá ᣠGraphQL ᨠSPARQL á¨áŠá áááľ áááľáá-á REST á¨á°áááąáľá á¨áááś áááá áĽá á¨áĽá áá ááá˝á á˝ááŽá˝ áááłá - áŤá áĽáą ᣠááááŁáľ ᣠá¨áááľ ááľáĽ ááľááŁáľ á ááťááᢠá¨áĽáŤá ááá, á˘áŤááľ ááľá;
- á áá á áŠáᣠá¨ááŤáQL ááľá ááľá á°áľá á áľááŤá ááᢠá áá áá á¨áľ á¨áĽáą "ááľá -áááá¤" ᨠRDF áá á áá¸áŁáŤáááľ áá á˛ááťá¸á á áŁá á¨á°áá°á áááľáá. áĽá á¨ááĽá¨áľ áąáŤáá˝ á ááá á¨áá, áľááá ááá "ááŤá-" áĽáá°áá áĽááłá á áŁá ááá˝ á áá°áá.
II. áMongoDB á áľáááá˝
á¨ááłáá áá á¨ááŁáá á ááááŤá˘
- á áá á áľáłááśá ááľáĽ
ááá áá˝áá - á á°ááá ááá á á°ááłáłá GraphQL áá - á¨áááá˛á˘ áááĽá áŤááł áá° áááŁá RDF ááŤáá˝ áŤáá áŠ; - Ontotext GraphDB á á
áᥠá ááá˘
áá ááá áłá á áááá˛á˘ áá áá áá áááĽáŤáŽá˝á áá° SPARQL áŤáľááĄá˘
á áĽááá
áááŽá˝ ááľáĽ á¨á°á¨áá¸áá JSON áĽáá° RDF áááá¨á áĽá ááá áŁáá° âá ááĽá¨á ááâ áľáááá
áą áľá JSON áááŽá˝ á áľáááá˝ á á°áá á¨á°ááááá á¨á¨á
á áá á¨ááŠáľá áĽááľáłááłááá˘
á¨ááááŞáŤáášá áááľ á ááááŤáá˝ áá ááá, ᨠRDF áá¨ááťáá˝ á "áááááľ á˝ááľ" áááłáá˝ ááľáĽ áááááľ áĽá áááĽáŤáľ áá áááááľ áŤáłáŤá áááľ áĽáá˝ááá. ááá áĽáá áá
á¨áááá á¨á¨áĽá áá ááᎠá¨áá˝á ááĽáˇá, áĽá áĽá¨á°á°áŤ áĽáá°áá ááłááá
á á ááŠáŁ á ááá ááááľá˘ ááŁááĽá-áá´á á˛á˘á¤áá¤áľ áááľ á¨á°áᨠááŁáĽá ááľá áľ áĽááááá ᣠáá áá áá á á áá áá ááá áŁááĽá-áá´á á˛á˘á¤áá¤áľ á ááŤá áá´á áá âá¨á°áá°á¨áąâ á ááááŠá áἠááŁá áá˝áá (RDF áĽáá° áĽáą ááááľ ááá á áá˝áá) . á ááłááľ áľáá˝ áŁááĽá áá´ááá - RDF áá¨ááť áľáá áá°ááá LPG ááŤá áá´á - á ááľáĽ ááááľ áá°á¨áá
III. OLTP vs. áŚáá
ááá áá, á°ááłáłá áááľáá
áá ᨠRDF áá¨ááťáá˝ á OLTP-OLAP ááŹáľ áá á¨áľ áááá? áĽá á áá ááááľ áĽáááłáá: áĽááŤá áĽáá á á¨áá. á¨áłá°áĄáľá ááááá¨áľáŁ á ááłááľ áŚáľá°áá áá áťá¨ áá áŤáľááááᢠáĽáá° á ááŤá ááłáĽ á áááŁááᢠáŚáá - á¨ááľáá áá á áĽááŻá áá°áľá˘
áááᣠá ááááĄ-
- á ááŤáá˛á˘ ááľáĽ á¨á°á°áá á¨á á¨MongoDB áá áŤáá á¨áá
á°áľ áľááśá˝ áľáá˝ á áá°áá
á¨áłá°á ááᢠá¨á áááá ááłáŽá˝á áááťá ááŞáŤ áááľáŤáľ; - áľáłááśá á¨á áá áĽá áá á áá áááłá
áĽáá°áá áá˝áá áá°á, áĽáá°áá á¨áá áłáľ á ááťá¸áá áááťáťá áἠáá.
á áá á ááľ á á˛áľ á°áŤáá˝ ááá ፠ááľá°ááá
ᢠᨠIBM Netzza áĽá Amazon Redshift ááŁáŞáá˝ -
SELECT ?month (COUNT(?event) OVER (PARTITION BY ?month) AS ?events) WHERE { ⌠}
IV. RocksDB
ááľááá á¨á áŤá
á ááááŞáŤ ᣠá áááá
á ááá°á á°á¨áᣠá áááá¨áłá¸á ááá° ááłáŽá˝ áá ááŽáááśá˝ (áááľáᣠáááśá˝ á áá°áá) á RoksDB áá á°ááĽá¨ááá˘
áááłáᣠá˘á¤á RocksDBá áá ááá
áá ááłá - á¨áĽááľ ááŤáľ á ááľ á¨áłá¨
V. LPG áľáá
á LPG ááŤáá˝ áĽá RDF ááŤáá˝ ááŤá¨á áŤááá áá ááŠááľ ááľáłááľáá˘
á á¤ááá ááľáĽ á¨áľááá áŁá
ááŤáľ áá° á áá á ááŁááá˝ ááá°áĄ áá˝áá, á RDF ááľáĽ áá "á áááśá˝á" (ááá áá á¨áááŞáŤ áŁá
áŞáŤáľ áĽáť áłááá á°áŤ áááááśá˝) áĽáť ááá°áĄ áá˝áá. áá
á¨RDF áá°áĽ ᨠLPG áá á˛ááťá¸á
á ááá˝ áĽáá°ááłá¨á ᨠâLPG áľááâ á°ááŁá á áááľ áááá˝ áá¨ááá-
- á ááľáĄ ᨠLPG á ááááŽá˝á áááá°á á ááŤáľá˝á ᨠRDF áá´á áá áááŚá˝á ááľá¨á;
- á áá á á°áťáťáá áá´á ááľáĽ áááĽá áááľá¨áľ á ááŤáľá˝á á¨RDF áá áá ááá áá áááŚá˝á ááľá¨á ááá ááá áá´á áá ááá˝á á áłáá LPG áá áá ááááá˝ áá°áá áá˘
V.1. á¨ááἠáá´á
áĽáá áĽá ááá á¨áá˝á á ááŤá¨áŚá˝ á á.
V.1.1. á¨áá ááśá ááĽá¨áľ
RDF áĽá LPGá áááľáááľ á áŁá áľááááá á ááŤá¨áĽ ááááŁáľ ááá áá˝ááá˘
- á ááľáŠ, áááłá, á°áłá˘á
:isMarriedTo
áľáá áŤáá˝ áĽá á áá áááá:isMarriedTo1
,:isMarriedTo2
áĽá á¨ááłá°ááľ. - áĽááá
á°ááĽáŽáá˝ á¨á áłá˛áľ á¨áśáľáľáŽá˝ ááá° ááłáŽá˝ áááááĄ-
:isMarriedTo1 :since "2013-09-13"^^xsd:date
áĽá ááá˝. - á¨áĽááá
á°áłá˘áá˝ ááłááá˝ á¨á፠á°áłá˘ áá áŤáá áááááľ á á
áš áŚáľáľ áĽáĽá á¨á°ááá ááá˘
:isMarriedTo1 rdf:singletonPropertyOf :isMarriedTo
. - á áĽááἠáŁ
rdf:singletonPropertyOf rdfs:subPropertyOf rdf:type
ááá áá ááá áĽáť ááťá áĽáá°áááĽá á áľáĽ:isMarriedTo1 rdf:type :isMarriedTo
.
ᨠ"LPG áľáá" á˝áá áĽáá
á RDFS á°á¨á á°ááľáˇá. áĽáá˛á
ááááą ááłá á á°áá˘á ááľáĽ ááŤá°áľá áá ááá
V.1.2. ááťáťáŤ á áľááá á°á¨áááá
áŤááą á¨áá ááľ á ááŤá¨áŚá˝ á¨ááááŠáľ á¨ááĽá¨áľ áááłáá˝ á áśáľáľáŽá˝ áá á áá ááŁá áááá¸áá á¨ááááἠááᢠáľá áľáŞááá˝ á ááľ ááá ááááá á ááťáá˝á áľá ááĽá¨áľ ááłáŽá˝ áááŤáľ áĽáá˝áááá˘
á¨áĽááá
áá´áá˝ ááľáĽ á áŁá á ááŤáŤá
<<:bob :isMarriedTo :alice>> :since "2013-09-13"^^xsd:date .
V.1.3. ááá˝ á ááŤá¨áŚá˝
á áá°á á á¨áľááá áľáá
ááľ áá¨áá
á áá˝ááᣠááá áá á ááá áśáľáľ áááśá˝ á¨á°áá°á áááŤáá˝ áĽááłáá¸á áŤáľáĄáŁ áĽááąáᣠá áĽáááĽáŁ áŠá áá ááá˝áŁ áĽá á¨áĽááá
áŠá áá ááá˝ áá á á˛áľ áśáľáľ áĽáĽá áááĽáŤáᢠá¨áá¨á á SPARQL ááľáĽ á¨áĽááá
á áŠá áá ááá˝ ááłá¨áť ááľá áľ ááᢠáľááá
á á áááŽááŤá
:bob :marriedTo :alice {"since" : "2013-09-13"}
V.2. á¨áĽáŤá ááááá˝
á á ááłáŤá á°á¨á LPGá á á ááľ ááá á áá ááááľ á¨á°áá á áĽáá°áá ááááľ áá´á ááľáĽ á áá¨á áá áá ááá˝á ááľá¨á áŤáľáááááłáá˘
- Blazegraph á RDF* áá ááá˝ áá°ááá
áľáááá¤á* иGremlin . á¨SPARQL* áĽáŤá áá á áááľáááĄ-
SELECT * { <<:bob :isMarriedTo ?wife>> :since ?since }
- á ááááŤáá áá°ááá
áľáááá¤á* áĽá áá°áá ááá˘áá ᣠá¨áĽáŤá ááá á Neo4jᢠ- áľáłááśá á¨áŤáąá áá°ááá
ááľáááľ SPARQL áĽááĽáá°áá ááŹááá áĽáá°áá áŤá ááá á áá áá á SPARQL ááľáĽ á¨áśáľáľáŽá˝ áŠá áá á áĽá âááł-áá¨áâ ááááľ áá˝ááá˘
SELECT * {
BIND (stardog:identifier(:bob, :isMarriedTo, ?wife) AS ?id)
?id :since ?since
}
- á áááŽááŤáá á¨áŤáąá áá°ááá
ááľáááľ áľáááá¤ááĄ
SELECT * { ("since" ?since) franz:attributesNameValue ( :bob :marriedTo ?wife ) }
á áááŤá˝á áá ááŤáá˛á˘ á á ááľ áá LPGá áłáá°áá Tinkerpop/Gremliná á°ááááŁááá áá áá á áľáŞáľ 8.0 ááá 8.1 áááá˘
VI. á¨áááľ ááĽá áĽ
á "triplestore of choice" áĽá "open source triplestore" áľáĽáľáŚá˝ áááá áá á á áἠáá á¨á°á¨áአáááŽá˝ á¨ááᢠá á˛áą á¨áááľ ááá RDF áá¨ááťáá˝ ááááłá á á ááá áĽáŠ áá፠á¨ááá á áŁá áŠá áá¸áᣠáĽá áĽá áá áááŁá¸á á¨ááááá¸á á á˛áśáš áŁá áśáľáľ áĽáĽá áá°áĽáŽá˝ (áĽáá° á ááááŤá áŤá) á¨á°áá áááŽá˝ áá¸áᢠáááááľ áľá ááááľ áááŤáľ áĽáá˝ááá...
á áĽááἠáááľ ááá á¨áá áá°á á áá°ááá ááá áá á ááłááľ á¨áááľ ááá áá¨ááťáá˝ ááľ á ááľ áĽáá° áá፠á ááłáŠáᢠá¨áááľ ááá áĽáľá áŤáá Virtuoso á áĽá á áľá°áŤá¨áľ á áľáá˝ ááľáĽ á°áጠááᢠBlazegraph á AWS á¨á°áá áĽá á¨á ááá áááąá áá á¨áľ áá á¨; á áá á˘áŤááľ á ááľ á°á¨á᪠áááá ááá á ááá ááá á áá°ááᢠáá áĽáť áá¨á˝...
áááľ ááá á áŁá á áľááá áŤááá ᣠáá áĽáąá ááá¨á ááááá ᣠá¨á፠ááá ááá áĽáá˛á á¨á ááą áŤáá° áŽá ááᢠáááłá:
- áľáłááśá
áááá áááá áľáŞáľ áá°áŤá¨áľ (ááá áĽáá á¨áá°á á áľáŞáľ á¨áá¨áŤ áá á áĽáĽá á¨ááŻá); - в
ááŤáá˛á˘ á°áá , á¨áá áá°á áá áá°á¨áłá áĽá áľ ááá¨áĽ á¨áá˝áá áľ, á á˛áľ á¨á°á áá ááááŁáá˝ áłáá°áá.
á á á áááᣠáá ááŤá á¨á áᲠá°áᣠáŚáł á¨áá áá° áá á°á°áŤá˝ áĽá¨áá ááĽáˇáᣠáĽáľááą á¨áŽáááŹá˝áá˝ áᣠáĽá¨áá ááá˘
ááá: hab.com