Java 使用Lambda的基于本体的Alexa技巧

Java 使用Lambda的基于本体的Alexa技巧,java,aws-lambda,ontology,alexa-skills-kit,owl-api,Java,Aws Lambda,Ontology,Alexa Skills Kit,Owl Api,是否可以在java中实现Alexa技能来导入和读取owl文件并执行SPARQL查询? 我已经试过了,但我面临很多问题和图书馆冲突 最后一个结果是,我实现了它,它执行了查询,但它只能检索本体的类值,而不能检索它们的实例 下面是maven文件pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLoca

是否可以在java中实现Alexa技能来导入和读取owl文件并执行SPARQL查询? 我已经试过了,但我面临很多问题和图书馆冲突

最后一个结果是,我实现了它,它执行了查询,但它只能检索本体的类值,而不能检索它们的实例

下面是maven文件pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>smartrecipesF</groupId>
<artifactId>recipes</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>

<name>smartrecipesF</name>
<url>http://maven.apache.org</url>

 <repositories>
<repository>
  <id>alexa-skills-kit-repo</id>
  <url>file://${project.basedir}/repo</url>
</repository>
 </repositories>

<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

  <dependencies>
 <dependency>
  <groupId>com.amazonaws</groupId>
  <artifactId>aws-lambda-java-log4j</artifactId>
  <version>1.0.0</version>
  <scope>compile</scope>
</dependency>
<dependency>
  <groupId>com.amazonaws</groupId>
  <artifactId>aws-lambda-java-core</artifactId>
  <version>1.0.0</version>
  <scope>compile</scope>
</dependency>
<dependency>
  <groupId>com.amazonaws</groupId>
  <artifactId>aws-java-sdk-dynamodb</artifactId>
  <version>1.9.40</version>
</dependency>
<dependency>
  <groupId>com.amazon.alexa</groupId>
  <artifactId>alexa-skills-kit</artifactId>
  <version>1.8.1</version>
  <scope>compile</scope>
</dependency>
<dependency>
<groupId>edu.stanford.protege</groupId>
<artifactId>org.protege.editor.owl.codegeneration</artifactId>
<version>1.0.2</version>
</dependency>
<dependency>
<groupId>net.sourceforge.owlapi</groupId>
<artifactId>owlapi-distribution</artifactId>
<version>3.4.3</version>
</dependency>

<dependency>
  <groupId>log4j</groupId>
  <artifactId>log4j</artifactId>
  <version>1.2.17</version>
  <scope>compile</scope>
</dependency>
<dependency>
  <groupId>org.slf4j</groupId>
  <artifactId>slf4j-api</artifactId>
  <version>1.7.10</version>
  <scope>compile</scope>
</dependency>

    <dependency>
<groupId>org.apache.jena</groupId>
<artifactId>apache-jena-libs</artifactId>
<type>pom</type>
<version>3.0.0</version>
 </dependency>

 </dependencies>




 <build> 
    <pluginManagement>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-compiler-plugin</artifactId>
      <version>3.3</version>
      <configuration>
        <source>1.7</source>
        <target>1.7</target>
      </configuration>
    </plugin>

    <plugin>
      <groupId>org.codehaus.mojo</groupId>
      <artifactId>exec-maven-plugin</artifactId>
      <version>1.2.1</version>
      <configuration>
        <mainClass>Launcher</mainClass>
        <systemProperties>
          <systemProperty>


<key>com.amazon.speech.speechlet.servlet.
disableRequestSignatureCheck</key>

   <value>${disableRequestSignatureCheck}</value>
          </systemProperty>
          <systemProperty>

 <key>com.amazon.speech.speechlet.servlet.supportedApplicationIds</key>
            <value>${supportedApplicationIds}</value>
          </systemProperty>
          <systemProperty>

<key>com.amazon.speech.speechlet.servlet.timestampTolerance</key>
            <value>${timestampTolerance}</value>
          </systemProperty>
        </systemProperties>
      </configuration>
       <executions>
      <execution>
        <phase>package</phase>
        <goals>
          <goal>shade</goal>
        </goals>
      </execution>
    </executions>
    </plugin>
  </plugins>
</pluginManagement>
</build>





</project>

4.0.0
智能配方
食谱
0.0.1-快照
罐子
智能配方
http://maven.apache.org
alexa技能套件回购
文件://${project.basedir}/repo
UTF-8
亚马逊网站
aws-lambda-java-log4j
1.0.0
编译
亚马逊网站
aws lambda java内核
1.0.0
编译
亚马逊网站
aws java sdk dynamodb
1.9.40
com.amazon.alexa
alexa技能工具包
1.8.1
编译
斯坦福大学学生
org.protege.editor.owl.codegeneration
1.0.2
net.sourceforge.owlapi
owlapi分布
3.4.3
log4j
log4j
1.2.17
编译
org.slf4j
slf4j api
1.7.10
编译
org.apache.jena
ApacheJenaLibs
聚甲醛
3.0.0
org.apache.maven.plugins
maven编译器插件
3.3
1.7
1.7
org.codehaus.mojo
execmaven插件
1.2.1
发射装置
com.amazon.speechlet.servlet。
disableRequestSignatureCheck
${disableRequestSignatureCheck}
com.amazon.speechlet.servlet.SupportedApplicationID
${SupportedApplicationId}
com.amazon.speechlet.servlet.timestampTolerance
${timestampTolerance}
包裹
阴凉处

希望有人能提供帮助

请提供一个明确的错误指示。Owlapi目前不支持SPARQL。我们需要您正在使用的库和您编写的代码的详细信息,否则问题无法回答。请注意,从技术上讲,不需要在技能调用的Lambda函数中执行繁重的操作。您可以首先在http端点的其他位置向代码的逻辑公开一个接口,然后从Lambda函数内部向它发出http请求,以发送请求并接收结果,然后返回Alexa。这可能是一种更简单的方法,至少可以建立您的概念证明。是一个基于jena的OWL-API实现,它支持SPARQL,因为jena arq支持SPARQL。jena中还有OWL1本体子系统,请参见
org.apache.jena.ontology