我知道Stackoverflow上有类似的问题,但我觉得他们没有回答以下问题.
图表数据库对我的理解存储数据主要遵循以下模式:
Table/Collection 1: store nodes with UID
Table/Collection 2: store relations referencing nodes via UID
Run Code Online (Sandbox Code Playgroud)
这允许存储任意类型的图形.现在据我所知,三重商店只存储三元组:
Triple/Collection 1: store triples (2 nodes, 1 relation)
Run Code Online (Sandbox Code Playgroud)
现在我将看到有关用例的以下区别:
我很困惑的是,人们似乎根据这些标准没有讨论使用哪一个.我发现的大多数文章都在谈论速度或兼容性等论点.但这不是最重要的一点吗?
反过来说:
subject
.编辑:我看到"失去关于连接的信息"是错误的方式.如果您按照接受的答案中所示执行操作并为2个节点+ 1个关系插入多个三元组,那么您将保留所有信息,特别是信息确切的节点连接的信息.
我一直在阅读有关语义Web技术,如RDF/RDFS和"本体",但是想知道每个技术是如何相关的?目前这些条款似乎都是可以互换的,或者我不是在理解这里的基本概念.
我需要一些帮助从我的商店选择合适的三元组....
<a> a <type/1> .
<b> a <type/1> .
<c> a <type/1> .
<c> a <type/2> .
Run Code Online (Sandbox Code Playgroud)
我想只选择类型为/ 1而不是类型/ 2的元素
使用sparql select查询实现此目的的最佳方法是什么?
我正在寻找像:
select ?a where
{
?a a <type/1> .
!{ ?a a <type/2> }
}
Run Code Online (Sandbox Code Playgroud)
谢谢,
:)
有三个商店(语义数据库),还有通用图形数据库.
两者都基于通过关系将一个"项目"链接到另一个"项目"的类似概念.Triplestores支持RDF并由SPARQL查询,但是这些附加组件也可以(并且)在通用图形数据库的顶部实现.
什么是使您更喜欢语义db/triplestore到neo4j这样的通用图数据库的根本区别?
我有一些看起来像这样的三元组:
test:thing rdfs:label "Non-Language Label"
test:thing rdfs:label "English Label"@en
test:thing rdfs:label "French Label"@fr
Run Code Online (Sandbox Code Playgroud)
我想形成一个sparql查询,它给我"非语言标签"和"法国标签",如果有的话.
我试过这个并没有用:
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT ?label ?preferredLabel
WHERE {
test:thing rdfs:label ?label
OPTIONAL {
test:thing rdfs:label ?preferredLabel .
FILTER (regex(str(?preferredLabel), '(^|\\\\W)fr', 'i'))
}
}
Run Code Online (Sandbox Code Playgroud)
提前致谢!
我想询问一个用于大型数据集的好三元组,它应该:
我喜欢(非常)支持SPARQL/Update和它附带的SPARQL端点,但是
到目前为止,我找不到任何血统和类似的产品(商业或其他).它们对我来说几乎看起来不成熟或不实验.想法?
易于安装/使用是这里最重要的因素 - 而不是性能.
小是可以的,因为不期望大数据集.