Monday, November 25, 2019

mySQL: the basic that I always forget

Connect to the DB:
mysql -h hote -u utilisateur -p


SELECT VERSION(),CURRENT_DATE;

Then you can make some calculations:
SELECT SIN(PI()/4), (4+1)*5;

Creation of a database:
CREATE DATABASE menagerie;

Use it:
USE menagerie;

Connect you to the DB-server and specify the DB you are interested in:
mysql -h hote -u utilisateur -p menagerie
SHOW TABLES;
CREATE TABLE animal (nom VARCHAR(20), maitre VARCHAR(20),
espece VARCHAR(20), sexe CHAR(1), naissance DATE, mort DATE);
DESCRIBE animal;
LOAD DATA LOCAL INFILE "animal.txt" INTO TABLE animal;
INSERT INTO animal VALUES ('Puffball','Diane','hamster','f','1999-03-30',NULL);
Some
* Query 1: Find products for a given set of generic features
SELECT DISTINCT ?product ?label
WHERE {
?product rdfs:label ?label .
?product rdf:type %ProductType% .
?product bsbm:productFeature %ProductFeature1% .
?product bsbm:productFeature %ProductFeature2% .
?product bsbm:productPropertyNumeric1 ?value1 .
FILTER (?value1 > %x%)}
ORDER BY ?label
LIMIT 10

* Query 2: Retrieve basic information about a specific product for display purposes
SELECT ?label ?comment ?producer ?productFeature ?propertyTextual1
?propertyTextual2 ?propertyTextual3 ?propertyNumeric1
?propertyNumeric2 ?propertyTextual4 ?propertyTextual5
?propertyNumeric4
WHERE {
%ProductXYZ% rdfs:label ?label .
%ProductXYZ% rdfs:comment ?comment .
%ProductXYZ% bsbm:producer ?p .
?p rdfs:label ?producer .
%ProductXYZ% dc:publisher ?p .
%ProductXYZ% bsbm:productFeature ?f .
?f rdfs:label ?productFeature .
%ProductXYZ% bsbm:productPropertyTextual1 ?propertyTextual1 .
%ProductXYZ% bsbm:productPropertyTextual2 ?propertyTextual2 .
%ProductXYZ% bsbm:productPropertyTextual3 ?propertyTextual3 .
%ProductXYZ% bsbm:productPropertyNumeric1 ?propertyNumeric1 .
%ProductXYZ% bsbm:productPropertyNumeric2 ?propertyNumeric2 .
OPTIONAL { %ProductXYZ% bsbm:productPropertyTextual4 ?propertyTextual4 }
OPTIONAL { %ProductXYZ% bsbm:productPropertyTextual5 ?propertyTextual5 }
OPTIONAL { %ProductXYZ% bsbm:productPropertyNumeric4 ?propertyNumeric4 }}

* Query 3: Find products having some specific features and not having one feature
SELECT ?product ?label
WHERE {
?product rdfs:label ?label .
?product rdf:type %ProductType% .
?product bsbm:productFeature %ProductFeature1% .
?product bsbm:productPropertyNumeric1 ?p1 .
FILTER ( ?p1 > %x% )
?product bsbm:productPropertyNumeric3 ?p3 .
FILTER (?p3 < %y% ) OPTIONAL { ?product bsbm:productFeature %ProductFeature2% . ?product rdfs:label ?testVar } FILTER (!bound(?testVar)) } ORDER BY ?label LIMIT 10 Query 4: Find products matching two different sets of features SELECT ?product ?label WHERE { { ?product rdfs:label ?label . ?product rdf:type %ProductType% . ?product bsbm:productFeature %ProductFeature1% . ?product bsbm:productFeature %ProductFeature2% . ?product bsbm:productPropertyNumeric1 ?p1 . FILTER ( ?p1 > %x% )
} UNION {
?product rdfs:label ?label .
?product rdf:type %ProductType% .
?product bsbm:productFeature %ProductFeature1% .
?product bsbm:productFeature %ProductFeature3% .
?product bsbm:productPropertyNumeric2 ?p2 .
FILTER ( ?p2> %y% ) }}
ORDER BY ?label
LIMIT 10 OFFSET 10

* Query 5: Find products that are similar to a given product
SELECT DISTINCT ?product ?productLabel
WHERE {
?product rdfs:label ?productLabel .
FILTER (%ProductXYZ% != ?product)
%ProductXYZ% bsbm:productFeature ?prodFeature .
?product bsbm:productFeature ?prodFeature .
%ProductXYZ% bsbm:productPropertyNumeric1 ?origProperty1 .
?product bsbm:productPropertyNumeric1 ?simProperty1 .
FILTER (?simProperty1 < (?origProperty1 + 120) && ?simProperty1 >
(?origProperty1 - 120))
%ProductXYZ% bsbm:productPropertyNumeric2 ?origProperty2 .
?product bsbm:productPropertyNumeric2 ?simProperty2 .
FILTER (?simProperty2 < (?origProperty2 + 170) && ?simProperty2 >
(?origProperty2 - 170)) }
ORDER BY ?productLabel
LIMIT 5

