标签: foaf

DatatypeProperty,ObjectProperty和FunctionalProperty有什么区别,我应该何时使用它们?

在编写本体时,有几种非常常用的类型,包括:

  • DatatypeProperty属性
  • OBJECTPROPERTY
  • 函数型
  • InverseFunctionalProperty

前三种看起来像是以某种特定的方式使用,但我发现我对它们的看法受到我在FOAF中看到它们使用方式的挑战.

应该何时使用或不使用它们?

rdf owl ontology foaf sparql

19
推荐指数
1
解决办法
1万
查看次数

使用SPARQL通过其字符串名称检索DBpedia资源,但不知道其类型

如此问题中显示的标题类似,我想通过知道其名称的一部分来检索dbpedia资源.我是一个初学者,当谈到SPARQL等,但在关注的例子对我帮助很大,因为笔者搜索了"罗马尼亚",而该人回答他迷上了一个SPARQL要求做的工作.这很好,但这就是事情.

在这个例子中,他们已经"知道"罗马尼亚是一个国家,因此

    ?c a dbpedia-owl:Country ;
Run Code Online (Sandbox Code Playgroud)

在WHERE子句中.完整的sparql请求正在

    SELECT ?c
    WHERE {
    ?c a dbpedia-owl:Country ;
    foaf:name "Romania"@en .
    FILTER NOT EXISTS {?c dbpedia-owl:dissolutionYear ?y}
    } 
Run Code Online (Sandbox Code Playgroud)

但是,这个问题并不十分完整地回答我们的需求,因此寻找其名称的任何资源,在"名称"作为一个资源,或它的一部分的实际名称,不管它的(RDF:)类型.目标是搜索"任何东西",只知道名称或其中的一部分.

我一直在做一些研究,问你们这个问题之前,我已经知道这个问题"这个名字的一部分"可以用BIF功能来解决(糟糕的方法,因为它不是SparQL兼容),或CONTAINS子句,但我找不到任何展示如何使用它的例子.

现在让我们假设在dbpedia资源中有一个"单词"来搜索,该单词将是来自某个用户的输入.我们称之为"输入".

我想,这个请求看起来像:

   SELECT ?something WHERE
   {
    ?something a (dbpedia Resource).
    CONTAINS(?something,"INPUT")
   }
Run Code Online (Sandbox Code Playgroud)

我的主要问题是两个主要方面:

  1. 有没有描述Dbpedia资源类型的东西?我认为这不是本体论或其他任何东西.通过knwoing我想搜索所有资源,找到一个匹配...
  2. 我将提供的特定名称,或一些字符串.我认为过滤器选项,但是这将意味着让所有的资源,然后通过自己的名字筛选他们,他们已经retreived后,这将是,我想,没有这么完美.

那么,有没有人知道这个"主查询"通过提供其名称或其中的一部分来获取资源?(一个例子是提供"奥巴马",并且不仅为巴拉克而且为米歇尔获得结果).

先感谢您.

rdf full-text-search foaf sparql dbpedia

11
推荐指数
1
解决办法
3828
查看次数

SPARQL否定:所有foaf:不是foaf的代理人:人

我正在尝试编写一个SPARQL查询,它应该给我所有foaf:Agents不是foaf:Persons.

我无法看到将此OPTIONAL/BOUND构造应用于此问题的方法,因为所有属性都喜欢rdfs:subClassOf并且rdf:type具有传递性和反身性.

我试过这个:

SELECT * WHERE { 
?x rdf:type foaf:Agent 
OPTIONAL { ?y rdf:type foaf:Person } 
FILTER ( !BOUND(?y) ) }
Run Code Online (Sandbox Code Playgroud)

但是rdf:type似乎是传递性的,至少与JENA/ARQ/SDB一样.

rdf foaf sparql

11
推荐指数
2
解决办法
5899
查看次数

使用SPARQL中的"GRAPH"关键字来获取远程图形

我希望使用SPARQL作为一个相对基本的任务:给定一个FOAF图,我想解析我在那里找到的元素,获取它们的标签(如果它们存在)然后,将它们用作新的图形,从中找到有关这些人的信息.

例如,您可以想象一个简单的用例,我想运行一个SPARQL查询来列出我最喜欢的食物(根据我的FOAF文件),以及我所有朋友最喜欢的食物.

这就是目前的情况.请注意,出于测试目的,目前我正在尝试使用下面的查询,通过?name3变量获取朋友的名字.运行此查询不会返回?graph和?name3的任何结果,即使我知道rdfs:seeAlso链接到一些有效的RDF文件,其中至少有两个应该具有name属性.感谢您提供的任何输入!

PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT ?name1 ?name2 ?graph ?name3
FROM <my-rdf-file>
WHERE { 
    ?person1 foaf:knows ?person2 .
    ?person1 foaf:name ?name1 .
    ?person2 foaf:name  ?name2 .
    OPTIONAL { 
        ?person2 rdfs:seeAlso ?graph .
        GRAPH ?graph {
            ?person3 foaf:name ?name3 .         
        }   
    }       
}
Run Code Online (Sandbox Code Playgroud)

rdf semantic-web foaf rdfs sparql

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

如何在DL Manchester OWL语法中查询个人?

我知道这听起来像一个非常愚蠢的问题,但我一直试图解决这个问题,但我找不到任何相关内容,尽管这显然应该是可行的.

