【问题标题】:SPARQL Return records from second Query ONLY IF no records in recordset from execution of First Query仅当执行第一个查询的记录集中没有记录时,SPARQL 从第二个查询返回记录
【发布时间】:2012-06-20 16:30:32
【问题描述】:

我是 SPARQL 的新手,因此非常感谢您的帮助。

我有两个查询要运行。一个从源返回记录。但是,在第一种情况下没有返回记录的情况下,我想从第二个查询中返回记录。

在 SQL SERVER 中,我可能不得不做类似的事情

SELECT FIRSTAME, LASTNAME, DOB, CLASS 
 FROM TABLENAME 
   WHERE CLASS ="FIRSTCLASS"

IF @@ROWCOUNT = 0

     SELECT FIRSTAME, LASTNAME, DOB, CLASS 
 FROM TABLENAME 
   WHERE CLASS ="SECONDCLASS"

【问题讨论】:

    标签: semantics rdf sparql


    【解决方案1】:

    为什么不在您的应用程序中分派两个查询? SPARQL 中没有条件逻辑。 SPARQL 1.1 确实包含子查询,但我不确定您是否可以复制您想要的内容。我建议只使用两个单独的查询,并将业务逻辑保留在代码中而不是查询中。

    【讨论】:

    • 如果它必须是单个查询(例如出于事务性原因),那么您可以添加 FILTER(?class= || ?class= ),或使用 UNION,并且在您的应用程序中应用逻辑。
    猜你喜欢
    • 2021-09-30
    • 1970-01-01
    • 2021-05-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多