searching for reusable course ontology - semantic-web

I want to develop smart e-learning system which retrieve the suitable learning objects to the learner according to his/her learning style.
now, I need two ontology, the first for the learner model and the second for the learning object.
please, i want reusable ontology about a course like('java.owl', 'c#.owl', or 'any course.owl').
i tries to search a lot but i cannot find what i need.
For example when i writes this words('java.owl', 'c#.owl', or 'any course.owl') on the search engine, i cannot find any effective result about the course ontology.
can any one help me please. Thanks in advance.

I don't know where to find ontologies specific to programming languages, but there are a few ontologies about learning objects. One example would be the ontologies used at BBC for describing school curricula, available here. I believe the license allows you to reuse them.

Related

Define a graph in an ontology

I have a knowledge base which includes multiple graphs. I want a way to formally define these graphs in my metadata layer. But I can't seem to find a standard way to do it. More specifically If I want to say A is a class I can use rdfs:class. But what if I want to have a collection that contains names of all of my graphs and I want to say these names are named graphs. I was thinking about it and all I could think of was to define a graph as a rdf:bag of rdf:statement. But I don't think this is a good one. Is there any existing vocabulary that I can use for this?
It seems to me the DCAT Initiative might be worth having a look.
Dataset Catalogue Vocabulary (DCAT) is a W3C-authored RDF vocabulary designed to facilitate interoperability between data catalogs published on the Web.
I am learning about this subject matter as well. Apparently an Australian regulating body (for georesources) seems to have bundled their Graphs (concerning Geology the science, and Mining the Engineering discipline) with DCAT: CGIVocPrez. You might look here for an application example. But I cannot tell how "good" it actually is.

Find the dbpedia uri for a given place

I need your help with the following situation.
I have a local relational database that contains information about several places in a city. These places could be any kind of attraction: Museum, a cathedral, or even a square.
As an example I have information about "Square Victoria" (https://en.wikipedia.org/wiki/Victoria_Square,_Montreal)
A simple search in google gave me the wikipedia URL above. But I want to be able to do it programmatically.
For each place in the database I have also its category (square, museum, church, ....). These categories are local only and do not match any standardized categorization.
My goal is to improve this database by associating each place to its dbpedia URI.
My question is what is the best way to do that? I have some theoretical background about Semantic Web technologies but I don't have yet the practice skills to determine how to do that.
More specific questions:
Is it possible to determine the dbpedia URI using sparql only?
If it is not possible to do it with sparql only, what other technologies would I need to be able to accomplish that?
Thank you
First of all I would recommend, if you have not done it yet, to have a look at wikidata. This project is a semantic extension to wikipedia, but contrary to dbpedia, the data is not extracted from wikipedia, it is created by contributors, and therefore appears (or will appear as the project is still growing) to be more relevant.
The service offers many solutions to access data (including a Sparql endpoint), and it's main advantage is that the underlying software is mediawiki, same used for wikipedia and other Wikimedia foundation projects. The mediawiki API offers an Opensearch option that should allow you to search more efficiently that Sparql queries.
Putting everything together, I think it might be worth having a look at wikidata + wikipedia API to get pivot data to align you local database.
No direct answer but I hope that will help.

How does a semantic reasoner for protegé is made?

I'm new in "ontology world". I've been practicing Protegé and ontologies for 2 months and now I would like to understand (and if it is possible to create) a reasoner. But I don't know what is its structure, the language used by it and so on.
Can you please me provide me a piece of information and something to read? Thank you.
The task of a reasoner is to produce inferences. Standard reasoning tasks are consistency check, realization, instance check and satisfiability. You can find all these defined in a number of books and articles about description logic.
Protege uses the OWL API to interface to reasoners so they are implementations of OWLReasoner. Not all of them are written in Java (e.g., FaCT++ is written in C++).
They are quite complex systems, so describing how to implement one takes chapters - too big for an answer here.
I'd recommend exploring the source code of a few of them. Open Source ones, off the top of my head: HermiT, FaCT++, Pellet, JFact, ELK.

Owl Protege model repository

I can't really grasp the concept of how I can add an ontology model in a repository for storing. For example, I've created an ontology model in Protege 4.3. What's the next step? Suppose I want to store this model in a repository, how do I do that? Do we need to create the repository locally? If so, which application can be used for it?
P.S. I've just started learning this software and I'm a slow learner, so please be patient when answering!
The question makes no sense. I don't understand 'repository' in the given context.
As in, why have you mentioned a repository, at all?
A little knowledge is a dangerous thing...
I found your question whilst searching for a repository of .owl models. In particular, I would like to find the UML metamodel, expressed as an OWL ontology, that I can review in Protege.

Developing a Semantic Web Application

Although i have a little bit of experience in developing dynamic websites using ASP technologies, but I am new to semantic web programming, and i intend to implement a website based on semantic web technology.I would like to develop a search engine, where a web user can query for keywords from the backend RDF triple store.I want to implement the website using Java and JSP.I have following questions:
I am currently studying Jena framework and SPARQL to start with,but
i am not sure what other technologies i need to study in order to
implement the website.
What is the difference between RDF and OWL, I have gone through a
lot of web resources but i am still confused.As per my understanding
RDF and OWL both define relationship between concepts but OWL is
more rich in terms of defining relations.
What is meant by different OWL Vocabularies like FOAF, SIOC etc.Why
do we need these vocabularies?
What exactly is the purpose of Virtuso Open Link
Software(http://ods.openlinksw.com/dataspace/dav/wiki/Main/VirtJenaProvider)
Any help would be highly appreciated.
Thanks!
I would definitely like to be kept up to date of your progress. I'm not experienced with java or jsp. I wonder if this could be done in php? I know that some work has been done in python on this kind of thing.
There are some extensions to drupal that work with these semantic web technologies and Semantic Media Wiki is good too.
Check out this and the related links at the bottom. The difference between microformats and vocabularies can be difficult to understand but I think there is a difference, say between a vocabulary like FOAF and a microformat like hCard, hCalendar or hResume. Oh, the link:
http://en.wikipedia.org/wiki/FOAF_(software)
Anyway these related terms are included.
Thanks,
Bruce
http://futurewavedesigns.com
Re: your first question - why do you want to use RDF to implement a keyword search? Keyword search isn't semantic, and there are many established frameworks and APIs for keyword search, such as Lucene.
Re: your second question, comparing RDF and OWL is comparing apples and oranges. RDF is basically for declaring data, but OWL is a layer on top of RDF that is for declaring ontologies (schemas). A more meaningful comparison would be between RDFS (RDF Schema) and OWL, which both address the ontology layer.
Example:
In RDF you might state that John Smith is a Person who hasAge "42" and is marriedTo Jill Smith.
In RDFS or OWL you would declare that Person is a class, hasAge is a property (with domain of Person and range of xsd:integer) and marriedTo is a property (with domain and range of Person).
In OWL you can also declare that marriedTo is a symmetric property (if A is marriedTo B, then B must be marriedTo A). RDF isn't this powerful, so you can't make this particular statement, so can't make inferences about symmetric properties etc.