是否可以在通过组合变量和文字创建的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>
但还有另一种方法将变量和文字"粘合"在一起吗?
我写了以下查询:
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
这种方式写行时,我基本上过滤掉了所有非文字(侧面问题:文字是唯一可以有语言标签的类型吗?)
那么,我如何保留所有结果并过滤掉非英语文字呢?
我在Node.js中开发一个应用程序,我的数据以json表示三元组,如下所示:
{
subject:"Hello",
predicate:"Knows",
object:"World"
}
Run Code Online (Sandbox Code Playgroud)
我希望能够以相对简单的方式将我的数据存储到[data | triple]商店中.
元组内的数据值也需要搜索.
我正在寻找使用现有的RDF服务器并通过HTTP访问它,但是希望避免使用Sparql(一种解决方法可能是使用一个单独的javascript模块来包装Sparql).
是否存在任何处理存储三元组的Node模块?如果没有,那么存储三元组的实用解决方案是什么?
我正在进行一些实验,在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
谓词/对象的主题时启用SPARQL ?
我正在开发一个要存储在三元组存储中的 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。
但我确定有更合适的东西,仍在寻找。
我处于棘手的状态,我似乎无法在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)?
我有以下查询,我在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) 考虑具有根节点“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) 运行嵌入在iOS上的图形数据库有哪些选择?
鉴于明显缺乏选项,最好是尝试在sqlite中管理数据库并保持数据库大小不变?
此 SPARQL 查询中的星号意味着什么?
SELECT ?uri ?type
WHERE{
?uri a ?type.
?type rdfs:subClassOf* example:Device.
}
Run Code Online (Sandbox Code Playgroud)
它的意思是“子类的子类”吗?我可以将它与其他谓词一起使用吗?
triplestore ×10
sparql ×6
rdf ×4
semantic-web ×4
triples ×2
allegrograph ×1
database ×1
ios ×1
marklogic ×1
node.js ×1
ontology ×1
owl ×1
sqlite ×1
turtle-rdf ×1
variables ×1
wikidata ×1
xml ×1
xquery ×1