我想找到一些很棒的工具或样式来可视化我的RDF数据,以便在访问RDF数据时给观众带来震撼.
问题是我现在可以使用的可视化工具只能生成一些简单的样式(node,edge ...),如下所示:

它们看起来很丑陋,因为边缘占用太多空间而节点太小.我不认为这种图形可以为观众提供直接查看表格或表格的任何不同体验.
我想知道是否有任何新的可视化工具或只是可以为用户提供真正不同体验的样式,以便他们能够感受到无价的链接数据......
有什么建议或建议吗?
我最近开始使用语义Web和链接数据技术,但我总是对一件事感到困惑.本体论和词汇表之间有什么区别?哪个更好?
我不太明白为什么在SPARQL中他们没有实现基本的逻辑运算符.然而,在大多数情况下,可以以多种方式获得相同的结果.
这个问题的目的是快速参考可以用"或"语句替代的低谷.
这是我能想到的:
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)
FILTER例如:
SELECT * WHERE
{
?s ?p ?o.
FILTER …Run Code Online (Sandbox Code Playgroud) 我想使用jsonld.js库的expand和compact方法将来自各种源的数据转换为通用格式进行处理.如果我获取源JSON文档,添加一个,然后通过该方法传递它我能够获得我需要的通用格式.@contextexpand
我无法找到解决方案的用例是需要合并多个值时.例如,schema.org定义了PostalAddress一个单独的字段streetAddress,但许多系统将街道地址存储为单独的值(街道号,街道名称,街道方向......).要将传入的数据转换为schema.org格式,我需要一种方法来指示我的@context多个字段以streetAddress正确的顺序组成.
压缩文件
{
"@context": {
"displaName": "http://schema.org/name",
"website": "http://schema.org/homepage",
"icon": "http://schema.org/image",
"streetNumber": "http://schema.org/streetAddress"
},
"displaName": "John Doe",
"website": "http://example.com/",
"icon": "http://example.com/images/test.png",
"streetNumber": "123",
"streetName": "Main St",
"streetDirection": "South"
}
Run Code Online (Sandbox Code Playgroud)
扩展文件
{
"http://schema.org/name":[
{
"@value":"John Doe"
}
],
"http://schema.org/image":[
{
"@value":"http://example.com/images/test.png"
}
],
"http://schema.org/streetAddress":[
{
"@value":"123"
}
],
"http://schema.org/homepage":[
{
"@value":"http://example.com/"
}
]
}
Run Code Online (Sandbox Code Playgroud)
我已经回顾了我能找到的所有JSON-LD规范,并且无法找到任何指示使用分割或连接值的方法@context.
是否有人知道一种方法,以正确的顺序将多个值映射到一个上下文属性,并可能在值之间添加空格.我还需要找到一个反向场景的解决方案,我需要按正确的顺序将一个字段拆分成多个值.
注意:即使我将所有三个属性都映射到streetAddress,数值都将包含在数组中,但不能保证它们的顺序正确.
我有兴趣从statistics.gov.scot下载一些边界文件,这是一个官方统计存储库,用于共享利用SPARQL查询的统计数据.
Statistics.gov.scot提供对多个管理和统计地理区域的GeoJSON边界的访问,例如地方当局管理边界或健康委员会.在我的特定情况下,我有兴趣下载一个与数据区有关的GeoJSON边界的数据集.数据区是为在小范围内传播生命结果数据而开发的统计地理区域.通过 statistics.gov.scot访问时,样本数据区看起来像这样:
可在此处访问地理位置和相关数据.相应的GeoJSON数据可在此处获得.
数据区有两次迭代,2004年生产,另一次最近更新.我想下载2004年制作的第一次迭代.根据有关统计实体的信息,我起草了以下查询:
PREFIX entity: <http://statistics.data.gov.uk/def/statistical-entity#>
PREFIX boundaries: <http://statistics.gov.scot/boundaries/>
SELECT ?boundary
WHERE {
entity:introduced <http://reference.data.gov.uk/id/day/2004-02-01>
}
LIMIT 1000
Run Code Online (Sandbox Code Playgroud)
返回以下错误消息:
Run Code Online (Sandbox Code Playgroud)Error There was a syntax error in your query: Encountered " "}" "} "" at line 7, column 3. Was expecting one of: <IRIref> ... <PNAME_NS> ... <PNAME_LN> ... <BLANK_NODE_LABEL> ... <VAR1> ... <VAR2> ... "true" ... …
Apache Jena和Apache Marmotta有什么区别?
根据我的读数,两者都可用于语义Web目的.两者都支持RDF,Triple store等.两者都基于Java.我希望这个问题对于那些不熟悉语义网的人来说是有价值的.
请注意,我不是问哪一个更好,我问的是如何根据使用/要求/因素选择一个而不是另一个
我想用SPARQL检索人口超过10万的意大利城市列表,我正在使用以下查询:
PREFIX dbo: <http://dbpedia.org/ontology/>
SELECT ?city ?name ?pop WHERE {
?city a dbo:Settlement .
?city foaf:name ?name .
?city dbo:populationTotal ?pop .
?city dbo:country ?country .
?city dbo:country dbpedia:Italy .
FILTER (?pop > 100000)
}
Run Code Online (Sandbox Code Playgroud)
在结果中,我得到两个不同的行(代表相同的实体,但名称不同):
http://dbpedia.org/resource/Bologna "博洛尼亚"@ 384038
http://dbpedia.org/resource/Bologna"Comune di Bologna"@ 384038
如何SELECT DISTINCT仅在列中使用?city但仍然具有外部列的输出?
我试图了解两种截然不同的数据共享方法:OData和语义Web /关联数据.这两者有很好的比较吗?
据我了解,OData结合了联合/ CRUD(AtomPub),序列化格式(XML,JSON),数据模型,查询语言以及管理这些现有技术使用的一些语义/约定.它主要用于从一个系统公开数据,以便其他人可以使用它.
关联数据是一个数据模型,对URI的严格承诺,(可选的?)序列化格式(RDF/XML),但(如果我错了,请纠正我)没有提及有关传输,CRUD等的任何内容.似乎旨在允许从各种来源的大量小块数据进行推理.(现在对我们来说并不重要 - 我们将在少量来源之间同步大量数据,并希望保留起源信息).
我对某些数据管理平台之间共享数据的技术感兴趣,其中一些我直接处理.OData似乎更具吸引力,因为向开发人员解释非常简单:实现此API,遵循Atom标准,序列化这样的数据.我们已经在一个平台上做了非常类似的事情:在Atom提要上共享XML序列化数据,使用URL参数进行过滤.
相比之下,我过去使用RDF的经历给我的印象是脆弱,不透明(大量的RDF/XML),无法访问(使用SPARQL vs SQL)技术 - 但也许我会混淆使用三元组的经验Jena只是通过链接数据API公开现有数据库.
关于这两种方法在范围,技术,易用性,未来潜力等方面的差异和相似性的任何指针,评论等都会很棒.
通常在讨论语义数据库和本体的力量时,我听到人们说RDF数据是通用的,因为可以将本体应用于数据以便以不同的方式查看它.
然而,根据我的经验,数据集通常通过谓词与特定本体相关联,即在subject-predicate-object谓词中根据某些本体定义某些属性或关系.因此,例如,在关于电影的查询中,如果没有数据引用某个人的新"电影本体",那么我不能在针对DBPedia或LinkedMDB的查询中使用它的术语,对吧?
然后,我偶尔会看到一个数据集中的"链接",它实际上将一个特定资源连接到另一个具有自己的本体的数据集中的类似资源.即linkedmdb有owl:sameAs,但这似乎并不是人们将本体应用于数据的意思.
它是如何工作的,如何在数据集的SPARQL查询中使用关于某些主题的不同本体?
我想知道是否有一种标准或普遍接受的方式来表示数据库中用于RDF数据的等效NULL.
更具体地说,我感兴趣的是一种方法来区分属性p的值o的以下情况(p是谓词,o RDF三元组的对象):
linked-data ×10
rdf ×7
semantic-web ×5
sparql ×4
ontology ×2
dbpedia ×1
geojson ×1
javascript ×1
jena ×1
json ×1
json-ld ×1
null ×1
odata ×1
opendata ×1
schema.org ×1
stardog ×1
vocabulary ×1