python - 在 Python 中将字符串与生成的 RDF 实体匹配
问题描述
我正在尝试将主题和对象字符串与包含它们的 RDF 匹配,但是字符串已更改,因此很难生成完全匹配。我试图匹配最相似的,但 difflib 似乎不起作用。所以我有:
subject = "Juliette Gruber"
和一个看起来像这样的 .rdf(为这篇文章缩短了):
<j.3:hasDeterminer rdf:resource="http://www.ontologydesignpatterns.org/ont/fred/quantifiers.owl#a"/>
<rdf:type rdf:resource="http://www.ontologydesignpatterns.org/ont/fred/domain.owl#Actor"/>
</rdf:Description>
<rdf:Description rdf:about="http://www.ontologydesignpatterns.org/ont/fred/domain.owl#Actor">
<owl:equivalentClass rdf:resource="http://dbpedia.org/resource/Actor"/>
</rdf:Description>
<rdf:Description rdf:about="http://www.ontologydesignpatterns.org/ont/fred/domain.owl#ProbablyBestKnow">
<rdfs:subClassOf rdf:resource="http://www.ontologydesignpatterns.org/ont/fred/domain.owl#BestKnow"/>
</rdf:Description>
<rdf:Description rdf:about="http://www.ontologydesignpatterns.org/ont/fred/domain.owl#Juliette_gruber">
<owl:sameAs rdf:resource="http://www.ontologydesignpatterns.org/ont/fred/domain.owl#actor_1"/>
<j.1:hasQuality rdf:resource="http://www.ontologydesignpatterns.org/ont/fred/domain.owl#British"/>
<rdf:type rdf:resource="http://www.ontologydesignpatterns.org/ont/fred/domain.owl#BritishActor"/>
</rdf:Description>
我正在尝试使用主题变量来查找包含它的行,但我似乎无法找到一种可靠的方法来做到这一点。这只是一个示例,我正在尝试对许多主题/对象/RDF 进行此操作。我尝试过使用 difflib 并从主题/对象中只抓取一个单词,但这不一致并且通常不起作用。
解决方案
如果我理解正确,那么使用模式匹配我们可以获得所需的字符串并生成所需的 uri,您可以将其与所需的对象匹配。即使三元组重复,知识图也会将它们识别为相同
推荐阅读
- csv - 为什么 msfs 中没有智能感知 csvprovider?
- cordova - Base64 转 PDF Cordova Ionic v2
- javascript - 您如何侦听/检测输入值的更改 - 当输入值通过 javascript 更改时?
- java - 计算平均值:将 Double 转换为 String 错误
- jquery - Jquery 使用 Ajax 构建特定格式的数组
- php - 真的没有办法在 with() 方法中执行 limit() 吗?(雄辩)
- c++ - 从字符串解析代数函数或表达式
- c++ - UDP 通信在 Visual Studio 调试器之外不起作用
- docker - 在系统浏览器中运行包含在 Docker 容器中的应用程序
- c++ - 从 C++ 模板中的非 const 左值引用推导出 const 左值引用