I have created an ontology using the protege tool. How can we perform ontology based image retrieval after creating an ontology. Please give suggestion, my project is semantic based image retrieval. Which language and software should I use
See the Link below to see the information retrieval by using protege http://protege.stanford.edu/conference/2003/Claudio_Duque_MancFinalF.pdf
Related
I'm looking for a good whiteboarding tool for the property graph model. I realise this is similar to this question, however I'd like it to be collaborative & the output to export to a standard graph database format so can be imported.
Context
Team is breaking down requirements to identify if a graph based database structure is a good fit. While I think in person whiteboarding is the best approach for collaborating, this is during COVID so remote working is essential.
In my opinion :
Query the answer from the RDF 3-tuples, if no answer ,then try a reasoner.
Use the reasoner to complete knowledge graph off-line to save online query time.
I have developed an ontology of emotions using Protege. I want to relate each class(emotion) of my ontology to its similar concepts in another ontology. For example, I have a class Anger. I want to retrieve concepts relating to anger, like agitation, mad, etc., in correct context from another ontology (ConceptNet or WordNet) through their URIs. How can I do so?
Is this even a correct idea to begin with? How else can I achieve my target? Can I call a class from another ontology from my ontology through URI within Protege?
If you only want to refer to the classes, you can simply use the same URI in both places.
However this does not force tools to actually take into account any axioms about those classes, i.e., your ontology will not know about superclasses or restrictions declared in the other ontology.
To actually use all axioms related to your other classes, you'll need to import the other ontology in its entirety. To only use part of the ontology, you can use one of various modularisation techniques available to create a subset of an ontology, containing the axioms you're interested in. However, the technique to use depends on your specific needs.
Can you provide more insight on what you are trying to achieve?
There's a lot of material online on modularisation - search for "ontology modularisation". Reading a few abstracts should help you focus on the best approach for your needs.
I have a set of football related keywords, a data set of positive sentiments words and negative sentiments words with me. My requirement is to combine these and search is social media to get some real time discussions and posts, and do some statistical analysis and reach some conclusions. This keywords and data sets are dynamically updating one. Now my question is
What is the best practice to handle the three sets of data? Using an Ontology structure or Well structured database?
Whether the data in the ontology is able to access from any programming languages? can i update or retrieve the data in Ontology using .NET or R or with any other programming language?
Thank you
Representing the related keywords as an ontology is a good idea rather than storing in a database.
SPARQL can be used to access and search the ontology to get related information
Your system will be semantically rich if its an ontology
If its a database, may be the access time may be improved but it will not be semantically rich
You may use apache jena which is a free Java API for creating an ontology.
Python also has many plugins for ontology generation.
I'd like to build an ontology for my web application, and I thought of using Neo4j to represent the ontology (since I use Neo4j anyway).
Right now, it seems I have to write it from scratch, including the entire ontology implementation, validation, reasoning, GUI editor. Definitely too much work.
Is there a framework or library that will allow me to manage my ontology on neo4j without implementing it from scratch?
If not, what is the most reasonable alternative? (I'm using Neo4j over Node.js)
ontology implementation, validation, reasoning, GUI editor.
You can use Tinkerpop's Blueprints stack, if you want those things (except the GUI editor), whilst still using the Neo4j as the DB.
It abstracts away from the "low-level" graph databases' API and provides a unified interface. This means you can change the DB in the future, while retaining the features.
To get started you'll need the main Blueprints lib, Neo4j impl. and Sail oupl.. At this point you should be using the GraphSail class and its Connection class for semantic graph management.
Note that by using the Sail ouplementation (I didn't come up with the term..) you may use Sesame's libs like (pasting from my maven project) sesame-rio-rdfxml, sesame-rio-ntriples, sesame-repository-sail, sesame-queryparser-sparql.
I'm not working for Tinkerpop, but I really enjoy their framework.
There is a lot you can do with the Neosemantics plugin. You may want to take a look.
You can import an existing ontology and extend it easily. You get visualisation for free with Bloom but no ontology editor as such. For that, you can use Protégé. Create your onto there and then import it into neo4j with neosemantics. It's a one line thing:
CALL n10s.onto.import.fetch("...path to your onto...", "Turtle")
//or whichever serialisation format you're using