Local & Remote OWL/SPARQL queries with Jena [closed] - java

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
I want to create a simple application using Jena and SPARQL, that inserts, deletes, updates, and queries some OWL/RDF data. I worked on Protégé to create the ontology and noticed SPARQL in it,
but I want to run SPARQL queries programatically with Jena in Java.
I saw “Using Jena to create a SPARQL query on DBpedia” and I know how to use SPARQL with Jena, but I want to upload it to server or to work on localhost or whatever.
SPARQL doesn't support operations like update or insert, but only querying. Are there any other languages/methods that support these operations, or should I manipulate data manually in java in each application?
How can I upload my ontology, preferably with something related to Protégé?
I tried Protege2Joseki but couldn't get it to work.
Are RDF-stores just for RDF? I am working on OWL files. For example, if I am using MySQL as an RDF-store, would it also work for OWL concepts?

I think that on Stack Overflow you should really ask one question per posting. Asking four questions at once makes it hard for you to indicate when you have got the answer you're looking for.
Answering your questions in turn:
It sounds like you want a endpoint loaded with your queries and ontologies which you and others can query using SPARQL. For this, you can use Joseki.
The SPARQL working group at W3C is currently standardising update extensions to the SPARQL language. Some of the existing query engines, including the one in Jena, already implement the proposed update mechanisms as SPARQL extensions.
I don't understand question 3.
Yes, an RDF-triple store can store OWL, because OWL is a specialisation of RDF that provides additional semantic representations. Many tools, including Jena, provide specialised APIs for storing, retrieving and manipulating OWL constructs stored in RDF triple stores.

Related

Deploy a (portable) database Java server application [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 8 years ago.
Improve this question
I have a "basic" Java app that works somewhat like a server (listens to certain ports).
I want to add a database to the project so that I can interact with certain tables based on the data from the listened ports (basic operations - no alien-technology.
I am looking for a solution to implementing the database into the project so that there is no need of any "help" from outside of the app.In the end resulting and a "portable" app, that can be ran from other operating systems without any prerequisites (installing different services, etc).
I have seen solutions like H2, implementing MySQL services (way too complicated for what I need),Java GO, but I need something far less complicated, like C# and database connection to an Microsoft Acces database.
Any ideas?
You might want to look into JavaDB or SQLite. Both can be embedded into your application, and can be run fully in memory (no persistence at all) or backed up by files.

Parametric Validation of Java Objects [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
I have a validation project where I need to parse large numbers of records each of which has around 200 fields. Fields have inter-dependencies from a validation perspective, minimums, maximums and so on. Some of the rules are expected to change over time. As a consequence I think I probably need to load the rules from xml? An extension of this is that I need to be able to generate a detailed error report listing each record and all errors associated with this record. I have been hunting for validation frameworks that may support this type of functionality and am aware of the more common ones like Hibernate and maybe JValidations, however I am looking for some guidance / recommendations for a well supported flexible framework.
My approach thus far has been to create a validation class that parses the record entity testing each field with "if-then-else" type statements. This works of course, however it is inflexible and consequently messy to manage - hence my thought that some sort of rules (engine) based approach possibly coded in xml would be better. Regardless, it would be far beyond my skill level to design such a solution.
Thanks in anticipation
You can consider OVal framework for validations and you have an option of Apache Validator and hibernate validator.
Also please refer to this link for more details.

SQL Parser for java [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
I have multiple SQL queries (SELECT statements using FROM and WHERE - standard), and was looking for a parser in which I can feed in SQL queries as text and gives out the column names being used and corresponding table and schema names. Parser should take care of aliases and joins to notice distinct column names that are being used.
Please give me ideas to use a java library and also an exel API because the queries are in EXCEL cell. Would be great if to get something. Thanks
I would code an SQL parser but don't want to reinvent the wheel and not confident that I could make it work completely. Thanks for your input.
Please let me know if you know of parsers in other languages that would work.
Thanks
I had to do some SQL parsing a short while ago. I used GSP: http://www.sqlparser.com/
It's closed source and not free so GSP might not be an option for you. I wasn't able to find a free SQL Parser for Teradata so GSP was my best option. If you decide to go with GSP, the Java docs aren't that great. Your best bet is to find example code from the examples section on their website and work from there.
Apache POI is a good API for excel: http://poi.apache.org/

Looking for a simple Java spider [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
I need to supply a base URL (such as http://www.wired.com) and need to spider through the entire site outputting an array of pages (off the base URL). Is there any library that would do the trick?
Thanks.
I have used Web Harvest a couple of times, and it is quite good for web scraping.
Web-Harvest is Open Source Web Data
Extraction tool written in Java. It
offers a way to collect desired Web
pages and extract useful data from
them. In order to do that, it
leverages well established techniques
and technologies for text/xml
manipulation such as XSLT, XQuery and
Regular Expressions. Web-Harvest
mainly focuses on HTML/XML based web
sites which still make vast majority
of the Web content. On the other hand,
it could be easily supplemented by
custom Java libraries in order to
augment its extraction capabilities.
Alternatively, you can roll your own web scraper using tools such as JTidy to first convert an HTML document to XHTML, and then processing the information you need with XPath. For example, a very naïve XPath expression to extract all hyperlinks from http://www.wired.com, would be something like //a[contains(#href,'wired')]/#href. You can find some sample code for this approach in this answer to a similar question.
'Simple' is perhaps not a relevant concept here. it's a complex task. I recommend nutch.

Object-to-Triple mapping using AllegroGraph RDF store? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
My project is building a Java web application on top of the AllegroGraph RDF store. I would like to find a good solution to map between the triples that come out of the store and our domain objects. I have looked into Topaz, an Object/Triple mapping API being developed in the spirit of Hibernate. The trouble is that they don't currently have a connector to AllegroGraph.
Has anyone come up with a good scheme for Object/Triple mapping in Java, in light of the limited API support out there? One issue that makes this question more difficult is that unlike SQL, the SPARQL standard only supports read operations, so writes are done via the RDF store's proprietary API, and I'd really like to abstract away those details in our application.
For the OO-RDF mapping in general, you might want to have a look at:
OpenRDF Elmo http://www.openrdf.org/ (works only with sesame but designed to be extensible and extending sesame to work on top of allegrograph(look at the sail (Storage and inference Layer) architecture)
Sommer https://sommer.dev.java.net/ with some explanation of how it works here http://blogs.oracle.com/bblfish/
There is also RDFReactor http://semanticweb.org/wiki/RDFReactor which works on top of RDF2go. RDF2go is an abstraction layer with implementation for jena or sesame. Again nothing about AllegroGraph so you would need an implementation of the binding.
I don't know for RDFReactor but i know that sommer and elmo are both based on annotation of POJO and allows the updates via direct triple-based-API or the queries using SPARQL.
As for AllegroGraph itself, I'm not aware of anything specific but they seems to support Sesame and to interface with it, so you might be able to work this way.
I like the redland RDF libraries. RDF parsing, storage, SPARQL/RDQL queries, fairly complete, but modular enough to use only what you want. They have Java bindings, but I have only used the C API (and also wrote a (partial) Lua binding)
One issue that makes this question
more difficult is that unlike SQL, the
SPARQL standard only supports read
operations, so writes are done via the
RDF store's proprietary API, and I'd
really like to abstract away those
details in our application.details in our application.
AllegroGraph supports the open-source Jena API, through which you can perform write operations. It's cool; it works. Maybe that's abstraction enough for your purposes.

Categories