标签: linked-data

在JSON-LD中,是否可以扩展上下文?

我有一个JSON-LD文档.

{
  "@id": "VDWW1LL3MZ",
  "first_name": "Vincent",
  "last_name": "Willems",
  "knows":["MartyP"],
  "@context": {
    "foaf": "http://xmlns.com/foaf/0.1/",
    "first_name": "foaf:givenName",
    "last_name": "foaf:familyName",
    "knows": "foaf:knows",
    "MartyP": { 
      "@id": "http://example.com/martyp",
      "first_name": "Marty",
      "last_name": "P"
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

现在,本文档的部分上下文是在运行时(Marty P对象)生成的,但foaf前缀定义是静态的,并且对每个文档都重复.

如果我有10个前缀定义,将它们放在每个文档中会感到浪费.所以我想做点什么

generated document:

{
  "@id": "VDWW1LL3MZ",
  "first_name": "Vincent",
  "last_name": "Willems",
  "knows":["MartyP"],
  "@context": {
    "@extends": "http://example.com/base_context.jsonld",
    "MartyP": { 
      "@id": "http://example.com/martyp",
      "first_name": "Marty",
      "last_name": "P"
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

base_context.jsonld:

  {
    "foaf": "http://xmlns.com/foaf/0.1/",
    "first_name": "foaf:givenName",
    "last_name": "foaf:familyName",
    "knows": "foaf:knows"
  }
Run Code Online (Sandbox Code Playgroud)

这可能吗?

semantic-web linked-data json-ld

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

如何判断资源/实体是类还是实例

在RDF/RDFS/OWL中,如何判断实体是纯粹的实例还是类?我理解类实体也是实例,因为它们是"类"实体的实例和其他类的子类.但是,我相信一些实体只是一个类的实例,而不是类本身.

现在,我认为告诉某事的唯一方法纯粹是一个实例是在(在该实体的rdf数据中)查找带有rdf:type谓词的语句,并查找缺少具有rdfs:subClassOf或等效谓词的任何语句.

但是,寻找缺少语句并不是确保某些东西真正成为类或实例的好方法.

有没有更好的方法来辨别一个实体是一个类还是一个纯粹的实例?希望在鼻子下面可能还有什么东西.

rdf semantic-web owl rdfs linked-data

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

为什么使用owl:Restriction as own:EquivalenceClass的属性?

我刚开始学习语义Web,并对限制类有疑问.我挖了一段时间,但还没有找到任何答案..任何帮助将不胜感激!从教科书中,我看到了限定类的例子,它们都是要定义一个匿名owl:Restrictionbnode并将其bnode与属性相关联owl:equivalentClass.

例:

example:restrictionClass owl:equivalentClass [
    rdf:type owl:Restriction;
    owl:onProperty example:resProp;
    owl:someValuesFrom example:resValue.
]
Run Code Online (Sandbox Code Playgroud)

我的问题是我们可以直接定义限制类吗?喜欢:

 example:restrictionClass rdf:type owl:Restriction;
                         owl:onProperty example:resProp;
                         owl:someValuesFrom example:resValue.
Run Code Online (Sandbox Code Playgroud)

定义匿名有owl:Restriction什么好处?

semantic-web ontology sparql linked-data

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

使用iSPARQL使用相似性度量来比较值

我有一个问题问你.

我想编写一个查询,检索与给定字符串"Londn"相似的值(给定相似函数,如Lev),以与DBPedia的谓词"RDFS:label"进行比较.例如,在输出中,我想获得"伦敦"的价值.我已经读过可用的方法可能是使用iSPARQL("不精确的SPARQL"),尽管它在文献中没有被广泛使用.

我可以使用iSPARQL还是有一些SPARQL方法来执行相同的操作?

semantic-web similarity sparql dbpedia linked-data

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

REST 和 LDP 有什么区别?

首先,我是新手……REST、RDF、LDP 等。

我能够以一种模糊的方式了解 REST 和 RDF:

  • REST是一个框架,其中一切都是资源,复杂的客户端请求被转换为基于 URI 的结构请求,并使用 HTTP 方法,我们将获得 RDF 资源格式的结果:XML 或 json 格式。
  • RDF是一个解释关系结构的框架,换句话说,就是一个网络资源的概念模型。
  • LDP似乎与 REST 相同,使用 HTTP 协议与 RDF 资源进行交互。我所理解的是 HTTP 协议用于与 Web 服务通信并以 HTML、jpeg、png 或任何其他格式,甚至 XML 格式获取结果。那么什么是自民党?- 它是否以某种方式使用 HTTP 方法更新 XML。这不能在正常的架构中完成。除了自民党?

rest rdf linked-data linked-data-platform

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

使用SPARQL在给定范围(间隔)中聚合值?

比如在RDF数据集中,有一组值,范围从0到100(例如,百分比).我想计算给定范围内的值的数量,例如,100 - 90 | 90 - 80 | ...... | 10 - 0.我期望的输出如下所示:

???????????????????????????
?     Range      ? Count  ?
???????????????????????????
? 100 >= x < 90  ? 4521   ?
? 90 >= x < 80   ? 650    ?
?     ...        ? ...    ?
? 10 >= x <= 0   ? 2650   ?
???????????????????????????
Run Code Online (Sandbox Code Playgroud)

我目前正在使用SPARQL子查询和过滤器来获得解决方案.但这似乎是一个常见的用例,我的直觉告诉我应该有更好的方法来做到这一点.是否有更好(或更有效)的方法来达到这个答案?

目前的解决方案如下所示.

PREFIX dqv: <http://www.w3.org/ns/dqv#>
select distinct ?count90_100 ?count80_90 ?count10_0  where  {
 ?m a dqv:QualityMeasurement .
 { select count(?m) as ?count90_100 where { ?m dqv:value ?value FILTER …
Run Code Online (Sandbox Code Playgroud)

optimization rdf sparql linked-data

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

将 CSV 转换为 RDF,其中一列是一组值

我想将 CSV 转换为 RDF。

事实上,该 CSV 的一列是一组用分隔符(在我的例子中是空格字符)连接的值。

这是一个示例 CSV(带标题):

col1,col2,col3
"A","B C D","John"
"M","X Y Z","Jack"
Run Code Online (Sandbox Code Playgroud)

我希望转换过程创建一个类似于这样的 RDF:

:A :aProperty :B, :C, :D; :anotherProperty "John".
:M :aProperty :X, :Y, :Z; :anotherProperty "Jack".
Run Code Online (Sandbox Code Playgroud)

我通常使用 Tarql 进行 CSV 转换。
每行迭代都可以。
但是它没有在列值“内部”进行子迭代的功能。

SPARQL-Generate 可能会有所帮助(据我所知,使用 iter:regex 和 sub-generate)。但是我找不到任何与我的用例相匹配的示例。

PS:可能 RML 也可以提供帮助。但我对这项技术一无所知。

csv rdf semantic-web linked-data sparql-generate

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

如何使用Sesame查询SPARQL端点(如DBPedia)?

我使用Sesame triplestore来存储我的数据.当我尝试使用带有Sesame的查询接口和外部资源(如dbpedia)时,我没有得到任何结果.在添加所有必需的前缀后,此查询返回带有snorql但不返回Sesame的结果:

select ?routes where {
  dbpedia:Polio_vaccine dbpprop:routesOfAdministration ?routes
}
Run Code Online (Sandbox Code Playgroud)

我需要改变什么?

sesame semantic-web sparql dbpedia linked-data

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

使用多个数据源的SPARQL查询

我有默认图形,需要使用DBpedia扩展数据。

我已经使用owl:sameAs属性将数据中的所有实例与DBpedia中的相应URI进行了映射。

该查询返回所有owl:sameAs数据:(我的端点:http : //dydra.com/brunopenteado/br_municipalities/@query

select * 
  where 
    { 
      ?mun owl:sameAs ?db .
    } 
  limit 10
Run Code Online (Sandbox Code Playgroud)

现在,我想rdfs:label使用我的数据从DBpedia 查询。

如何建立一个查询,该查询可以读取我的数据并扩展到DBpedia属性?

我尝试过这样的查询,但是没有返回结果。

select * 
  from <http://dydra.com/brunopenteado/br_municipalities/sparql>
  from <http://pt.dbpedia.org/sparql>
where 
  { 
    ?mun owl:sameAs ?dbp .
    ?dbp rdfs:label ?name
  } 
limit 10
Run Code Online (Sandbox Code Playgroud)

sparql dbpedia linked-data

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

Sparql中的字符串

我正在玩DBPedia.

有了这个问题,我得到了所有在伦敦出生的人:

SELECT ?person
WHERE {      
  ?person dbo:birthPlace :London
}
Run Code Online (Sandbox Code Playgroud)

但是,当我执行此查询时,为什么我得到一个空结果?

SELECT ?person
WHERE {      
  ?person dbo:birthPlace "London"
}
Run Code Online (Sandbox Code Playgroud)

我刚刚换成London了一个String.

semantic-web sparql dbpedia linked-data

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