标签: triplestore

SPARQL:将变量与文字组合在一起

是否可以在通过组合变量和文字创建的SPARQL三元组中创建主题?

我的情况是这样的:

OPTIONAL  
{
  $object dc:identifier $identifier .
  <info:fedora/abc:123/MODS> fedora-view:disseminationType $mods .
  <info:fedora/abc:123/TN> fedora-view:disseminationType $tn
}
Run Code Online (Sandbox Code Playgroud)

$ object看起来像这样:<info:fedora/abc:123> $ identifier看起来像这样:abc:123 我需要的是:<info:fedora/abc:123/MODS>

我不能使用,<info:fedora/$identifier/MODS>但还有另一种方法将变量和文字"粘合"在一起吗?

xml variables sparql triplestore

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

仅当对象是文字时才按语言过滤

我写了以下查询:

SELECT DISTINCT
  ?predicate
  ?object
  ?label
WHERE {
  VALUES        ?subject     { <http://dbpedia.org/resource/Hercules_(1997_film)> }
  ?subject      ?predicate   ?object .
  ?predicate    rdfs:label   ?label .
  FILTER(langMatches(lang(?object), "EN"))
}
LIMIT 100
Run Code Online (Sandbox Code Playgroud)

当我用FILTER这种方式写行时,我基本上过滤掉了所有非文字(侧面问题:文字是唯一可以有语言标签的类型吗?)

那么,我如何保留所有结果并过滤掉非英语文字呢?

database rdf sparql triplestore

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

在Node.js中存储三元组

我在Node.js中开发一个应用程序,我的数据以json表示三元组,如下所示:

{
    subject:"Hello",
    predicate:"Knows",
    object:"World"
}
Run Code Online (Sandbox Code Playgroud)

我希望能够以相对简单的方式将我的数据存储到[data | triple]商店中.

元组内的数据值也需要搜索.

我正在寻找使用现有的RDF服务器并通过HTTP访问它,但是希望避免使用Sparql(一种解决方法可能是使用一个单独的javascript模块来包装Sparql).

是否存在任何处理存储三元组的Node模块?如果没有,那么存储三元组的实用解决方案是什么?

triplestore node.js

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

在乌龟或RDF中,我可以在符合条件的所有主题上添加谓词/对象吗?

我正在进行一些实验,在Tomcat中openrdf-workbench webapp中导入以turtle语言表达的三元组,其中包含一个SPARQL端点.

我想知道是否使用乌龟,或者通常在RDF/RDFS中是否可以在所有(隐式)主题上有条件地为另一个谓词/对象的存在添加某个谓词/对象声明.

例如,如果我定义了以下三元组:

foo:a foo:b foo:c
foo:d foo:b foo:c
foo:e foo:b foo:c
foo:f foo:b foo:c
Run Code Online (Sandbox Code Playgroud)

我想自动将以下谓词/主题添加到与predicate = foo:b和object = 匹配的所有主题foo:c:

(implicit subject) foo:g foo:h
Run Code Online (Sandbox Code Playgroud)

为了自动生成以下三元组:

foo:a foo:g foo:h
foo:d foo:g foo:h
foo:e foo:g foo:h
foo:f foo:g foo:h
Run Code Online (Sandbox Code Playgroud)

这可能吗?

或者:有没有办法定义一些三元组,以便foo:a/d/e/f在查询具有foo:g foo:h谓词/对象的主题时启用S​​PARQL ?

rdf semantic-web sparql triplestore turtle-rdf

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

基于 Web 的 RDF 三元组编辑器?(如 RDB 的 phpMyAdmin)

我正在开发一个要存储在三元组存储中的 RDF 数据库。使用 Protégé 对本体进行可视化编辑。但是,我需要非开发人员才能将记录添加到数据库中。

我环顾四周,但没有像普通 MySQL 数据库的 phpMyAdmin 那样用户友好的东西。

我是否需要为 SPARQL 开发可视化界面?或者我是否错过了允许非 CS 人员以图形方式修改记录(个人/实例而不是本体)的内容?

更新:到目前为止,我发现的最佳解决方案是使用语义媒体 Wiki ( http://semantic-mediawiki.org/ ) 和 Karima Rafes 的令人敬畏的扩展 ( http://www.mediawiki.org/wiki/Extension:LinkedWiki)。有了这个,您可以让对 RDF/语义 Web 一无所知的用户通过 wiki 模板修改数据,然后导出到 RDF。

但我确定有更合适的东西,仍在寻找。

user-interface rdf semantic-web triplestore

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

MarkLogic三重对象语言

我处于棘手的状态,我似乎无法在MarkLogic文档中找到有关它的任何信息.我遇到的问题是我使用来自不同来源的三元组,并且他们使用不同的方式来描述字符串对象(有些是多语言的):

<http://subject1> <http://www.w3.org/2004/02/skos/core#prefLabel> "Object"^^xs:string .
<http://subject2> <http://www.w3.org/2004/02/skos/core#prefLabel> "Object"@en .
Run Code Online (Sandbox Code Playgroud)

所以,当我做一个时, cts:triples((), sem:iri("http://www.w3.org/2004/02/skos/core#prefLabel"), "Object") 我只得到第一个三联.

问题是,如何让它忽略语言并返回两个三元组(如果可能,不使用sparql)?

xquery marklogic triplestore triples

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

访问属性的属性

我有以下查询,我在wikidata 查询服务 Web 界面上运行

SELECT ?objectLabel ?mass
WHERE {
  ?object wdt:P397 wd:Q525.  # the object should have the sun as parent astronomical body
  ?object wdt:P31 ?status.
  ?object wdt:P2067 ?mass.

  # Here are the accepted object status
  VALUES ?status {wd:Q128207 wd:Q121750 wd:Q1319599}.  # terrestrial planet, gas giant, ice giant

  # automatically use the english label for ?xLabel variables 
  SERVICE wikibase:label { bd:serviceParam wikibase:language "en" }
} 
Run Code Online (Sandbox Code Playgroud)

我发现质量以特定单位给出,在地球的情况下为 yottagram。我怎样才能访问这些信息?

我尝试添加如下内容:

?mass   wdt:P2237 ?mass_unit. …
Run Code Online (Sandbox Code Playgroud)

sparql triplestore triples wikidata

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

如何在 SPARQL 中遍历 RDF 树并找到树外的连接?

考虑具有根节点“A”和“hasChild”关系(例如产品结构)的树如下: 树状图

目标是找出:哪些节点在树外有父节点?

在这种情况下,答案应该是“B”和“Q”,因为它们在树外有父母。

查询应该去每个节点并检查它的父节点,而不是创建一个子节点列表并检查每个节点我猜。

我怎样才能有效地(应该为数百万个节点工作)用 SPARQL 遍历这棵树并回答这个问题?

这是我尝试过的,但结果为 0:

PREFIX xxx:         <http://example.org/xxx#>

select * where {
   xxx:A   xxx:hasChild*  ?child .
   ?child  ^xxx:hasChild  ?foreignParent . 
   ?child  ^xxx:hasChild  ?parent .
   FILTER (?parent =! ?foreignParent) .
}
Run Code Online (Sandbox Code Playgroud)

附上各自的样本数据:

<?xml version="1.0"?>
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns:xxx="http://example.org/xxx#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
  xml:base="http://example.org/xxx">
  <owl:Ontology rdf:about="">
    <owl:versionInfo>Created with TopBraid Composer</owl:versionInfo>
  </owl:Ontology>
  <owl:Class rdf:ID="Other">
    <rdfs:label>Other</rdfs:label>
    <rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
  </owl:Class>
  <owl:Class rdf:ID="Item">
    <rdfs:label>Item</rdfs:label>
    <rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
  </owl:Class>
  <rdf:Property rdf:ID="hasChild">
    <rdfs:range rdf:resource="#Item"/>
    <rdfs:range rdf:resource="#Other"/>
    <rdfs:domain rdf:resource="#Item"/>
    <rdfs:label>has child</rdfs:label>
  </rdf:Property>
  <xxx:Other rdf:ID="Fake_1">
    <xxx:hasChild>
      <xxx:Item rdf:ID="B">
        <xxx:hasChild> …
Run Code Online (Sandbox Code Playgroud)

rdf semantic-web allegrograph sparql triplestore

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

嵌入在iOS上的图形数据库

运行嵌入在iOS上的图形数据库有哪些选择?

鉴于明显缺乏选项,最好是尝试在sqlite中管理数据库并保持数据库大小不变?

sqlite triplestore graph-databases ios

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

此 SPARQL 查询中的星号意味着什么?

此 SPARQL 查询中的星号意味着什么?

SELECT ?uri ?type
WHERE{
    ?uri a ?type.
    ?type rdfs:subClassOf* example:Device.
}
Run Code Online (Sandbox Code Playgroud)

它的意思是“子类的子类”吗?我可以将它与其他谓词一起使用吗?

semantic-web owl ontology sparql triplestore

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