我正在开发一些使用曼彻斯特OWL语法和HermiT推理器通过其API查询OWL文件的东西.我也可以在Protege 4的DL Query选项卡上运行查询,以检查我在该文件上的查询结果.该文件基本上是添加数据实例的朋友之友(FOAF)本体.

问题:我找不到通过其唯一标识符查询实例的方法.

它应该是URI,所以例如对于具有URI的Person对象 http://xmlns.com/foaf/0.1/Andrew_Kuchling,我试图运行以下查询:

Person and URI value "http://xmlns.com/foaf/0.1/Andrew_Kuchling"

Person value "http://xmlns.com/foaf/0.1/Andrew_Kuchling"

Person and URI value "Andrew_Kuchling"

Person that "Andrew_Kuchling"
Run Code Online (Sandbox Code Playgroud)

这些都不起作用.(URI是通过http://xmlns.com/foaf/0.1/为您输入的任何字符串添加前缀来构造的,并且URI实际上并未在本体中标识为属性).

在FOAF中,mbox_sha1sum是邮箱的sha1sum.邮箱与个人有着独特的联系.所以我尝试了以下查询:

Person and mbox_sha1sum value "mbox_sha1sum-property-value-here"
Run Code Online (Sandbox Code Playgroud)

但是,它甚至不执行此查询,因为它感觉查询不正确.该mbox_sha1sum值与我为此Person添加的值相同.它存在于个人中.

它确实执行此查询:

Person and firstName value "Andrew"
Run Code Online (Sandbox Code Playgroud)

所有数据属性都不是专用数据类型.默认情况下作为文字处理.

我真的不知道我做错了什么.请有人请帮忙吗?

uri foaf dlquery manchester-syntax

7
推荐指数
1
解决办法
1900
查看次数

可视化朋友的朋友(foaf)图

我写了一个脚本来导出twitter朋友作为foaf rdf描述.现在我正在寻找一种可视化朋友网络的工具.我试过http://foafscape.berlios.de/但是对于300多个节点来说它真的很慢并且在自动格式化方面做得不好.

有关优秀图形可视化工具的任何提示?如果他们不直接支持foaf,那就没关系,但他们应该能够使用图形节点的图像并能够显示大图.Linux支持会很好.

哦,我正在寻找一种可以手动移动节点的交互式工具.

更新:感谢您的意见.我知道graphviz和静态图像真的很棒.但对于大型数据集,我需要能够选择节点并突出显示所有邻居.

  • Prefuse看起来很棒:http: //prefuse.org/gallery/graphview/
  • 通过prefuse我找到了vizster,这正是我搜索的(只需要找到一些源代码)http://jheer.org/vizster/

visualization rdf semantic-web foaf graph-layout

7
推荐指数
1
解决办法
4748
查看次数

使用SPARQL通过其字符串名称检索DBpedia资源

我正在尝试使用此查询通过国家/地区名称获取描述国家/地区罗马尼亚的资源:

PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX : <http://dbpedia.org/resource/>

SELECT DISTINCT ?x WHERE {
     ?x foaf:name 'Romania'
}
Run Code Online (Sandbox Code Playgroud)

SPARQL结果

但是,它不会检索任何内容.如何通过字符串获取resource http://dbpedia.org/resource/Romania(:Romania)'Romania'.如果我想通过国家/地区资源检索国家/地区的名称,我使用以下查询,该工作正常:

PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX : <http://dbpedia.org/resource/>

SELECT DISTINCT ?x WHERE {
     :Romania foaf:name ?x
}
Run Code Online (Sandbox Code Playgroud)

SPARQL结果

rdf foaf sparql dbpedia

7
推荐指数
1
解决办法
2064
查看次数

dbpedia 以英语以外的语言获取实体

我正在尝试使用 sparql 从 dbpedia 中提取包含人名等的实体字典。

PREFIX owl: <http://dbpedia.org/ontology/>
PREFIX dbpprop: <http://dbpedia.org/property/>
SELECT ?name
WHERE {
    ?person a owl:Person .

    ?person dbpprop:name ?name . FILTER(lang(?name) = "en")
}
Run Code Online (Sandbox Code Playgroud)

上面的查询确实成功了,但是当我将语言名称更改为 时fr,没有任何东西可以获取。

如何获取其他语言的名称?

此外,为什么我不能使用下面的查询过滤语言?

SELECT ?name
WHERE {
    ?person a owl:Person .
    ?person dbpprop:language "English"
    ?person dbpprop:name ?name . 
}
// this query returns nothing
Run Code Online (Sandbox Code Playgroud)

我尝试使用获取所有语言

SELECT DISTINCT ?lanName
WHERE {
    ?person a owl:Person .
    ?person dbpprop:language ?lanName .
}
Run Code Online (Sandbox Code Playgroud)

并且结果集包含English.

wikipedia owl foaf sparql dbpedia

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

如何编码简单感兴趣的RDF/XML

我是编写RDF模式的初学者,并且想知道我应该如何充分利用URI概念并创建一个简单感兴趣的RDF文档.我正在尝试创建以下声明的RDF-

Jeffy is a Graduate student
Jeffy likes yoga
Jeffy is seeking Tennis.
Run Code Online (Sandbox Code Playgroud)

我该如何根据这三个句子编写RDF.对此有任何启发都会非常有帮助.

rdf owl foaf rdfs

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