小编sco*_*ger的帖子

SPARQL查询中的"或"

我不太明白为什么在SPARQL中他们没有实现基本的逻辑运算符.然而,在大多数情况下,可以以多种方式获得相同的结果.

这个问题的目的是快速参考可以用"或"语句替代的低谷.

这是我能想到的:

1)UNION

例如:

SELECT * WHERE
{  { ?s :propA ?o } UNION { ?s :propB ?o }  }
Run Code Online (Sandbox Code Playgroud)

- 通常不合适,因为它可能变得非常冗长,因为

SELECT * WHERE { 
    { GRAPH ?g {?s ?p ?o. ?o ?pp ?data1}} UNION 
    { GRAPH ?g {?s ?p ?o. ?o ?pp ?data2}}
} 
Run Code Online (Sandbox Code Playgroud)

不起作用

SELECT * WHERE { 
    GRAPH ?g {
       ?s ?p ?o. 
       {?o ?pp ?data1} UNION 
       {?o ?pp ?data2} 
    }
 }
Run Code Online (Sandbox Code Playgroud)

(至少没有Stardog)

2)FILTER

例如:

SELECT * WHERE
    { 
        ?s ?p ?o.
        FILTER …
Run Code Online (Sandbox Code Playgroud)

sparql stardog linked-data

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

如何从MeSH本体中提取同义词?

在我的这个工作层面,我需要从MeSH本体中提取一个类同义词.我正在寻找SPARQL查询的正确语法:它们如何存储在MeSH中的同义词?我该如何提取它们?

owl ontology sparql jena mesh-ontology

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

查询Spaces Sparql

如果我想要返回三重奏的"玩乐"结果.我不知道如何解释这两个词之间的空间.下面是我试过的一个查询,但它没有用.让我知道是否有人能够发现我做错了什么

<rdf:Description rdf:about="http://website.com/urls/playing games">
    <owl:sameAs rdf:resource="http://website.com/urls/having fun"/>
</rdf:Description>

"PREFIX owl: <http://www.w3.org/2002/07/owl#> SELECT * WHERE { ?y owl:sameAs+ <http://website.com/urls/playing fun> }";
Run Code Online (Sandbox Code Playgroud)

semantic-web sparql jena arq

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

将JS对象插入$ http服务

我试图插入一个格式如下的对象:

$scope.newObj = {1: "N/A", 2: "KO", 3: "OK", 4: "OK", 5: "OK", 15: "N/A", 19: "OK"} 
Run Code Online (Sandbox Code Playgroud)

我尝试使用以下for循环:

var objt = $scope.newObject;
      console.log($scope.newObject[0]) // undefined
for(i=0;i<$scope.newObj.length;i++)
{
   $http.post("insert?etat="+$scope.newObject[0]+"&id="+Object.keys(objt)) 
}
Run Code Online (Sandbox Code Playgroud)

但它似乎没有用.我undefined到处都是.有没有人知道如何逐行从该对象检索数据然后将值插入服务?

javascript angularjs

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

put_records()仅在Kinesis boto3 Python API中接受关键字参数

from __future__ import print_function # Python 2/3 compatibility
import boto3
import json
import decimal

#kinesis = boto3.resource('kinesis', region_name='eu-west-1')
client = boto3.client('kinesis')
with open("questions.json") as json_file:
    questions = json.load(json_file)
    Records = []
    count = 0
    for question in questions:
        value1 = question['value']
        if value1 is None:
            value1 = '0'
        record = { 'StreamName':'LoadtestKinesis', 'Data':b'question','PartitionKey':'value1' }
        Records.append(record)
        count +=1
        if count == 500:
            response = client.put_records(Records)
            Records = []
Run Code Online (Sandbox Code Playgroud)

这是我的python脚本,用于将json文件数组加载到kinesis流中,在这里我将合并500条记录以使用put_recordsfunction。但我收到一个错误:put_records() only accepts keyword arguments。如何将记录列表传递给此方法?每个记录都是带有分区键的 …

python amazon-web-services amazon-kinesis boto3

4
推荐指数
2
解决办法
6802
查看次数

OWL:如何从超类中继承两个类之间的属性关系?

假设我们有两个名为People和 的类Disease。这些类通过对象属性相关has

:People :has :Disease
Run Code Online (Sandbox Code Playgroud)

People有子类(或个体)John,并且Disease有子类(或个体)Cancer

:John a :People
:Cancer a :Disease
Run Code Online (Sandbox Code Playgroud)

如何通过推理得到这些子类之间的关系呢?

:John :has :Cancer
Run Code Online (Sandbox Code Playgroud)

inference owl protege reasoning object-property

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

如何将JSON文档集合作为JSON数组返回

我在MarklLogic中有一组JSON文档,我希望将其作为JSON数组返回到API调用.

fn.collection('my-users')
Run Code Online (Sandbox Code Playgroud)

返回一系列JSON文档,我需要一个有效的JSON对象,一个数组.我在服务器端java脚本中执行此操作,推送到新的空数组().

据我所知,没有真正的示例文档,仅在XQuery中有一些例子.Google 在这里一直提到这个非常高级的文档

var myArray = [];

for (d of fn.collection('my-users')){
  myArray.push(d);
}

myArray
Run Code Online (Sandbox Code Playgroud)

我是否需要遍历序列中的每个项目以推送到阵列或是否有更优雅/更快的解决方案?

雨果

json marklogic serverside-javascript

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

在Sparql查询中优先化属性

这是关于Sparql和Wikidata的问题.我想制定一个返回实例类型关系的查询,但如果它不可用则返回其子类.我试过了:

SELECT DISTINCT  ?ent_type  WHERE { 

 { wd:Q7696957 wdt:P31 ?instanceof . } UNION 
 { wd:Q7696957 wdt:P31/wdt:P279? ?subclass .  } UNION 
 { wd:Q7696957 wdt:P279* ?subclass  . } 

 BIND ( IF (BOUND (?instanceof), ?instanceof, ?subclass ) as ?ent_type  ) 
Run Code Online (Sandbox Code Playgroud)

但不幸的是,这会返回所有解决方案,而我只想要一个解决方案

ent_type
----------
wd:Q811979
wd:Q386724
wd:Q811430
wd:Q7696957
Run Code Online (Sandbox Code Playgroud)

sparql wikidata

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

用于获取 DBpedia 中所有可用人员的 SPARQL 查询仅显示部分人员数据,而不是全部

我正在编写 SPARQL 查询来获取 DBpedia 中可用的所有 Person。我的查询是->

 PREFIX  rdf:  <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
 PREFIX  dbo: <http://dbpedia.org/ontology/>
 PREFIX  dbp: <http://dbpedia.org/property/>

SELECT ?resource ?name
WHERE {
    ?resource  rdf:type  dbo:Person;
               dbp:name ?name.  
    FILTER (lang(?name) = 'en')
  }
ORDER BY ASC(?name)
Run Code Online (Sandbox Code Playgroud)

当我以 HTML/csv/电子表格格式输出时,它给出了大约 10000 行。但是当我查询以获得总数时

PREFIX  rdf:  <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX  dbo: <http://dbpedia.org/ontology/>
PREFIX  dbp: <http://dbpedia.org/property/>

SELECT COUNT(*)
WHERE{
    ?resource  rdf:type  dbo:Person;
               dbp:name ?name.  
    FILTER (lang(?name) = 'en')
 }
Run Code Online (Sandbox Code Playgroud)

它正在给予 -> 1783404

任何人都可以建议一个解决方案来获取 DBpedia 中可用的所有 Person 行吗?

sparql dbpedia

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

为什么我的sparql查询没有结果?

我为分组结果做了sparql查询,并通过SPARQL端点http://glam.iptime.org/sparql执行了查询.

但是,我没有得到任何结果,也没有错误消息.

查询如下.

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX cfo: <http://lod.culture.go.kr/ontology/>
PREFIX dc: <http://purl.org/dc/elements/1.1/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

SELECT ?age ?typeName (count(?s) as ?cnt)
WHERE {
{
select * where {  
?s rdf:type cfo:CulturalObject.
?s rdfs:label ?label.
?s cfo:temporal ?time.
?time cfo:begin ?begin.    

BIND (STRDT(replace(?begin, 'BC', '-'), xsd:float) as ?year).
BIND(IF(?year > 1897, "modern", IF(?year > 1392, "chosun", IF(?year > 918, "goryeo", IF(?year > 700, "north_south", IF(?year > -58, "three_states", "ancient"))))) as ?age).

?s dc:type …
Run Code Online (Sandbox Code Playgroud)

uri sparql

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

如何从dbpedia检索文章?

我最近进入了语义网的世界。到目前为止,一切都很顺利。重点是...我正试图从dbpedia中获取Articles,但是我却没有得到结果。对于我在DBpedia本体中看到的内容,我认为这应该是正确的。Article是WrittenWork的“子类”,Book也是。我可以通过rdf三元组获取书籍及其信息。当使用与书本查询几乎相同的SPARQL查询时,我没有得到结果。这很奇怪,因为我知道Wikipedia中有对文章的引用。

查询书籍:

SELECT DISTINCT ?book
WHERE { ?book a dbo:Book . }
Run Code Online (Sandbox Code Playgroud)

如果我用dbo:Book代替dbo:Article,我什么也收不到。我在这里测试:http : //dbpedia.org/sparql

有人可以指出正确的方向吗?

rdf semantic-web sparql dbpedia

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

SPARQL:从dbpedia中提取不同的值

我想从DBPedia中提取5个电影(或电影)个人的图形。

我的查询是:

ParameterizedSparqlString qs = new ParameterizedSparqlString(“ +
” construct {?s?p?o}“ +” where {?http://dbpedia.org/ontology/Film。"+“?s?p?o”}偏移量0 LIMIT 5“);

我得到以下结果:

1- http://dbpedia.org/resource/1001_Inventions_and_the_World_of_Ibn_Al-Haytham http://www.w3.org/1999/02/22-rdf-syntax-ns#type http://dbpedia.org/ontology/Film

2- http://dbpedia.org/resource/1001_Inventions_and_the_World_of_Ibn_Al-Haytham http://www.w3.org/1999/02/22-rdf-syntax-ns#type http://www.w3.org/2002/ 07 / owl#Thing

3- http://dbpedia.org/resource/1001_Inventions_and_the_World_of_Ibn_Al-Haytham http://www.w3.org/1999/02/22-rdf-syntax-ns#type http://www.wikidata.org/entity/ Q386724

4- http://dbpedia.org/resource/1001_Inventions_and_the_World_of_Ibn_Al-Haytham http://www.w3.org/1999/02/22-rdf-syntax-ns#type http://dbpedia.org/ontology/Wikidata: Q11424

5- http://dbpedia.org/resource/1001_Inventions_and_the_World_of_Ibn_Al-Haytham http://www.w3.org/1999/02/22-rdf-syntax-ns#type http://dbpedia.org/ontology/Work

问题:相同的影片是所有类别的5次返回:Film,Thing,Q386724,WIKIdata:Q11424和Work是等效类别(或存在Subclass关系)。

我的问题:

我想一次返回

 <http://dbpedia.org/resource/1001_Inventions_and_the_World_of_Ibn_Al-Haytham>    
 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> 
 <http://dbpedia.org/ontology/Film> .
Run Code Online (Sandbox Code Playgroud)

并滤除其他4个三元组

怎么办?

先感谢您

sparql dbpedia

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

如何在Blazegraph中导入和查询4列N-Quad四元组?

我对RDF/SPARQL比较陌生,我正试图将一些N-Quad,4列/四列数据导入并查询到Blazegraph(参见schemaOrgEvent.sample.txt).

当我导入Quads数据(Web控制台)时,我只剩下基于三元组的3列元组数据,即Blazegraph只允许SPARQL查询选择{?s?p?o},但是四重选择{?s? p?o?c},不要.我究竟做错了什么???

Blazegraph可以原生存储4列Quad数据,还是我误解了RDF/Triple/Quad存储的性质?

此外,导入的四元数据以及三元组(标准化???)似乎将第1列转换为另一列,Blazegraph提供的(?),标识符,原始(Quad)数据格式为(4列)

_:node03f536f724c9d62eb9acac3ef91faa9 <http://schema.org/PostalAddress/addressRegion> "Kentucky"@en <http://concerts.eventful.com/Lauren-Alaina> .
Run Code Online (Sandbox Code Playgroud)

导入后(3列):

t1702   schema:PostalAddress/addressRegion  Kentucky
Run Code Online (Sandbox Code Playgroud)

谁的查询是:

SELECT * WHERE
{
    ?s ?p ?o
    #?s ?p ?o ?c - Won't work :-(
    FILTER(STR(?o)="Kentucky")
}
Run Code Online (Sandbox Code Playgroud)

值't1702'是各种各样的'外键',可用于链接到其他三元组(即在导入日期内重复).

rdf sparql triplestore graph-databases blazegraph

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