Sparql 产品名称?产品名称; o1:hasIssue?issue。 筛选器strStart(?productName,?projectName) } }
这里的解决方案是owl:equivalentClass关系。要完成此任务,您必须执行以下任务:Sparql 产品名称?产品名称; o1:hasIssue?issue。 筛选器strStart(?productName,?projectName) } },sparql,jena,owl,virtuoso,rdfs,Sparql,Jena,Owl,Virtuoso,Rdfs,这里的解决方案是owl:equivalentClass关系。要完成此任务,您必须执行以下任务: 创建和RDF文档,在其中放置owl:equivalentClass关系——或者,您可以使用SPARQL 1.1 INSERT将该关系放置到Virtuoso托管的命名图中 创建一个推理规则,在Virtuoso中查看数据时充当上下文透镜——可以通过实体描述页面的SPARQL查询结果等 用于将命名图与推理规则关联的命令(通过Conductor UI的SQL命令行发出): RDFS_RULE_SET({RUL
我根据你的建议进行了尝试,它给了我来自同一个类的相同个体,而我无法看到第二个类的个体,任何帮助都将不胜感激。@Josjua Taylor我刚刚用一个完整的示例更新了我的问题,这正是我想要的,但这只是字符串匹配查询,对吗?。我如何启用/利用本例中的语义表示,即如何使用语义规则推断o1:Product和o2:ProjectVersion之间的隐藏事实,如果o1:Product和o2:ProjectVersion中有两个人共享相同的属性(例如名称)然后它们彼此相似,这意味着它们共享相同的属性(例如hasIssues)。最终,您仍然需要进行字符串匹配,以确定哪些内容是相同的,但一旦完成了匹配,就可以在个人之间添加owl:sameAs链接。你一直说“彼此相似”,但真的不清楚你的意思是“相似”还是“相同”。是的,相同导致相似,如果不是这样,请告诉我。根据我在语义网上读到的内容,有一些关系可以断言,以建立相同性。例如,owl:inverseFunctionalProperty(如果A指向X,B指向X)->那么A和B指的是相同的东西。因此,从上面的例子来看,o1:A有o1:issue42,o2:B有o1:issue24,那么o1:A也有o2B。更具体地说,是否可以根据我在问题中所说的链接这两个本体?或者被链接的类应该有相同的名称才能被链接?我更新了这个问题,希望清楚
<http://www.issueonto.com/ontologies/issues#issues>
<http://www.issueonto.com/ontologies/issues#products>
<http://www.issueonto.com/ontologies/issues#hasIssues>
@prefix : <http://www.issueonto.com/ontologies/issues#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix xml: <http://www.w3.org/XML/1998/namespace> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@base <http://www.issueonto.com/ontologies/issues> .
:Fido rdf:type :products ,
owl:NamedIndividual ;
:productName "FidoProdCEO_12"^^xsd:string ;
:hasIssues :issue_1239 .
### http://www.issueonto.com/ontologies/issues#issue_1239
:issue_1239 rdf:type :issues ,
owl:NamedIndividual ;
:issueName "FeatureIssue"^^xsd:string .
<http://www.projectexample.com/ontology/project#GroupProject>
<http://www.projectexample.com/ontology/project#Project>
<http://www.projectexample.com/ontology/project#ProjectVersion>
<http://www.projectexample.com/ontology/project#belongsTo>
<http://www.projectexample.com/ontology/project#dependsOn>
@prefix : <http://www.projectexample.com/ontology/project#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix xml: <http://www.w3.org/XML/1998/namespace> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@base <http://www.projectexample.com/ontology/project> .
### http://www.projectexample.com/ontology/project#Apple
:Apple rdf:type :ProjectVersion ,
owl:NamedIndividual ;
:hasProjectName "AppleTowandOne"^^xsd:string ;
:belongsTo :RedBlueCompany .
### http://www.projectexample.com/ontology/project#Fido
:Fido rdf:type :ProjectVersion ,
owl:NamedIndividual ;
:hasProjectName "FidoProdCEO"^^xsd:string ;
:dependsOn :Apple .
### http://www.projectexample.com/ontology/project#RedBlueCompany
:RedBlueCompany rdf:type :GroupProject ,
owl:NamedIndividual ;
:groupName "RedGroupCompant lmt"^^xsd:string .
SELECT ?product ?issue FROM <namegraph>
WHERE{
?product issues:hasIssues ?issue.
}
?product ?issue
--------------------------------------------------------------------------
<http://www.projectexample.com/ontology/project#Fido> <http://www.issueonto.com/ontologies/issues#issue_1239>
<http://www.issueonto.com/ontologies/issues#Fido> <http://www.issueonto.com/ontologies/issues#issue_1239>
project:projectversion owl:equivalentClass issues:product