rdf - 如何在 RDF/OWL 中说明 "Pat knows Mike' 的电话号码”

标签 rdf semantic-web owl

我如何声明 Pat 知道 Mike 的电话号码是一个概念,而不是 RDF/OWL 中的具体电话号码 1112223333?

能够说明 Mary 知道 Pat 知道 Mike 的电话号码的奖励积分......

最佳答案

有了合适的属性“知道”,您可以使用 rdf reification:

:Pat :knows [ 
  rdf:subject :Mike ;
  rdf:predicate :telephoneNumber ;
  rdf:object <tel:1112223333> 
]

很少有人喜欢具体化,但对于这种事情,没关系。对于第二种情况,享受双重物化:
:Mary :knows [
  rdf:subject :Pat ;
  rdf:predicate :knows ;
  rdf:object [
    rdf:subject _:b1 ;
    rdf:predicate rdf:subject ;
    rdf:object :Mike ;
    rdf:subject _:b2 ;
    rdf:predicate rdf:predicate ;
    ... sanity barrier exceeded ...
  ]
]

如果您乐于走出单图,生活会更简单。你可以只有几个文件:

文件1:
:Mary :knowsContentsOf <FILE2>

文件2:
:Mike :telephoneNumber <tel:1112223333>

或者甚至将两者都放在一个文件信封中并指向文件的片段。这本质上就是命名图在 SPARQL 中为您提供的内容。

关于rdf - 如何在 RDF/OWL 中说明 "Pat knows Mike' 的电话号码”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13114018/

相关文章:

SPARQL CONCAT() 和 STR() 与 CONSTRUCT

sparql - 使用 SPARQL 从公开数据中下载 GeoJSON 边界

python - RDF/XML rdflib : Invalid property element URI

html - XHTML 1.0 中的 <dl> 元素是否适合显示资源标签列表或订阅提要?

semantic-web - 使用OWL API,给定OWLClass,如何获取<rdfs :label> of it?

sparql - Protégé 5 中具有相同数据属性的相邻线部分的区域

java - 在 Apache Jena 中使用嵌套节点创建 RDF

sparql - 使用命名图会影响检索查询结果的速度吗?

sparql - SPARQL 查询中表达式的顺序

rdf - 在 Protege 中哪里定义 AllDisjointClasses