问题标签 [knowledge-graph]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 使用 Python API Client for Grakn 加载数据时出现问题
我正在使用 Grakn 1.8.1、python 3.6.8、grakn-client 1.8.1 和 grpcio 1.24.1。
我定义了一个简单的模式 (schema.gql) 只是为了执行测试:
该方案已使用 grakn 控制台正确加载,并且密钥空间称为“srfb”。
之后,我创建了一个仅包含一个实例的数据文件 (data.sql):
同样,使用 grakn-console 可以完美地加载数据。
当我通过控制台加载架构然后我尝试通过 python api 加载数据时会出现问题。
我的python脚本只是:
那时,发生了一个我无法纠正的错误:
grakn 日志显示以下记录:
最初我认为属性的声明有问题,但事实并非如此,因为相同的插入可以通过控制台完美运行。
我该怎么做才能使用 python api?有谁知道我可能做错了什么?
ontology - 将属性从一个本体填充到另一个本体
我对语义 Web 很陌生,我的任务是为两个本体建模。假设本体 A 有 3 个类、4 个对象属性和 4 个数据类型属性。本体 A 还包括具有所有数据的类实例。现在,本体 B 具有与本体 A 相同的结构,加上一些额外的数据类型属性,但它没有任何实例 - 它只包含模式。假设我创建了具有某个 ID 的本体 B 类实例。我的问题是,如何基于该 ID(在本体 A 中相同)填充或提取在两个本体中相同的 A 到 B 的所有属性?例如 ontology 实例具有以下属性: ontologyAinstance id:1, name:'instance name', age:'15YO' 。创建时如何将名称和年龄属性从 A 拉到 B:ontologyBinstance id:1?
machine-learning - 有没有办法从无监督数据集中获取关系?
我有一些数据,数据集包括设备 ID(int)、电话(int)、名称(字符串)、设备 ID等特征。但所有数据都没有标签。我的任务是获取一个人使用多个 ID 或多个设备的概率。我不知道该怎么做,有人有想法吗?
为了清楚起见,这里是一个例子。数据集就像
所以我们可以发现 Jason 有 2 个电话号码,
我如何使用机器学习方法或深度学习方法获得概率?
rdf - 如何为与它们相关的另一个类的每个实例都不同的实例创建计数属性?
我在 Protege 5 工作。
类 Document 是一个文档(正文)。
类 Word 是一个单词(字符串)。
这是我现在的模型:
对象属性:containsWord--域文档,范围Word
数据属性:occurranceCount--域字,范围整数(内置)
相反,我需要类似的东西:
对象属性:文档包含单词“x”,计数为“n”。
其中“x”是一个单词实例,“n”是该个体在特定文档正文中出现的次数。
每个唯一文档都应该具有描述“x”在其中出现多少次的属性。
或者
每个单词“x”都应该有一个文档实例列表,它出现在其中以及它出现的次数。
我真的必须创建一个单词的新实例,以便计算它在每个文档中出现的次数吗?(荒谬的空间浪费,但可能)。
sparql - 基于 JSON 的 SPARQL 端点
我正在寻找一些关于我们遇到的问题的建议,
场景是用户不愿意将他们的整个数据库转换为三元组,但他们正在寻找可以帮助他们使用他们最终拥有的当前 REST API 的东西。
我的问题是有没有办法通过用户拥有的 REST API 公开 SPARQL 端点,而无需将其保存在三重存储中?有点像 Ontop,如果做这样的事情是个好主意,它也会提供数据库上的虚拟图?
rdf - 本体的类定义如何形成无限循环(如何避免这种情况)?
我构建了一个 Java 管道,从歌词创建 rdf 三元组,我想使用本体来分类不同类型的歌曲。
我还想计算每个术语在歌曲中出现的次数(除了我用来定义歌曲类别的内置基数)。最后,我希望能够在 Protege 中使用诸如 graphDB 或 graphViz 之类的视觉辅助工具来比较歌曲中更常见的标记词(这就是为什么我有 TaggedWordRelation 类,用于专门比较个体之间的原因)。
我的 Protege 文档中有以下陈述,当使用 Fact、Hermit、Pellet 等进行推理时,会以无限循环式的方式锁定我的计算机。我无法得到推理者来判断它是什么类型的歌曲:
对象属性:hasTaggedWordRelation
-domain:Song
-range:TaggedWord
对象属性:taggedWord
-domain:TaggedWordRelation
-range:Word
类:词已定义
类:已定义 TaggedWordRelation
类:LoveWordRelation 被定义
-TaggedWordRelation 的子类
-taggedWord 一些 LoveWord
类: LoveSong 已定义 - Song 的子类
-hasTaggedWordRelation 一些 LoveWordRelation
-hasTaggedWordRelation 正好 0 HateWordRelation
-hasTaggedWordRelation min 0 SexWordRelation
-hasTaggedWordRelation min 0 GodWordRelation
类:ReligiousSong 已定义
- Song 的子类
-hasTaggedWordRelation 一些 LoveWordRelation
-hasTaggedWordRelation 正好 0 HateWordRelation
-hasTaggedWordRelation 正好 0 SexWordRelation
-hasTaggedWordRelation 一些 GodWordRelation
基本上我有大约 6 种不同类型的歌曲,我想推断(使用推理器和约束),歌曲实例的子类基于它具有的单个 taggedWordRelations(通过对象属性)。管道输出 Song 实例,但我希望推理器根据我在 subClassOf 定义中定义的基数约束来推断它们的类。Protege 的错误解释是说我的对象属性不满足基数...
sparql - 使用文字或字符串作为 SPARQL 谓词
我正在使用 rdflib 从字符串三元组构建一个小型知识图。一个典型的三元组看起来像:"Bob" "went" "home",我将它们添加到我的图表中,如下所示(我知道我应该使用标准对象和命名空间,但这是构建最“准系统”图,我可以):
我正在尝试使用 SPARQL 查询这样的图表,而我从上述三元组中提取“Bob”的查询如下所示:
这给了我下面的错误,告诉我查询格式错误:
我已经尝试插入实际的字符串(例如“went”而不是 Literal(“went”)),但这也不起作用。像this answer和this answer这样的几篇文章解决了如何匹配文字,但这似乎没有帮助。
所以我的问题是,是否可以在 SPARQL 中使用文字或简单字符串作为谓词,如果可以,如何使用?任何帮助将非常感激。
javascript - 在 amcharts 强制定向网络中的两个节点之间添加多个链接
我正在使用 amcharts 强制定向网络来呈现知识图。在这个知识图中,两个节点在每个方向上可以有多个边。
例如:
一个“人”可以“出生在”一个城市。
还,
一个“人”可以“住在”一个城市。
通过阅读文档,我可以使用“linkWith”在边缘之间建立链接,但我无法添加“类型”并添加更多链接。
这是 json 文件的示例:
python - 带元组的知识图
我的目标是使用包含源、边缘和目标的 csv 文件创建知识图。到目前为止我已经尝试过:
- 它在图像中不可见,但我有两个边缘:1)用于 2)相关。
- 我有 20 个单词的目标元组。
第一张图片是我希望看到的一种格式。第二张图片是我的 csv 数据文件的头部,第三张图片显示了由于此代码而导致的图形可视化失败。
neo4j - 同步 wikibase 和 neo4j
最近我想使用 wikibase 作为我的知识库和 neo4j 作为知识图,这使我能够推断我的知识库。所以我需要同步 wikibase 和 neo4j 数据和模式。我怎样才能达到这个目标?有什么可靠的方法可以做到这一点?
谢谢