问题标签 [rdfs+]
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.
rdf - 是否有任何基于 SPARQL 的 RDF 存储推理功能测试?
给定 SPARQL / SPARQL 更新端点,如何凭经验测试 RDF 存储的 RDFS/RDFS+/OWL 1/2 * / 也许它提供的 SPIN 功能?是否有任何现成的查询集?
也就是说,在运行这些查询之后,根据返回的三元组,可以猜测推理能力支持(表达能力)和合规性水平。
这似乎是一个非常微不足道的想法(对于专家来说可能不费吹灰之力就可以提出一组查询),但在任何地方都找不到这样的材料。
不确定 SPARQL 服务描述是否与此相关,但声明某事是一回事,真正交付是另一回事。
json - 从 API 示例和文档中起草本体
虽然制作好的本体肯定是巨大的并且主要是手动工作,但如果有任何技术/工具可以自动为 ETL 过程制作特定于供应商的中间本体,例如结合了足够丰富的 JSON 示例,这可能会很有趣带有 API 文档。
我知道关联数据标准和技术,但可能有一些库形式的东西可以从 API 调用响应中制作 RDFS+ 本体草案?
比如有一些库可以猜测JSON Schema(我自己也写过一个原始的),所以这个任务在理论上似乎没有问题。
请不要将此问题视为“软件推荐”问题,因为我怀疑是否有任何软件可以解决此问题,但至少有根据地猜测我可以采取的方向。我也相信,这对于语义/链接数据项目非常重要,我想知道为什么我找不到任何提示,需要在这里寻求更有经验的帮助。
rdf - RDF 中没有类的属性
我有一堂课Person
。它有两个属性hasAge
和hasZipCode
。
我想说的是,hasAge
并且hasZipCode
是财产的子hasColumn
财产。因此,我像下面这样提到它。
但是,在我的 RDF 图中,我没有任何包含 property 的类hasColumn
。我的意思是我没有以下内容:
是否允许在 RDF 中定义没有类的属性(例如hasColumn
)?
rdf - 声明属性范围是有限数量的文字值之一的最简单方法
这似乎是一个应该有一个明显简单答案的问题,但谷歌一直没有帮助。
声明属性范围是有限数量的文字值之一的最简单方法是什么?据我了解,以下内容无效:
因为“rdfs:range 的 rdfs:range 是类 rdfs:Class。” (RDF 模式 1.1 规范)。
这通常如何在 RDF 模式中声明?如果有其他方法,它们的优缺点是什么?
rdf - 具有特定类的有序元素的自定义容器
我想在我的模式中声明一个包含特定类的有序元素的容器类。我认为声明元素必须有序的最简单方法是将容器声明为 rdfs:subClassOf rdf:seq。
除了上述之外,我还想在模式中传达以下信息:
陈述
:ContainerInstance rdf:_1 Object
和:ContainerInstance rdf:type :MyContainer
蕴涵那Object rdf:type :MyElement
。陈述
Subject rdf:_1 :ElementInstance
和:ElementInstance rdf:type :MyElement
蕴涵那Subject rdf:type :MyContainer
。
当然,任何 rdfs:ContainerMembershipProperty (rdf:_1, rdf:_2, rdf:_3 ...) 的实例都可以代替上面的 rdf:_1 出现。
sparql - RDFS 类似于 owl:equivalentClass?
我有三倍说患者P
参与了E
有输出的医疗保健遭遇M
,一个药物处方。处方可以mention
是来自药物本体或 DrOn 的药物。
在这种情况下,假设M1
提到了降胆固醇药物阿托伐他汀,它是从 ChEBI 作为http://purl.obolibrary.org/obo/CHEBI_39548导入 DrOn 的:
prefix obo: <http://purl.obolibrary.org/obo/>
:M1 obo:IAO_0000142 obo:CHEBI_39548 .
ChEBI 有一个公理,即obo:CHEBI_39548 的作用是http://purl.obolibrary.org/obo/CHEBI_35821,“抗胆固醇药物”。这使得很容易找到服用了阿托伐他汀或其他具有相同作用的药物的患者。
不幸的是,DrOn 为某些药物创建了自己的术语,而不是从 ChEBI 进口它们。例如,另一种降胆固醇药物瑞舒伐他汀被建模为http://purl.obolibrary.org/obo/DRON_00018679而不是http://purl.obolibrary.org/obo/CHEBI_38545。ChEBI 对瑞舒伐他汀的术语也标注了角色obo:CHEBI_39548,但obo:DRON_00018679 没有。因此,我的数据集中开具瑞舒伐他汀的患者不会出现在我现有的基于角色的查询中。
我在 GraphDB RDFS-plus 存储库中有这些数据,我现在不希望更改推理级别。如果它是一个 OWL 存储库,我只想说
obo:CHEBI_38545 owl:equivalentClass obo:DRON_00018679
我可以用 RDFS 或 GraphDB 自定义规则集做类似的事情吗?
owl - RDFS 的 RDFS-Plus 推理:GraphDB 中的域和范围
考虑两个具有不同推理规则集的 GraphDB 存储库:
- 带有规则集“RDFS(优化)”的回购 A
- 带有规则集“RDFS-Plus(优化)”的回购 B
我在这两个存储库中执行了以下 SPARQL INSERT:
在这两个存储库中,我希望通过rdfs:domain
and rdfs:range
,应该推断出以下类断言:
ex:someHuman rdf:type ex:Human
ex:somePet rdf:type ex:Pet
rdfs:domain
并且rdfs:range
是 RDFS 属性,因此应该为Repo A推断它们。而且因为 RDFS-Plus 是 RDFS 的扩展,我认为它们也会在Repo B中被推断出来。
然而,这些三元组只能通过规则集 RDFS ( Repo A ) 推断出来。如果我执行以下 SPARQL 查询,我只会在 Repo A 中得到结果,而在Repo B中没有结果。
有人能告诉我为什么上面的两个三元组只能用 RDFS 规则集推断,而不能用 RDFS-Plus 规则集推断吗?
rdf - 需要一种算法来计算所有可能的推论
我正在制作一个静态 RDFS-Plus 推理引擎。
我编写了一个函数,可以对包含的所有构造进行适当的推断。例如,如果这个函数传递了三元组C1 rdf:subClassOf C2
,那么对于形式三元组中的所有 X ,将产生X rdf:type C1
一个新的三元组形式。X rdf:type C2
我苦苦挣扎的地方是弄清楚如何做出所有可能的推论。斗争来自于我必须根据推论做出推论。
这是我在程序中的位置:
我确信可行的唯一想法是生成 RDFS-Plus 列表的所有排列(给出列表列表),然后为每个内部列表映射我的推断函数。这是一个无用的解决方案,因为它效率很低。
我的推断功能是否足以产生所有可能的推断,或者我是否走上了一条荒谬的道路?我是否有足够的空间来制作规则依赖图?我不知道如何计算一个建模构造是否可能依赖于另一个构造。例如可能owl:FunctionalProperty
取决于rdfs:subClassOf
还是这只是胡言乱语?
我真的很感激一些见解。
rdfs - rdfs:subPropertyOf 的 Shacl 处理
我有以下 shacl 规范
我的目标是表达一个关系必须完全由“nondirectionalLinkWith”对象属性连接。更具体地说,我想表示它可以是"nondirectionalLinkWith"的任何 subPropertyOf 。换句话说,可以说,一个 Relation 对象是这样的,它必须由 2 个非定向链接连接。其中非定向链接是作为 subPropertyOf "nondirectionalLinkWith"的任何对象属性。
1 ) 我想知道如何使用 shacl 来表达这一点。
到目前为止,我看到的唯一可能性是显式使用 RDFS Reasoner。也就是说,虽然 Shacl 优雅地处理 rdfs:subClassOf,因此不需要使用 RDFS Reasoner,但 rdfs:SubPropertyOf 似乎没有支持。
我在这里是否正确,或者有一种方法可以直接在 shacl 中表达这种约束。
使用 RDFS 推理器,我们有:
这允许然后验证关系。但是,我想知道我是否可以完全避免使用 RDFS Reasoner 来处理这样一个简单的案例?如果它可以以某种方式以纯 shacl 表示,或者任何其他解决方法将不胜感激。