标签: virtuoso

SPARQL DISTINCT在Virtuoso中提供重复项

即使使用DISTINCT子句,以下SPARQL查询也会在Virtuoso中提供重复项。您可以在DBpedia公共端点中测试查询。查询有什么问题?

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX dbpedia:<http://dbpedia.org/resource/>
PREFIX dbpedia-owl:<http://dbpedia.org/ontology/>
PREFIX dbpprop: <http://dbpedia.org/property/>
PREFIX vrank:<http://purl.org/voc/vrank#>
SELECT DISTINCT ?person1 ?person1_id ?person2 ?person2_id ?person2_rank
FROM <http://dbpedia.org> 
FROM <http://people.aifb.kit.edu/ath/#DBpedia_PageRank> 
WHERE {
    ?person1 rdf:type dbpedia-owl:Person.
    ?person2 rdf:type dbpedia-owl:Person.
    ?person1 ?link ?person2.
    ?person1 dbpedia-owl:wikiPageID ?person1_id.
    ?person2 dbpedia-owl:wikiPageID ?person2_id.
    ?person2 vrank:hasRank/vrank:rankValue ?person2_rank.
    FILTER (?person1_id != ?person2_id).
    FILTER (?person1_id = 308)
} ORDER BY DESC(?person2_rank) ASC(?person2_id)
Run Code Online (Sandbox Code Playgroud)

SPARQL结果

结果包括看似重复的行,例如:

http://dbpedia.org/resource/Aristotle 308 http://dbpedia.org/resource/Democritus  8211 27.281
http://dbpedia.org/resource/Aristotle 308 http://dbpedia.org/resource/Democritus  8211 27.281
http://dbpedia.org/resource/Aristotle 308 http://dbpedia.org/resource/Heraclitus …
Run Code Online (Sandbox Code Playgroud)

sparql dbpedia virtuoso

1
推荐指数
1
解决办法
211
查看次数

Virtuoso HTTP POST/PUT 认证

