有没有人知道任何指定场所开放时间的本体论?例如,我有一个博物馆,有两个季节.淡季(指定赛季开始和结束),平日开放时间为10.00 - 18.00,周六开放时间为10-16(星期日关闭),旺季开放时间为平日10-20,周末开放时间为10-18.
如果没有本体论,可能有人有经验,如何最好地构建这样的信息?
我在RDF中描述信息.但是欢迎任何评论(即使您拥有保存给定数据的关系数据库).
谢谢
本学期我有一个实用的研讨会,我想在Android应用程序上使用本体.我选择Protege owl本体作为本体API,这个工具在普通的Java项目中工作.但是当我尝试导入这个用于Android项目中的owl本体API的jar文件时.它会失败,我在互联网上找不到任何解决方案.你能帮助我吗?
在我的这个工作层面,我需要从MeSH本体中提取一个类同义词.我正在寻找SPARQL查询的正确语法:它们如何存储在MeSH中的同义词?我该如何提取它们?
也许有人可以给我一个暗示.是否有可能测量属于同一本体的2个概念/类之间的距离?
例如,假设我有天文学课程和望远镜课程的本体论.两者之间存在联系,但它不是直接链接.天文学有一个名为Science的父类,而Telescope有一个名为Optical Instrument的父类,它属于名为Instrumentation的父类,它与一个名为Empirical Science的类有关,该类最终属于一个名为Science的类.
所以Telescope和Astronomy之间存在间接联系,我想找出从另一个类开始到达一个类所需的步骤数.
是否有一个简单的SPARQL查询可以解决这个问题?或者有更好的方法来完成这项工作?或者不可能使用语义Web范例找到它?
任何提示都将非常感激.
我想使用Jena的推理功能,但是当我使用InfModel时,我遇到了一些性能问题.
以下是我的本体的简要概述:
属性:
hasX (Ranges(intersection): X, inverse properties: isXOf)
|-- hasSpecialX (Ranges(intersection): X, inverse properties: isSpecialXOf)
isXOf (Domains(intersection): X, inverse properties: hasX)
|--isSpecialXOf (Domains(intersection): X, inverse properties: hasSpecialX)
Run Code Online (Sandbox Code Playgroud)
此外还有一个"对象"类:
Object hasSpecialX some X
Run Code Online (Sandbox Code Playgroud)
显式存储的是以下数据:
SomeObject a Object
SomeX a X
SomeObject hasSpecialX SomeX
Run Code Online (Sandbox Code Playgroud)
使用以下查询,我想确定一个实例属于哪个类.根据所做的假设,只应返回'SomeObject'.
SELECT ?x WHERE { ?x :hasX :SomeX . }
Run Code Online (Sandbox Code Playgroud)
但是,查询ds.getDefaultModel()不起作用,因为数据未显式存储.infModel另一方面,当我使用时,查询永远不会完成.最长的我在流产前等了25分钟.(三元店的大小约为180 MB)
这是我的代码:
OntModel ont = ModelFactory.createOntologyModel(OntModelSpec.OWL_MEM_MICRO_RULE_INF, null);
ont.read("file:..." , "RDF/XML");
Reasoner reasoner = ReasonerRegistry.getOWLMicroReasoner();
reasoner = reasoner.bindSchema(ont);
Dataset dataset = TDBFactory.createDataset(...);
Model …Run Code Online (Sandbox Code Playgroud) 我想为我的Web应用程序构建一个本体,我想用Neo4j来表示本体(因为我还是使用了Neo4j).
现在,我似乎必须从头开始编写它,包括整个本体实现,验证,推理,GUI编辑器.绝对是太多的工作.
是否有一个框架或库可以让我在neo4j上管理我的本体而无需从头开始实现它?如果没有,最合理的选择是什么?(我在Node.js上使用Neo4j)
我刚刚发现了OWL和Protege.通过阅读这个参考页面(我在下面引用),我想知道是否可以不使用抽象的OWL语法,而是用DL语法编写.我的背景是逻辑上的,所以听起来它会更有趣,即使我以后必须翻译本体(虽然我确信必须有应用程序才能做到这一点 - 此外,不要让reasoners使用DL吗?).
如果可能,我应该在Protege(或您建议的其他软件)中使用哪些设置配置才能执行此操作?我怀疑这是不可能的,但我想确定,因为除了特殊符号的尴尬之外我没有其他正当理由.
编辑:如果不可能,DL语言究竟是如何使用的?
OWL DL是描述逻辑SHOIN,支持数据值,数据类型和数据类型属性,即SHOIN(D),但由于OWL基于RDF(S),因此术语略有不同....对于OWL本体或知识库的描述,可以使用DL语法.有一个类似LISP的"抽象"语法定义,更容易用ASCII字符集编写.