* Query 6: Find products having a label that contains a specific string
SELECT ?product ?label
WHERE {
?product rdfs:label ?label .
?product rdf:type bsbm:Product .
FILTER regex(?label, "%word1%")}
Query 7: Retrieve in-depth information about a product including offers and reviews
SELECT ?productLabel ?offer ?price ?vendor ?vendorTitle ?review
?revTitle ?reviewer ?revName ?rating1 ?rating2
WHERE {
%ProductXYZ% rdfs:label ?productLabel .
OPTIONAL {
?offer bsbm:product %ProductXYZ% .
?offer bsbm:price ?price .
?offer bsbm:vendor ?vendor .
?vendor rdfs:label ?vendorTitle .
?vendor bsbm:country .
?offer dc:publisher ?vendor .
?offer bsbm:validTo ?date .
FILTER (?date > %currentDate% ) }
OPTIONAL {
?review bsbm:reviewFor %ProductXYZ% .
?review rev:reviewer ?reviewer .
?reviewer foaf:name ?revName .
?review dc:title ?revTitle . OPTIONAL { ?review bsbm:rating1 ?rating1 . }
OPTIONAL { ?review bsbm:rating2 ?rating2 . } } }
Query 8: Give me recent English language reviews for a specific product
SELECT ?title ?text ?reviewDate ?reviewer ?reviewerName ?rating1
?rating2 ?rating3 ?rating4
WHERE {
?review bsbm:reviewFor %ProductXYZ% .
?review dc:title ?title .
?review rev:text ?text .
FILTER langMatches( lang(?text), "EN" )
?review bsbm:reviewDate ?reviewDate .
?review rev:reviewer ?reviewer .
?reviewer foaf:name ?reviewerName .
OPTIONAL { ?review bsbm:rating1 ?rating1 . }
OPTIONAL { ?review bsbm:rating2 ?rating2 . }
OPTIONAL { ?review bsbm:rating3 ?rating3 . }
OPTIONAL { ?review bsbm:rating4 ?rating4 . } }
ORDER BY DESC(?reviewDate) LIMIT 20
Query 9: Get information about a reviewer.
DESCRIBE ?x
WHERE {
%ReviewXYZ% rev:reviewer ?x }
Query 10: Get cheap offers which fulfill the consumer’s delivery requirements.
SELECT DISTINCT ?offer ?price
WHERE {
?offer bsbm:product %ProductXYZ% .
?offer bsbm:vendor ?vendor .
?offer dc:publisher ?vendor .
?vendor bsbm:country %CountryXYZ% .
?offer bsbm:deliveryDays ?deliveryDays .
FILTER (?deliveryDays <= 3) ?offer bsbm:price ?price . ?offer bsbm:validTo ?date . FILTER (?date > %currentDate% ) }
ORDER BY xsd:double(str(?price))
LIMIT 10
Query 11: Get all information about an offer.
SELECT ?property ?hasValue ?isValueOf
WHERE {
{ %OfferXYZ% ?property ?hasValue }
UNION
{ ?isValueOf ?property %OfferXYZ% } }
Query 12: Export information about an offer into another schema.
CONSTRUCT {
%OfferXYZ% bsbm-export:product ?productURI .
%OfferXYZ% bsbm-export:productlabel ?productlabel .
%OfferXYZ% bsbm-export:vendor ?vendorname .
%OfferXYZ% bsbm-export:vendorhomepage ?vendorhomepage .
%OfferXYZ% bsbm-export:offerURL ?offerURL .
%OfferXYZ% bsbm-export:price ?price .
%OfferXYZ% bsbm-export:deliveryDays ?deliveryDays .
%OfferXYZ% bsbm-export:validuntil ?validTo }
WHERE {
%OfferXYZ% bsbm:product ?productURI .
?productURI rdfs:label ?productlabel .
%OfferXYZ% bsbm:vendor ?vendorURI .
?vendorURI rdfs:label ?vendorname .
?vendorURI foaf:homepage ?vendorhomepage .
%OfferXYZ% bsbm:offerWebpage ?offerURL .
%OfferXYZ% bsbm:price ?price .
%OfferXYZ% bsbm:deliveryDays ?deliveryDays . %OfferXYZ% bsbm:validTo ?validTo

vi commands

Here some basic vi commands that I always forget:
:set number switch on/off line number

Quelques remarques sur la conscience

Quand nous parlons de conscience, nous faisons pour la plupart du temps preuve d’
-    anthropocentrisme. Nous considérons la conscience comme une qualité exclusivement humaine. De plus nous la percevons souvent comme une qualité binaire: soit je suis conscience soit je ne le suis pas. Cependant, n’existe-il pas un grand nombre de types de consciences variant aussi bien par leur nature que par leur « intensité »? Prenons quelques exemples :

  • Un très grand nombre de mammifères supérieurs possèdent des sens beaucoup plus développés que ceux de l’homme. Cela leur confère une prise de conscience de leur environnement supérieure/différente de la notre et bien souvent d’une autre nature. Un chien par exemple sent 57 fois mieux que nous. Il vit dans un monde d’odeurs. Là où nous ne voyons qu’une forme colorée,  le chien voit une forme colorée doublée d’une odeur. C’est comme une nouvelle dimension. Cela lui permet entre autre de sentir les phéromones produites par les êtres l’entourant. Il est donc à même de « sentir » l’état psychologique d’une personne.
  • Plus fascinant encore est le monde des insectes. Nous voyons émerger là le concept d’intelligence/conscience collective. Une fourmi seul ne peut effectuer qu’un nombre limité de tâches lui demandant peu d’ »intelligence ». Quand est-il de 1000000 de fourmis ? La fourmilière est à même de résoudre des problèmes bien plus complexes. Que pouvons nous dire de la conscience d’une fourmilière ? Elle certainement d’un autre ordre. Peut-être ne sommes nous pas à même de véritablement la comprendre.
La nature regorge de ce genre d’exemples. Elle nous apprend l’humilité et nous montre que la conscience humaine n’est qu’un type de consciences ayant sous bien des égards de nombreuses limitations.
Dans le développement d’une conscience artificielle il serait donc faut de se borner à imiter  la conscience humaine.