我尝试INSERT使用 Virtuoso 中基于 Web 的 SPARQL 端点 ( http://localhost:8890/sparql/ )为 RDF 三元组执行语句:

INSERT DATA
  { 
      GRAPH <http://my.graph> 
      { 
        <http://test.com/someid> <http://namespace.ref#someVar> 123
      } 
  }
Run Code Online (Sandbox Code Playgroud)

但我得到了

Virtuoso 42000 错误 SR186:SECURITY: 无权限使用用户 ID 107、组 ID 107 执行过程 DB.DBA.SPARQL_INSERT_DICT_CONTENT

我能够通过我的数据库编辑器运行相同的语句,该编辑器在 port 上使用 JDBC 驱动程序1111,使用DBA登录名。

在我将以下内容作为DBA直通端口运行后,Web 界面/服务插入成功1111

grant execute on DB.DBA.SPARQL_INSERT_DICT_CONTENT to "SPARQL";
grant execute on DB.DBA.SPARQL_INSERT_DICT_CONTENT to SPARQL_UPDATE;
Run Code Online (Sandbox Code Playgroud)

不过,我想撤消用户的特权SPARQL,我的理解是与网络接口相关联,并发送HTTP POST/ PUT/DELETE使用摘要身份验证提供的用户凭据请求。这是可能的吗?我去了手册的这个页面,但它是空的。

security rdf http-post virtuoso

1
推荐指数
1
解决办法
726
查看次数

如何计算 SPARQL 中的引用?

我想找到这个查询返回的每个主题是另一个三元组的对象的次数。

我可以使用以下示例来选择我想要的所有内容,而无需计算我想要的数量。

SELECT DISTINCT
    ?subject
    ?displayId
    ?version
    ?name
    ?description
    ?type
WHERE {
    { ?subject a sbol2:ComponentDefinition } UNION 
    { ?subject a sbol2:ModuleDefinition } UNION 
    { ?subject a sbol2:Collection } UNION 
    { ?subject a sbol2:Sequence } UNION 
    { ?subject a sbol2:Model } .

    ?subject a ?type
    OPTIONAL { ?subject sbol2:displayId ?displayId . }
    OPTIONAL { ?subject sbol2:version ?version . }
    OPTIONAL { ?subject dcterms:title ?name . }
    OPTIONAL { ?subject dcterms:description ?description . }
}

LIMIT 50
Run Code Online (Sandbox Code Playgroud)

我可以添加以下条件以将我的查询限制为仅与示例对象相关的事物,在本例中为具有 URI 的对象<http://localhost:7777/public/test/U49845/1> …

rdf sparql virtuoso

1
推荐指数
1
解决办法
183
查看次数

在ISQL中使用时,某些SPARQL命令不起作用

我已经安装了本地的virtuoso服务器并导入了dbpedia数据.我发现了一系列在isql中不起作用的SPARQL命令.例如,我在我的isql shell中运行了这个查询.

SPARQL SELECT ?s  GROUP_CONCAT (?obj, ' ') as ?artist_list WHERE { ?s a dbpedia-owl:Single ;(dbpedia-owl:artist|dbpedia-owl:producer)  ?obj    } limit 10
Run Code Online (Sandbox Code Playgroud)

它首先抱怨| 在(dbpedia-owl:artist | dbpedia-owl:producer)中,然后是GROUP_CONCAT.我对Virtuoso文档进行了一些研究,并做了以下工作

EDIT1 我试图检查不同的情况,

1- group_concat

SPARQL select ?s (group_concat(?obj; separator='|') as ?artist_list) FROM <http://ja.dbpedia.org>  where {   ?s a dbpedia-owl:Single ;      (dbpedia-owl:artist) ?obj } group by ?s limit 10;

SQL>  syntax error at 'group_concat' before '('
Run Code Online (Sandbox Code Playgroud)

2-使用值

SPARQL select ?s  FROM <http://ja.dbpedia.org>  where {  values ?sType {dbpedia-owl:Song dbpedia-owl:Single }. ?s a ?sType} limit 10;


*** Error 37000: …
Run Code Online (Sandbox Code Playgroud)

sparql virtuoso

0
推荐指数
1
解决办法
1762
查看次数

带有括号的sparql

我试图使用sparql查询dbpedia并遇到主题名称中括号的问题.此查询运行但不返回任何内容.如果我在没有括号的类似人物上尝试它,它会起作用.

PREFIX dbpedia-owl: <http://dbpedia.org/ontology/>

SELECT * WHERE
{
<http://dbpedia.org/resource/Yves_Saint_Laurent_(designer)> dbpedia-owl:abstract ?abstract ;
dbpedia-owl:thumbnail ?thumbnail .filter(langMatches(lang(?abstract),"en"))
}
Run Code Online (Sandbox Code Playgroud)

我试过各种角色来逃避括号,但似乎没有任何作用.还有其他方法可以获取数据吗?

sparql dbpedia virtuoso

0
推荐指数
1
解决办法
371
查看次数

如何在 Virtuoso 中列出所有可用的谓词?

我是一个初学者Virtuoso,并sparql和我的问题是,我怎么能列出所有可用的predicatestriplestore

例如,如果我的查询是:

sparql 
select * {
<http://my.domain.com/catalog/element/item55> ?p ?o.
}
Run Code Online (Sandbox Code Playgroud)

我得到

p | ○
-------------------------------------------------- --------------
http://www.w3.org/2000/01/rdf-schema#label | 第 55 项
http://my.domain.com/catalog#propertyX | 美国广播公司

如何检索三元组中可用的所有谓词的列表?

sparql triplestore virtuoso

0
推荐指数
1
解决办法
437
查看次数

在Virtuoso TripleStore上加载RDF三元组时出错

我有个问题.

我正在http://virtuoso.openlinksw.com/dataspace/doc/dav/wiki/Main/VirtJenaProvider上关注sample8 .

特别是,我有这个代码:

package ExampleVirtuoso;

import com.hp.hpl.jena.query.*;
import com.hp.hpl.jena.rdf.model.RDFNode;
import virtuoso.jena.driver.*;

public class ExampleVirtuoso {
    public static void main(String[] args) {
        /*          STEP 1          */
        VirtGraph set = new VirtGraph("jdbc:virtuoso://localhost:1111", "dba", "dba");

        /*          STEP 2          */
        System.out.println("\nexecute: CLEAR GRAPH <http://test1>");
        String str = "CLEAR GRAPH <http://test1>";
        VirtuosoUpdateRequest vur = VirtuosoUpdateFactory.create(str, set);
        vur.exec();

        System.out.println("\nexecute: INSERT INTO GRAPH <http://test1> { <aa> <bb> 'cc' . <aa1> <bb1> 123. }");
        str = "INSERT INTO GRAPH <http://test1> { <aa> <bb> 'cc' . …
Run Code Online (Sandbox Code Playgroud)

java rdf jena triplestore virtuoso

-2
推荐指数
1
解决办法
1143
查看次数

标签 统计

virtuoso ×7

sparql ×5

rdf ×3

dbpedia ×2

triplestore ×2

http-post ×1

java ×1

jena ×1

security ×1