- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用基于 this 的 OWLFunctionalSyntaxParser 将字符串解析回 OWL Axioms例子。这对于简单的公理来说效果很好,例如ObjectPropertyAssertionAxiom。对于以下公理(为了清楚起见,前缀:是 URL 的缩写)
EquivalentClasses(<prefix:LeucocytesRestricted> ObjectIntersectionOf(<prefix:Leucocytes> DataSomeValuesFrom(<prefix:hasLeucocytesValue> DataRangeRestriction(xsd:double facetRestriction(minInclusive \"20.0\"^^xsd:double)))) )
我收到以下异常
org.coode.owlapi.functionalparser.ParseException: Encountered "" at line 1, column 260.
Was expecting one of:
at org.coode.owlapi.functionalparser.OWLFunctionalSyntaxParser.generateParseException(OWLFunctionalSyntaxParser.java:5335)
at org.coode.owlapi.functionalparser.OWLFunctionalSyntaxParser.jj_consume_token(OWLFunctionalSyntaxParser.java:5194)
at org.coode.owlapi.functionalparser.OWLFunctionalSyntaxParser.DataRange(OWLFunctionalSyntaxParser.java:761)
at org.coode.owlapi.functionalparser.OWLFunctionalSyntaxParser.DataSomeValuesFrom(OWLFunctionalSyntaxParser.java:531)
at org.coode.owlapi.functionalparser.OWLFunctionalSyntaxParser.ClassExpression(OWLFunctionalSyntaxParser.java:310)
at org.coode.owlapi.functionalparser.OWLFunctionalSyntaxParser.ClassExpressionSet(OWLFunctionalSyntaxParser.java:339)
at org.coode.owlapi.functionalparser.OWLFunctionalSyntaxParser.ObjectIntersectionOf(OWLFunctionalSyntaxParser.java:383)
at org.coode.owlapi.functionalparser.OWLFunctionalSyntaxParser.ClassExpression(OWLFunctionalSyntaxParser.java:290)
at org.coode.owlapi.functionalparser.OWLFunctionalSyntaxParser.ClassExpressionSet(OWLFunctionalSyntaxParser.java:339)
at org.coode.owlapi.functionalparser.OWLFunctionalSyntaxParser.EquivalentClasses(OWLFunctionalSyntaxParser.java:932)
at org.coode.owlapi.functionalparser.OWLFunctionalSyntaxParser.ClassAxiom(OWLFunctionalSyntaxParser.java:901)
at org.coode.owlapi.functionalparser.OWLFunctionalSyntaxParser.Axiom(OWLFunctionalSyntaxParser.java:867)
at be.ugent.ontal.ontology.ConflictDetector.stringToAxiom(ConflictDetector.java:125)
at be.ugent.ontal.ontology.ConflictDetector.addClassAxiom(ConflictDetector.java:74)
at be.ugent.ontal.facade.command.AddClassAxiomCommand.execute(AddClassAxiomCommand.java:27)
at be.ugent.ontal.facade.Invoker.storeAndExecute(Invoker.java:13)
at be.ugent.ontal.facade.MyWebSocket.onText(MyWebSocket.java:112)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.eclipse.jetty.websocket.common.events.annotated.CallableMethod.call(CallableMethod.java:71)
at org.eclipse.jetty.websocket.common.events.annotated.OptionalSessionCallableMethod.call(OptionalSessionCallableMethod.java:68)
at org.eclipse.jetty.websocket.common.events.JettyAnnotatedEventDriver.onTextMessage(JettyAnnotatedEventDriver.java:209)
at org.eclipse.jetty.websocket.common.message.SimpleTextMessage.messageComplete(SimpleTextMessage.java:69)
at org.eclipse.jetty.websocket.common.events.AbstractEventDriver.appendMessage(AbstractEventDriver.java:64)
at org.eclipse.jetty.websocket.common.events.JettyAnnotatedEventDriver.onTextFrame(JettyAnnotatedEventDriver.java:201)
at org.eclipse.jetty.websocket.common.events.AbstractEventDriver.incomingFrame(AbstractEventDriver.java:160)
at org.eclipse.jetty.websocket.common.WebSocketSession.incomingFrame(WebSocketSession.java:309)
at org.eclipse.jetty.websocket.common.extensions.ExtensionStack.incomingFrame(ExtensionStack.java:214)
at org.eclipse.jetty.websocket.common.Parser.notifyFrame(Parser.java:220)
at org.eclipse.jetty.websocket.common.Parser.parse(Parser.java:258)
at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.readParse(AbstractWebSocketConnection.java:613)
at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.onFillable(AbstractWebSocketConnection.java:468)
at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:620)
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:540)
at java.lang.Thread.run(Thread.java:745)
我也尝试过 parser.EquivalentClasses(),但这也不起作用。他们有办法解析如此复杂的表达式吗?最终目标是拥有一个表示该字符串的 OWLEquivalentClassesAxiom 对象。
提前致谢!
编辑:
这是我当前使用的代码
InputStream in = new ByteArrayInputStream(axiom.getBytes());
OWLFunctionalSyntaxParser parser = new OWLFunctionalSyntaxParser(in);
parser.setUp(ontology, new OWLOntologyLoaderConfiguration());
try {
System.out.println(axiom);
output.add(parser.Axiom());
} catch(Exception e) {
e.printStackTrace();
}
最佳答案
我怀疑您的输入流中存在语法错误。我随机做了一个例子,它似乎有效:
String axiom="EquivalentClasses(:TestPizza ObjectIntersectionOf(DataMinCardinality(20 :hasToppingValue xsd:double) :Pizza))";
InputStream in = new ByteArrayInputStream(axiom.getBytes());
OWLFunctionalSyntaxParser parser;
parser = new OWLFunctionalSyntaxParser(in);
parser.setUp(localOntology,new OWLOntologyLoaderConfiguration());
DefaultPrefixManager nsm=new DefaultPrefixManager("http://www.co-ode.org/ontologies/pizza/pizza.owl#");
parser.setPrefixes(nsm);
try {
OWLClassAxiom temp=parser.EquivalentClasses();
System.out.println(axiom);
System.out.println(temp);
} catch ( ParseException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
关于java - 将字符串转换为复杂的 OWL 公理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28948170/
我正在尝试使用基于 this 的 OWLFunctionalSyntaxParser 将字符串解析回 OWL Axioms例子。这对于简单的公理来说效果很好,例如ObjectPropertyAsser
有没有一种方法可以对读取堆并返回与堆无关的快照的函数进行编码?这对于我想开发的实验编码非常有用。 例如,我尝试编写一个名为 edges 的 Dafny 函数,我打算仅将其用于规范。它应该采用一组 No
我正在从 localhost:8080(前端)到 localhost:8000(后端)进行 axios 调用。 前端使用vue、webpack、node编写,后端使用lumen-laravel框架。
各位, 我只是想知道如何使用 AXIOM xml 流程库通过给定标签名称从给定 xml 中删除 xml 元素。 到目前为止我已经成功构建了文档。 StAXOMBuilder builder = new
我使用以下命令在每个传出请求上附加一个值为“Bearer {access_token}”的授权 header :window.axios.defaults.headers.common['Author
我有一个非常大的 ID 数组(数千个 ID)。我想遍历这个数组并为每个值,像这样向 API 发出请求: [12, 32, 657, 1, 67, ...].forEach((id) => {
我在我的 java 项目中遇到这个异常 Caused by: java.lang.ClassNotFoundException: org.apache.axiom.om.OMDataSource
请不要将其标记为重复。我已阅读有关堆栈溢出的所有相关答案,但尚未针对此问题得出明确的解决方案。 我现在正在使用带有 axios 的 vue 服务器来尝试从 https://coinmarketcap.
我对 Vue.js 和 Axios 很陌生。我想学习它来创建一个 REST CRUD 界面。从HTTP GET请求开始,目前我找到的例子都是在页面加载打印返回数据时执行HTTP GET。这很好用。 另
例如 (async() => { let apiRes = null; try { apiRes = await axios.get('https://silex.edgeprop.m
在这个测试用例中,我发送一个带有用户 ID 和密码的 axios post 请求到本地运行 passportjs 的 ExpressJS 服务器。服务器以状态代码 200 响应,并使用 set-coo
我正在尝试从 onesignal api 发送 POST 请求 代码 axios({ method: 'post', url: 'https://onesignal.com/api/v1/no
我是一名优秀的程序员,十分优秀!