小编kur*_*ous的帖子

良好的 SPARQL 查询,用于查找以资源为主题或对象的所有三元组

我需要在 DBpedia 上找到所有的三元组,其中http://dbpedia.org/resource/Benin是一个主题或对象。这个查询以最适合我的格式提供了我想要的输出(只有三个变量,没有空格):

PREFIX : <http://dbpedia.org/resource/>
SELECT * WHERE {
?s ?p ?o
FILTER (?s=:Benin OR ?o=:Benin)
}
Run Code Online (Sandbox Code Playgroud)

如果我有这个查询,我会得到类似的结果:

PREFIX : <http://dbpedia.org/resource/>
SELECT * WHERE {
{:Benin ?p ?o}
UNION
{?s ?p :Benin}
}
Run Code Online (Sandbox Code Playgroud)

但是,后者的格式是关闭的。它首先让我po输出,保留s空白,然后sp留下o的空白。此外,第一个查询需要更多时间来执行。我将非常感谢您对这两个查询如何工作的机制以及输出为何存在差异的解释。

semantic-web sparql linked-data

5
推荐指数
2
解决办法
2606
查看次数

如何使用Sesame查询SPARQL端点(如DBPedia)?

我使用Sesame triplestore来存储我的数据.当我尝试使用带有Sesame的查询接口和外部资源(如dbpedia)时,我没有得到任何结果.在添加所有必需的前缀后,此查询返回带有snorql但不返回Sesame的结果:

select ?routes where {
  dbpedia:Polio_vaccine dbpprop:routesOfAdministration ?routes
}
Run Code Online (Sandbox Code Playgroud)

我需要改变什么?

sesame semantic-web sparql dbpedia linked-data

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

使用 RDFlib 向 GraphDB 插入数据时查询出错

我将数据库解析为 RDFlib 图。我现在想将该图中的三元组插入到 GraphDB 三元组存储中。当我在 Sesame 上托管的旧版本 GraphDB-Lite 上执行该代码时,该代码运行良好。但是,在现在独立的 GraphDB 7.0.0 上执行相同的查询时出现错误。在引发错误之前,该图已被部分解析,并且插入的三元组确实显示在三元组存储中。

这是代码的一部分:

graphdb_url = 'http://my.ip.address.here:7200/repositories/Test3/statements'
##Insert into Sesame
        for s,p,o in graph1:
            pprint.pprint ((s,p,o))
            queryStringUpload = 'INSERT DATA {%s %s %s}'  %(s,p,o)
            # queryStringUpload = 'DELETE WHERE {?s ?p ?o .}'
            # print queryStringUpload
            sparql = SPARQLWrapper(graphdb_url)
            sparql.method = 'POST'
            sparql.setQuery(queryStringUpload)
            sparql.query() 
Run Code Online (Sandbox Code Playgroud)

以下是错误:

ARQLWrapper.SPARQLExceptions.QueryBadFormed: QueryBadFormed: a bad request has been sent to the endpoint, probably the sparql query is bad formed. 

Response:
MALFORMED QUERY: Lexical error at line 1, …
Run Code Online (Sandbox Code Playgroud)

python rdflib linked-data graphdb

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

将矩阵形式的熊猫数据框转换为表格

我有以下形式的数据框:

   P  Q  R  S
A  0  2  1  1
B  2  0  1  1
C  1  1  0  0
D  1  1  0  0
Run Code Online (Sandbox Code Playgroud)

我想将其更改为以下形式:

A P 0
A Q 2
A R 1
A S 1
B P 2
B Q 0
B R 1
B S 1 and so on...
Run Code Online (Sandbox Code Playgroud)

基本上,格式是:

Row Column Value
Run Code Online (Sandbox Code Playgroud)

我正在寻求以这种方式转换数据,以便能够将其馈送到Cytoscape中以绘制图形。

我可以在熊猫中使用任何内置函数进行此转换吗?

python matrix pandas

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

CouchDB复制错误 - 仅允许POST

我试图在CouchDB上部分复制数据库.这是我使用命令提示符实现的查询:

CURL POST http://localhost:5984/_replicate HTTP/1.1 Content-Type: application/json {"source":"source_db", "target":"target_db", "doc_ids":["00123f8-8uht1-81ia-n1762-81ubas81762121iaj1"]}
Run Code Online (Sandbox Code Playgroud)

这是错误:

Failed to connect to POST port 80: Timed Out
{"error":"method_not_allowed", "reason":"Only POST allowed"}
Run Code Online (Sandbox Code Playgroud)

导致错误的原因是什么?我如何摆脱它?

curl couchdb database-replication nosql

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

获取JavaScript中每个数组元素的最后4个字符

如果过去没有问过这件事我会感到惊讶.我无法找到有用的东西.我有一个字符串数组,我想创建一个新的数组,只包含每个元素的最后4个字符.代码如下.我需要更改什么才能使其正常工作?

for(i=0; i<userScanDataObjects.length;i++){
        // if statement used to select every alternative element from the array as th rows are duplicated
        if (i%2 !==0){
            deviceID_raw.push(userScanDataObjects[i].deviceID.value);
            deviceID.push(deviceID_raw[i].substring(5,8));

    }
Run Code Online (Sandbox Code Playgroud)

javascript arrays substring

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