GraphDB的可视图不会显示所有三元组 [英] GraphDB's Visual graph does not display all triples
问题描述
在我的图中,我有以下断言
In my graph I have the following assertions
@prefix : <http://www.example.org/~joe/contact.rdf#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
:joesmith a foaf:Person ;
foaf:givenname "Joe" ;
foaf:family_name "Smith" ;
foaf:homepage <http://www.example.org/~joe/> ;
foaf:mbox <mailto:joe.smith@example.org> .
我将图形加载到GraphDB中.
I loaded the graph in GraphDB.
如果我将GraphDB的可视图指向:joesmith
,我想查看所有三元组,但是我看到了此图
If I point the GraphDB's Visual Graph to :joesmith
, I would like to see all the triples but I see this graph
foaf:givenname
和foaf:family_name
没有显示在图中,但是它们在节点详细信息选项卡中,没关系.
foaf:givenname
and foaf:family_name
are not shown in the graph but they are in node details tab, and it's ok.
相反,节点http://www.example.org/~joe/
未连接到:joesmith
.似乎很有线,因为有一个明确的断言属于:joesmith
Instead the node http://www.example.org/~joe/
is not connected to :joesmith
. It seems pretty wired, since there is an explicit assertion belonging to :joesmith
这是我的数据中的错误还是问题?
Is this a bug or a problem in my data?
推荐答案
这绝对是一个错误.此错误仅影响Visual Graph功能.在SPARQL结果视图中,一切都很好.
This is definitely a bug. This bug affects Visual Graph functionality only. In the SPARQL results view, everything is fine.
问题似乎很复杂.有两个因素:
The problem seems to be complex. There are two factors:
-
此命名空间-
<http://xmlns.com/foaf/0.1/>
—硬编码在某个地方.
This namespace —
<http://xmlns.com/foaf/0.1/>
— is hardcoded somewhere.
此命名空间处理不正确.
This namespace is not proceeded correctly.
让我们考虑以下示例.
在每个示例之前,请清除您的存储库并删除在 Setup>命名空间中创建的前缀.
Let us consider the following examples.
Before each example, clear your repository and delete prefixes created in Setup > Namespaces.
案例1
@prefix : <http://www.example.org/~joe/contact.rdf#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
:joesmith a foaf:Person ;
foaf:givenname "Joe" ;
foaf:family_name "Smith" ;
foaf:homepage <http://www.example.org/~joe/> ;
foaf:mbox <mailto:joe.smith@example.org> .
如您所指出的,<http://www.example.org/~joe/>
未显示.
案例2
@prefix : <http://www.example.org/~joe/contact.rdf#> .
@prefix foo: <http://xmlns.com/foaf/0.1/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
:joesmith a foo:Person ;
foo:givenname "Joe" ;
foo:family_name "Smith" ;
foo:homepage <http://www.example.org/~joe/> ;
foo:mbox <mailto:joe.smith@example.org> .
在这种情况下,未显示<http://www.example.org/~joe/>
.
In this case, <http://www.example.org/~joe/>
is not shown.
案例3
@prefix : <http://www.example.org/~joe/contact.rdf#> .
@prefix foaf: <http://xmlns.com/foaf/01/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
:joesmith a foaf:Person ;
foaf:givenname "Joe" ;
foaf:family_name "Smith" ;
foaf:homepage <http://www.example.org/~joe/> ;
foaf:mbox <mailto:joe.smith@example.org> .
在这种情况下,显示<http://www.example.org/~joe/>
.
In this case, <http://www.example.org/~joe/>
is shown.
案例4
@prefix : <http://www.example.org/~joe/contact.rdf#> .
@prefix foaf: <http://xmln.com/foaf/0.1/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
:joesmith a foaf:Person ;
foaf:givenname "Joe" ;
foaf:family_name "Smith" ;
foaf:homepage <http://www.example.org/~joe/> ;
foaf:mbox <mailto:joe.smith@example.org> .
在这种情况下,显示<http://www.example.org/~joe/>
.
In this case, <http://www.example.org/~joe/>
is shown.
我将尝试通过发送电子邮件直接与他们的支持团队联系.
I'll try to contact their support team directly by sending email.
更新1
他们说有四种RDF术语:
They say there are four kinds of RDF terms:
- URIs
- 文学
- 空白节点
- 其团队将URI视为不真实".
从GraphDB查询日志中,可以确定第四种URI.
From GraphDB query logs, one can ascertain what URIs are of the fourth kind.
BIND (strstarts(str(?p), "http://purl.org/dc/terms/") ||
strstarts(str(?p), "http://dbpedia.org/ontology/subsidiary") AS ?isMeta)
FILTER(!strstarts(str(?p), "http://www.w3.org/2002/07/owl#")
&& !strstarts(str(?p), "http://www.w3.org/1999/02/22-rdf-syntax-ns#")
&& !strstarts(str(?p), "http://www.w3.org/2000/01/rdf-schema#")
&& !strstarts(str(?p), "http://www.openrdf.org/schema/sesame#")
&& !strstarts(str(?p), "http://www.ontologydesignpatterns.org/ont/dul/DUL.owl")
&& !strstarts(str(?p), "http://www.w3.org/ns/prov")
&& !strstarts(str(?p), "http://dbpedia.org/ontology/wikiPage")
&& !strstarts(str(?p), "http://dbpedia.org/property/wikiPage")
&& !strstarts(str(?p), "http://www.omg.org/spec/")
&& !strstarts(str(?p), "http://www.wikidata.org/entity/")
&& !strstarts(str(?p), "http://factforge.net/")
&& ?p != <http://dbpedia.org/property/logo>;
&& ?p != <http://dbpedia.org/property/hasPhotoCollection>;
&& ?p != <http://dbpedia.org/property/website>;
&& ?p != <http://dbpedia.org/property/homepage>;
&& ?p != <http://dbpedia.org/ontology/thumbnail>;
&& ?p != <http://xmlns.com/foaf/0.1/depiction>;
&& ?p != <http://xmlns.com/foaf/0.1/homepage>;
)
更新2
在GraphDB 8.3中,它已通过以下方式修复:
In GraphDB 8.3, it was fixed in some way:
GDB-2076-可视图形:foaf/dbpedia的一致处理 谓词指向IRI,但被视为文字
GDB-2076 - Visual graph: consistent handling of foaf/dbpedia predicates that point to IRIs but are treated as literals
这篇关于GraphDB的可视图不会显示所有三元组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!