java(jena)的本体论

我正在做一些基于本体的项目。我想识别用户输入的文本的语义。 是否有任何可能的方法来完成我通过jena处理本体的任务?

Spring boot – 控制器捕获所有URL

我正在构建一个Spring启动Web应用程序,并使用注释进行控制器/ URL映射。 我有几个带@RequestMapping注释的控制器,其中url值设置(空字符串和特定URL),这些控制器工作正常,例如 @Controller @RequestMapping(“/accounts”) class SignInController { @Autowired PartyService partyService @RequestMapping(value=””, method = RequestMethod.GET ) public String signinPage( Model model) { 导航到/ accounts会正确呈现登录页面。 但是,如果我添加一个没有RequestMapping值的控制器,例如 @Controller class CustomController { @RequestMapping public String transform( Model model ) { 然后,我输入的任何与任何其他特定控制器都不匹配的URL将由此控制器处理(因此我希望404所有页面都只显示此页面)。 这是预期的行为吗? 我没想到这一点,并且由于RequestMapping值默认为空并且是一个antMatcher,我不会认为它会处理所有其他URL。 我有这个控制器没有定义RequestMapping的原因是因为我想要一个SimpleUrlMappingHandler定义一些明确的URL到那个控制器,如果我没有包含@Controller和@RequestMapping注释到那个控制器那么我得到一个关于无法找到处理程序方法的错误(可能问题是我误解了该实现细节)。 我的自定义控制器应该处理所有URL吗? 如果是这样,有什么我可以做的,所以它不会被只调用我定义的显式SimpleUrlMappingHandler吗?

如何获得缩短的时区?

我想要一个缩短的时区,例如。 太平洋标准时间,美国东部时间等我设法获得了一个偏移但是无法根据偏移得到一个缩短的时区。 有人可以帮忙吗? 例如,何时 tz = America / Phoenix和时间= 1450759239340 DateTimeFormat.forPattern( “ZZZ”)withZone(TZ).PRINT(时间)。 结果是-07:00 。 我可以使用这些可用代码获得缩写时区吗? 提前致谢。

如何在hibernate中使用一对一映射执行插入

我已经成功地在两个实体之间创建了一对一的映射。 我能够从两个表中检索数据,但是我无法执行插入。 @Entity @Table(name=”users_test”) public class User { @Id @Column(name=”user_id”) @GeneratedValue(strategy=GenerationType.AUTO) private int id; private String username; private String password; private int enabled; @OneToOne(cascade = CascadeType.ALL) @PrimaryKeyJoinColumn private UserRole userRole; //getters and setters } @Entity @Table(name = “user_roles”) public class UserRole { private int user_role_id; @Id @GeneratedValue(generator = “gen”) @Column(name = “user_id”, unique = true, […]

如何删除旧的JPanel并添加新的JPanel?

我想从Window(JFrame)中删除旧的JPanel并添加一个新的JPanel。 我该怎么办? 我尝试了以下方法: public static void showGUI() { JFrame frame = new JFrame(“Colored Trails”); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.add(partnerSelectionPanel); frame.setSize(600,400); frame.setVisible(true); } private static void updateGUI(final int i, final JLabel label, final JPanel partnerSelectionPanel) { SwingUtilities.invokeLater( new Runnable() { public void run() { label.setText(i + ” seconds left.”); } partnerSelectionPanel.setVisible(false); \\ <———— } ); } 我的代码更新了“旧”JPanel,然后它使整个JPanel不可见,但它不起作用。 编译器抱怨<————指示的行。 它写道: […]

更改.jar文件没有源?

我有一个基于Java的TCP客户端与我们的生产服务器对话,我正在重写。 客户端具有服务器的IP和端口硬编码。 我想要做的是将客户端中的IP地址更改为127.0.0.1并且我可以在我的开发框中使用相同的端口号。 这是擦,我没有所有的源代码,所以我不能只重新编译它。 写这篇文章的人已经在这里工作了大约四年,虽然我有他的硬盘驱动器,但我找不到编译的循环返回客户端(即使我找到了部分源代码),甚至还没有找到生产客户端的源代码。 我怀疑他在网络驱动器上编写了他的代码,并且在这几年中它已经丢失了。 有没有办法让我反编译客户端并重新编译该更改? hex或二进制编辑(我也没有技巧,我刚看到它完成了)? 也许WinRAR因为我的理解是.jar文件只是压缩文件? 或者,有什么方法可以从客户端捕获传出的TCP流量并将其重新路由到我的开发箱? 我无法取下生产服务器进行测试,如果没有修改后的客户端,将很难确保我模拟生产服务器对客户端的响应。 我找到了这篇SO文章: 从jar中反编译并重新编译单个文件 ,但是我不明白反汇编和反编译之间的区别,但是我找到了那里提到的实用程序JD。

使用相同的数据将缓冲的图像转换为2D字节数组

我在Java中编写了一个图像处理应用程序。 我已经处理了图像,这是缓冲的图像,现在我想返回已处理图像的byte[] ,我应该得到二值化图像的字节数组。 这是我的代码: public static byte[][] binarizeImage(BufferedImage bfImage){ int red; int newPixel; int h ; int w ; int threshold = otsuTreshold(bfImage); // this function returns the threshold value 199 BufferedImage binarized = new BufferedImage(bfImage.getWidth(), bfImage.getHeight(), bfImage.getType()); for(int i=0; i<bfImage.getWidth(); i++) { for(int j=0; j threshold) { newPixel = 255; } else { newPixel […]

List和List 之间的区别

我已经读过很多关于此的内容了,我知道: List listOfObject = new ArrayList(); // (0) //can only work for TYPE == Object. //if TYPE extends Object (and thus objects of type TYPE are Objects), //this is not the same with Lists: List is not a List 现在我已经读过以下内容: List undefinedList = new ArrayList(); // (1) //works for ANY type (except for primitives) 和 […]

如何使用RegExp替换除双引号之外的所有标点符号

我正在尝试做一些字符串清理。 我想从字符串中删除除双引号之外的所有标点符号。 下面的trimPunctuation()函数可以很好地从字符串中删除所有标点符号。 有没有人知道删除所有标点符号但双引号的方法。 private String trimPunctuation( String string, boolean onlyOnce ) { if ( onlyOnce ) { string = string.replaceAll( “\\p{Punct}$”, “” ); string = string.replaceAll( “^\\p{Punct}”, “” ); } else { string = string.replaceAll( “\\p{Punct}+$”, “” ); string = string.replaceAll( “^\\p{Punct}+”, “” ); } return string.trim(); } 有关标点符号unicode类的更多信息,请点击此处 。 但是,这对我没有帮助。

使用MapReduce中的globStatus过滤输入文件

我有很多输入文件,我想根据最后附加的日期处理选定的文件。 我现在很困惑我在哪里使用globStatus方法来过滤掉文件。 我有一个自定义的RecordReader类,我试图在其下一个方法中使用globStatus,但它没有成功。 public boolean next(Text key, Text value) throws IOException { Path filePath = fileSplit.getPath(); if (!processed) { key.set(filePath.getName()); byte[] contents = new byte[(int) fileSplit.getLength()]; value.clear(); FileSystem fs = filePath.getFileSystem(conf); fs.globStatus(new Path(“/*” + date)); FSDataInputStream in = null; try { in = fs.open(filePath); IOUtils.readFully(in, contents, 0, contents.length); value.set(contents, 0, contents.length); } finally { IOUtils.closeStream(in); […]