how to find Hypernym relation from wordnet using Sparql query? - sparql

How to find Hypernym relation from wordnet using Sparql query?
I can find easily hyponym relation but i can't able to find hypernym relation.
Following example for hyponym relation.
"SELECT ?hypo "
+ "WHERE {"
+ " wn20instances:synset-tank-noun-1 wn20schema:hyponymOf* ?hypo . "
+ "}";

Would simply reversing the relationship work for you?
Reverse the sense of the property:
{ wn20instances:synset-tank-noun-1 (^wn20schema:hyponymOf)* ?hyper . }
or (reverse the subject/object)
{ ?hyper wn20schema:hyponymOf* wn20instances:synset-tank-noun-1 . }

Related

Query to select next few rows

I'm working on a search tool, the words (to be searched) are in object array
first i search the database(about 450k rows) using FTS4 and sqlite. This works fast, the SQL im using is:
String s = "select * from fts_sggs where word_text MATCH ? ";
but then, i need some extra words which are a part of the same table.
The FTS4 doesnt seem to work here.the sql is
String s ="select * from fts_sggs where word_number BETWEEN " + wordnumlo + " AND " + wordnumhi + " and page_number =" + pgnum;
im a newbie to SQL Programming, I need a single query that could perform both tasks fast. this is being done in java which is terribly slow.

How to compare if BigDecimal value is inside a range in a query?

Lets say that I have to check in a query if a value is inside a range, and this value is BigDecimal in Java. The values inside the database are numbers(with two decimals). The ideia is above...but I don´t know the right way and to make it a little worst, I don´t have access to test the query apart. I´m using jpa extended repository, so probably I need to write my own query in this case.
#Query("SELECT c "
+ " FROM Taxes c "
+ " WHERE c.minOrderValue <= 'Mvalue' AND c.maxOrderValue >= 'Mvalue' "
)
Optional<TaxesRR> getTaxes(#Param("Mvalue") BigDecimal Mvalue);
That´s how it´s worked for me. Any other solution is still appreciated.
#Query("SELECT c "
+ " FROM ConjuntoTaxasRetencaoRapida c "
+ " WHERE c.valorMinimoPorteFaturamento <= ?1 "
+ " AND c.valorMaximoPorteFaturamento > ?2")
Optional<ConjuntoTaxasRetencaoRapida> obterTaxasRR(BigDecimal valorProjetadoMes, BigDecimal valorProjetadoMesConsolidado);

Append R variable inside SQLDF's SQL code

Tried to search for an answer using "SQLDF append in code", but I couldnt find any answer.
Basically, I'd like to be able to write something like that :
divisor<-4
result<-sqldf("SELECT id, some_number/ " . divisor . " FROM my_table")
but I can't find a way to have divisor included in the SQL statement : Error: unexpected symbol in "result<-sqldf("SELECT id, some_number/ " ."
I tried having &, + and nothing instead of the dots ., but I can't find anything that works.
I also tried "SELECT id, some_number/divisor FROM my_table", without any " " around divisor, but I get error in statement: no such column: divisor
Thanks.
You can use
result<-sqldf(sprintf("SELECT id, some_number/%d FROM my_table", divisor))
Hope this helps

NHibernate HQL could not locate named parameter [parameterName] error

I am having problems with my HQL query bellow:
var merchantTransactions = session.CreateQuery("SELECT MS.Transaction "+
"FROM MerchantSite AS MS "+
"INNER JOIN MS.Transaction AS MST"+
"WHERE MS.Site.Name = :merchantName");
Then I set parameters like this:
merchantTransactions.SetParameter("merchantName", merchantName);
And it gives me a "could not locate named parameter" error, any ideas why?
merchantName does exist in this context and all the table names are correct.
You are missing a space between MST and WHERE.
You have to use methods to create an HQL statment using a fluent interface style. Try something like this:
var merchantTransactions = session.CreateQuery("SELECT MS.Transaction "+
"FROM MerchantSite AS MS "+
"INNER JOIN MS.Transaction AS MST"+
"WHERE MS.Site.Name = :merchantName")
.SetParameter("merchantName", merchantName);
Or
merchantTransactions = merchantTransactions.SetParameter("merchantName", merchantName);
And do not forget to call a method to concrete your query.
var result = merchantTransactions.List<Entity>();

Convert SQL to HQL?

How can I convert the following SQL query into HQL?
SELECT count(sa.AID)
FROM A sa
, B sal,C m
WHERE sa.AID = sal.AID(+) and sa.BID = m.BID and sa.AID ='0001'
You need to transfer each table/column into it's associated Entity/Class in JAVA, then build the query with Hibernate ORM as below.
Suppose
- The entity name for the table sa is saEntity, for the table B is bEntity, and for the table C is cEntity.
- The class name for the column AID is AidClass, and for the column BID is BidClass
Then the Hibernate ORM query can be written as per the following (I like formating HQL queries inside annotations on multiple lines to make it easier to read & adapt).
#Query( "SELECT COUNT(sa.AidClass) "
+ "FROM saEntity sa, "
+ " bEntity sal "
+ " cEntity m"
+ "WHERE sa.AidClass = sal.AidClass"
+ " AND sa.BidClass = m.BidClass "
+ " AND sa.AidClass ='0001'")
public List <?> runMyQueryMethod();
Try looking at the answer to this question.
HQL to SQL converter
Or this article may help..
https://forum.hibernate.org/viewtopic.php?t=972441
If you showed some of the mappings I could probably help with the HQL. You could just use
Session.CreateSQLQuery instead??