Skip to content

Instantly share code, notes, and snippets.

@rnsrk
rnsrk / theseArentTheRobotsYoureLookingFor
Last active October 20, 2021 07:22
Rewrite condition/ rules against bots for .htaccess file
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_USER_AGENT} almaden [OR]
RewriteCond %{HTTP_USER_AGENT} ^Anarchie [OR]
RewriteCond %{HTTP_USER_AGENT} ^ASPSeek [OR]
RewriteCond %{HTTP_USER_AGENT} ^attach [OR]
RewriteCond %{HTTP_USER_AGENT} ^autoemailspider [OR]
RewriteCond %{HTTP_USER_AGENT} ^BackWeb [OR]
RewriteCond %{HTTP_USER_AGENT} ^Bandit [OR]
RewriteCond %{HTTP_USER_AGENT} ^BatchFTP [OR]
AddType application/rdf+xml .owl
RewriteRule "^ontology/(.+)$" "sites/default/files/ontology/$1.owl" [PT]
RewriteRule "^ontology/$" "sites/default/files/ontology/current.owl" [PT,L]
@rnsrk
rnsrk / case_1.txt
Created January 18, 2022 06:34
Part of case collection for federated queries.
PREFIX ontology_1: <http://ontology_1/>
PREFIX ontology_2: <http://ontology_2/>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
select distinct ?aNote ?bNote ?cNote where {
{
service <https://graphdb.nasarek.org/repositories/Adapter_1>
{
?A rdf:type ontology_1:E21_Person ;
ontology_1:P1_is_identified_by ?a ;
ontology_1:P2_has_type ?b .
@rnsrk
rnsrk / Case_4_2.txt
Created January 18, 2022 06:43
Part of case collection for federated queries.
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX ontology_1: <http://ontology_1/>
PREFIX ontology_2: <http://ontology_2/>
select distinct ?aNote where {
{
service <https://graphdb.nasarek.org/repositories/Adapter_1>
{
?A rdf:type ontology_1:E21_Person ;
ontology_1:P1_is_identified_by ?a.
?a ontology_1:P3_has_note ?aNote.
@rnsrk
rnsrk / Case_4_1.txt
Created January 18, 2022 06:44
Part of case collection for federated queries.
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX ontology_1: <http://ontology_1/>
select distinct ?personName where {
values ?service {<https://graphdb.nasarek.org/repositories/Adapter_1> <https://graphdb.nasarek.org/repositories/Adapter_3>}
{
service ?service
{
?person rdf:type ontology_1:E21_Person ;
ontology_1:P1_is_identified_by ?appellation.
?appellation ontology_1:P3_has_note ?personName.
@rnsrk
rnsrk / case_5.txt
Created January 18, 2022 06:44
Part of case collection for federated queries.
PREFIX ontology_1: <http://ontology_1/>
PREFIX ontology_2: <http://ontology_2/>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
select distinct ?c where {
{
service <https://graphdb.nasarek.org/repositories/Adapter_1>
{
?a rdf:type ontology_1:E21_Person ;
ontology_1:P1_is_identified_by ?b.
?b ontology_1:P3_has_note ?c.
@rnsrk
rnsrk / case_6_1.txt
Created January 18, 2022 06:45
Part of case collection for federated queries.
PREFIX ontology_1: <http://ontology_1/>
PREFIX ontology_2: <http://ontology_2/>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
select distinct ?aNote ?bNote ?cNote where {
{
service <https://graphdb.nasarek.org/repositories/Adapter_1>
{
?A rdf:type ontology_1:E21_Person ;
ontology_1:P1_is_identified_by ?a ;
ontology_1:P2_has_type ?b .
@rnsrk
rnsrk / Case_6_2.txt
Created January 18, 2022 07:11
Part of case collection for federated queries.
PREFIX ontology_1: <http://ontology_1/>
PREFIX ontology_2: <http://ontology_2/>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
select distinct ?aNote ?bNote ?cNote where {
{
service <https://graphdb.nasarek.org/repositories/Adapter_1>
{
?A rdf:type ontology_1:E21_Person .
OPTIONAL {
?A ontology_1:P1_is_identified_by ?a .
@rnsrk
rnsrk / ContentEntity.php
Last active December 7, 2023 22:14
For Search API version 8.x-1.30: Since Search API assumes, that it operates on sql tables, we have to alter some parts of the ContentEntity class at modules\contrib\search_api\src\Plugin\search_api\datasource\ContentEntity.php.
<?php
namespace Drupal\search_api\Plugin\search_api\datasource;
use Drupal\Component\Utility\Crypt;
use Drupal\Core\Access\AccessResult;
use Drupal\Core\Cache\Cache;
use Drupal\Core\Cache\CacheBackendInterface;
use Drupal\Core\Config\ConfigFactoryInterface;
use Drupal\Core\Database\Connection;
if ($this->batchStateStaticRevisions) {
$form['actions']['eraseBatch'] = [
'#type' => 'submit',
'#value' => $this->t('Reset batch state'),
'#button_type' => 'danger',
'#submit' => [[$this->configFactory->getEditable(static::INDIVIDUALS_IN_BATCH),
'delete',
],
],
];