Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Neptunus saat ini tidak OpenSearch mendukung kueri jangkauan secara langsung. Namun, Anda dapat mencapai efek yang sama menggunakan sintaks Lucene dan query-type="query_string”, seperti yang dapat Anda lihat dalam contoh kueri berikut.
Dapatkan semua simpul dengan usia lebih dari 30 dan nama dimulai dengan “Si”
Di Gremlin:
g.withSideEffect('Neptune#fts.endpoint', 'http://
your-es-endpoint
') .withSideEffect("Neptune#fts.queryType", "query_string") .V().has('*', 'Neptune#fts predicates.age.value:>30 && predicates.name.value:Si*');
Di SPARQL:
PREFIX foaf: <http://xmlns.com/foaf/0.1/> PREFIX neptune-fts: <http://aws.amazon.com/neptune/vocab/v01/services/fts#> SELECT * WHERE { SERVICE neptune-fts:search { neptune-fts:config neptune-fts:endpoint 'http://localhost:9200' . neptune-fts:config neptune-fts:queryType 'query_string' . neptune-fts:config neptune-fts:query "predicates.\\*foaf\\*age.value:>30 AND predicates.\\*foaf\\*name.value:Si*" . neptune-fts:config neptune-fts:field '*' . neptune-fts:config neptune-fts:return ?res . } }
Di sini, "\\*foaf\\*age
digunakan sebagai pengganti URI penuh untuk singkatnya. Ekspresi reguler ini akan mengambil semua bidang memiliki keduanya foaf
dan age
dalam URI.
Dapatkan semua node dengan usia antara 10 dan 50 dan nama dengan kecocokan fuzzy dengan “Ronka”
Di Gremlin:
g.withSideEffect('Neptune#fts.endpoint', '
http://your-es-endpoint
') .withSideEffect("Neptune#fts.queryType", "query_string") .V().has('*', 'Neptune#fts predicates.age.value:[10 TO 50] AND predicates.name.value:Ronka~');
Di SPARQL:
PREFIX foaf: <http://xmlns.com/foaf/0.1/> PREFIX neptune-fts: <http://aws.amazon.com/neptune/vocab/v01/services/fts#> SELECT * WHERE { SERVICE neptune-fts:search { neptune-fts:config neptune-fts:endpoint 'http://localhost:9200' . neptune-fts:config neptune-fts:queryType 'query_string' . neptune-fts:config neptune-fts:query "predicates.\\*foaf\\*age.value:[10 TO 50] AND predicates.\\*foaf\\*name.value:Ronka~" . neptune-fts:config neptune-fts:field '*' . neptune-fts:config neptune-fts:return ?res . } }
Dapatkan semua node dengan stempel waktu yang jatuh dalam 25 hari terakhir
Di Gremlin:
g.withSideEffect('Neptune#fts.endpoint', '
http://your-es-endpoint
') .withSideEffect("Neptune#fts.queryType", "query_string") .V().has('*', 'Neptune#fts predicates.timestamp.value:>now-25d');
Di SPARQL:
PREFIX foaf: <http://xmlns.com/foaf/0.1/> PREFIX neptune-fts: <http://aws.amazon.com/neptune/vocab/v01/services/fts#> SELECT * WHERE { SELECT * WHERE { SERVICE neptune-fts:search { neptune-fts:config neptune-fts:endpoint 'http://localhost:9200' . neptune-fts:config neptune-fts:queryType 'query_string' . neptune-fts:config neptune-fts:query "predicates.\\*foaf\\*timestamp.value:>now-25d~" . neptune-fts:config neptune-fts:field '*' . neptune-fts:config neptune-fts:return ?res . } }
Dapatkan semua node dengan stempel waktu yang termasuk dalam tahun dan bulan tertentu
Di Gremlin, menggunakan ekspresi matematika tanggal
g.withSideEffect('Neptune#fts.endpoint', '
http://your-es-endpoint
') .withSideEffect("Neptune#fts.queryType", "query_string") .V().has('*', 'Neptune#fts predicates.timestamp.value:>2020-12');
Alternatif Gremlin:
g.withSideEffect('Neptune#fts.endpoint', '
http://your-es-endpoint
') .withSideEffect("Neptune#fts.queryType", "query_string") .V().has('*', 'Neptune#fts predicates.timestamp.value:[2020-12 TO 2021-01]');