我想用NLP算法的输出来查询带有SPARQL的本体。列出的输出是一个是名词,另一个是动词。其中名词对应于类,而动词对应于Data属性。因此,当关系noun1 verb1 noun2
存在时,应该显示标签
为什么要提取标签?标签并不是很重要,我只想从一个类中获取一个注释。
为什么?我从报告中提取了一些名词和动词。当我在本体中拥有连接noun1 verb1 noun2
时,我想获取noun2
的注释,因为它可以解决我的情况。
我使用http://www.ontologydesignpatterns.org/ont/dul/DUL.owl进行测试。我相信我的代码由于存在多个问题而无法正常工作。
第一个问题查询
SELECT ?label
WHERE { ?subject rdfs:subClassOf ?object }
不产生结果。 其次,下面的查询不会产生结果。
SELECT ?subject ?object
WHERE { ?subject rdfs:actsFor ?object }
所以基本上我不理解如何编写SPARQL查询...
在最终版本中,我应该能够查询类似
SELECT rdf:label
WHERE { Agent rdfs:actsFor SocialAgent }
并获得标签“ Social agent”
我希望我的问题不要混淆。我是SPARQL和本体的新手。谢谢您的时间!