如果他们有同一个父亲,我需要推断一个人是另一个人的兄弟.
所以,如果我有这个:
巴特有父亲.
丽莎有父亲.
因为Bart和Lisa父亲一样,我想推断:
丽莎有兄弟.
有没有任何方法可以使用任何属性特征?
我们想模拟"某些东西不在那里",而不是缺少信息,例如"患者未接受化疗"或"患者没有呼吸困难"的明确陈述与缺少患者是否有患者的信息不同呼吸困难.
我们考虑了几种方法,例如
使用空白节点描述个人属于没有呼吸困难的事物组.例如:
dat:PatientW2 a [ rdf:type owl:Class;
owl:complementOf [
rdf:type owl:Restriction ;
owl:onProperty roo:has_finding;
owl:someValuesFrom nci:Dyspnea;
]
] .
Run Code Online (Sandbox Code Playgroud)我们觉得第三种选择是表达这一点的最"本体论正确"的方式.但是,在使用它时,我们在简单的场景中遇到了严重的性能问题.
我们将Sesame与OWLIM-Lite商店一起使用,并将NCI词库(280MB,大约80,000个概念)和另一个非常小的本体导入商店,并添加了两个人,一个具有该补充/限制类.
以下查询永远执行,我在15分钟后终止它:
select *
where {
?s a [ rdf:type owl:Class;
owl:complementOf [
rdf:type owl:Restriction ;
owl:onProperty roo:has_finding;
owl:someValuesFrom nci:Dyspnea;
]
] .
} Limit 100
Run Code Online (Sandbox Code Playgroud)
有人知道为什么吗?我会假设这种方法会创建大量空白节点,并且查询引擎必须通过整个NCI词库并将所有空白节点与此进行比较?
如果我将此三元组放在单独的图形中并且仅查询该图形,则查询会立即返回结果.
总结一下.这两个基本问题是:
编辑1
我们讨论了提议的选项.它实际上帮助我们澄清了我们真正想要实现的目标:
我们希望能够在特定时间点陈述"患者有呼吸困难"或"患者没有呼吸困难".
在将来,可能/将会有关于该患者的更多信息,例如他/她现在患有呼吸困难.
我们希望能够编写Sparql查询,询问"所有患有呼吸困难的患者"和"所有没有呼吸困难的患者".
我们希望尽可能简单直观地保持Sparql.例如,只使用一个属性"has_finding",而不是必须知道两个属性(一个用于"has_exclusion").或者必须知道一些复杂的空白节点构造.
我们玩弄了各种选择:
owl:targetIndividual.而且我们找不到一种方法来轻易地查询负面断言,然后通过整个链owl:sourceIndividual和owl:targetIndividual链.这使得Sparql非常冗长,并且给编写查询的人带来了负担.补空的空白节点:我们会说这个我们不想陈述的东西.这将说明"患者1永远不会发现呼吸困难".虽然我们想说"患者1现在没有发现呼吸困难(或在第X天)".所以我们不应该使用这种方法.
使用排除/包含类型(选项1和2):仔细观察Jeen的建议后,我们认为使用一般:Exclusion和:Inclusion类以及仅一个属性has_finding并给予呼吸困难个体包含/排除类型是最容易理解,查询和提供足够的推理能力.例: …
我正在使用Wordnet查找本体概念的同义词.我怎样才能为我的本体论概念选择合适的意义.例如,有一个ontlogy概念"会议"它在wordnet中具有以下同义词.名词会议有3种感官(前3个来自标记文本)