I'm trying to describe some resources about books, already did:
Author: dcterms:creator;
Title: dcterms:title;
Location: dcterms:location
This was the easy ones, but i've some thigs that are not in dcterms list. Where can I find other schemas to describe it ? Can you show me examples, even how to create my own schema?
Eg. Homepage; keywords; goal
You need to search for appropriate vocabularies (or: ontologies/schemas). There are many vocabularies.
You could use http://prefix.cc/ to learn about some of them.
For books, have a look at (these are just some suggestions so that you see some examples of what is out there):
Dublin Core (as you already know)
FOAF (Friend of a Friend) (e.g., for authors and topics)
schema.org (e.g., Book and Person)
The Bibliographic Ontology
provides main concepts and properties for describing citations and bibliographic references (i.e. quotes, books, articles, etc) on the Semantic Web.
Ontology for Media Resources
a core set of metadata properties for media resources
SPAR (Semantic Publishing and Referencing Ontologies)
a suite of orthogonal and complementary ontology modules for creating comprehensive machine-readable RDF metadata for all aspects of semantic publishing and referencing
You could create your own vocabulary (but you should only do this if there is no appropriate vocabulary). It’s as simple as defining meanings for URIs under your control. If you intend to publish this vocabulary, so that other people can use it, too, have a look at RDFS (which is a vocabulary to describe vocabularies). See also:
RDF Primer: Defining RDF Vocabularies: RDF Schema
RDFa Primer: Custom Vocabularies
Best Practice Recipes for Publishing RDF Vocabularies
I suggest that you have a look at schema.org. You will find all the information you need to annotate resources related to books among other things, and even documentation explaining how to extend your vocabulary if needed.
Related
DBPedia has so many chapters in several languages and also has mapping-based predicates and raw infobox properties. However it's said DBPedia is a community effort for extracting structured information from wikipedialike this but many row properties are not reasonable at all, especially in localized datasets. have all properties produced by human or machine?
As stated on the DBPedia main page:
DBpedia is a crowd-sourced community effort to extract structured information from Wikipedia[...]
This is done via the DBpedia information Extraction Framework, a software available in a dedicated GitHub repository.
How do we know which vocabulary/namespace to use to describe data with RDFa?
I have seen a lot of examples that use xmlns:dcterms="http://purl.org/dc/terms/" or xmlns:sioc="http://rdfs.org/sioc/ns#" then there is this video that uses FOAF vocabulary.
This is all pretty confusing and I am not sure what these vocabularies mean or what is best to use for the data I am describing. Is there some trick I am missing?
There are many vocabularies. And you could create your own, too, of course (but you probably shouldn’t before you checked possible alternatives).
You’d have to look for vocabularies for your specific needs, for example
by browsing and searching on http://lov.okfn.org/dataset/lov/ (they collect and index open vocabularies),
on W3C’s RDFa Core Initial Context (it lists vocabularies that have pre-defined prefixes for use with RDFa), or
by browsing through http://prefix.cc/ (it’s a lookup for typically used namespaces, but you might get an overview by that).
After some time you get to know the big/broad ones: Schema.org, Dublin Core, FOAF, RSS, SKOS, SIOC, vCard, DOAP, Open Graph, Ontology for Media Resources, GoodRelations, DBpedia Ontology, ….
The simplest thing is to check if schema.org covers your needs. Schema.org is backed by Google and the other major search engines and generally pretty awesome.
If it doesn't suit your needs, then enter a few of the terms you need into a vocabulary search engine. My recommendation is LOV.
Another option is to just ask the community about the best vocabularies for the specific domain you need to represent. A good place is answers.semanticweb.com, which is like StackOverflow but with more RDF experts hanging out.
Things have changed quite a bit since that video was posted. First, like Richard said, you should check if schema.org fits your needs. Personally when I need to describe something that's not covered on schema.org, I check LOV as well. If, and only if I can't find anything in LOV, I will then consider creating a new type or property. A quick way to do this is to use http://open.vocab.org/
A newer version of RDFa was published since that video was released: RDFa 1.1 and RDFa Lite. If you want to use schema.org only, I'd recommend to check http://www.w3.org/TR/rdfa-lite/
Vocabularies are usually domain specific. The xmlns line is deprecated. The RDFa profile at http://www.w3.org/profile/rdfa-1.1 lists the vocabularies available as part of initial context. Sometimes vocabularies may overlap in the context of your data. Analogous to solving math prb by either Algebraic or Geometric or other technique, mixing up vocabularies is fine. Equal terms can be found using http://sameas.org/ For addressing your consumer base's favoritism amongst vocab recognition, skos:closeMatch and skos:exactMatch may be used, eg. "gr:Brand skos:closeMatch owl:Thing" with any terms you please. Prefix attribute can be used with vocabularies besides those covered by initial context like: prefix="fb: http://ogp.me/ns/fb# vocab2: path2 ..." For cross-cutting concern across different domain vocabularies such as customizing presentation in search results microdata using schema.org guidelines should be beneficial. However, as this has nothing to do with specialization in any peculiar domain, prefixes are unavailable in this syntax. RDFa vocab have been helpful in such specific domain contexts that content seems to appeal further to participative audience while microdata targets those who've lost their way. For tasks that are too simple to merit full-fledged vocab, but have semantic implications, try http://microformats.org/ Interchanging usage of REST profile URIs for vocabs amongst the 3 syntaxes is valid, but useless owing to lack of affordable manpower to implement alternative support for the vocabs on the Web scale. How & why schema.org vocab merited separate microdata syntax of its own is discussed by Google employee Ian Hickson a. k. a. Hixie- the editor of WHATWG HTML5 draft at http://logbot.glob.com.au/?c=freenode%23whatwg&s=28+Nov+2012&e=28+Nov+2012#c747855 or http://krijnhoetmer.nl/irc-logs/whatwg/20121128#l-1122 If only Google had smart enough employees to implement parser for 1 syntax whose WG included its own employee also, then RDFa Lite inside RDFa would have been another course like Core Java within Java, & no need of separate microdata named mocking rip-off, but alas- our's is an imperfect world!
Or microdata, RDF(a) or others.
'entities' a blog has would include posts, comments, taxonomies and users.
For posts I found BlogPosting and hAtom, which is a draft spec.
hCard and rel="tag" come to mind for users and taxonomies, but what do you think?
Big discussion in the community about this specific topic. I would go for schema.org - Bing's, Google's and yahoo's recent schema proposal. That is (quoting them):
This site provides a collection of
schemas, i.e., html tags, that
webmasters can use to markup their
pages in ways recognized by major
search providers.
... see BlogPosting for their specific schema for blog postings.
And they also provide a mapping data model to use RDFa ... see this other one
More RDFa related, there is a port of schema.org by the Linked Data comunity RDFa using URIs here, quoting again ...
This site is a complementary effort by
people from the Linked Data community
to express the terms provided by the
Schema.org consortium in RDF. We
currently provide static RDFS
documents of the Schema.org terms in
the formats listed below - and yes,
we're heavily working on more ;)
Which one to use ? As I said, there's a big discussion going on right now around this issue.
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.
I am building an ontology-processing tool and need lots of examples of various owl ontologies, as people are building and using them in the real world. I'm not talking about foundational ontologies such as Cyc, I'm talking about smaller, domain-specific ones.
There's no definitive collection afaik, but these links all have useful collections of OWL and RDFS ontologies:
schemaweb.info
vocab.org
owlseek
linking open data constellation
RDF schema registry (rather old now)
In addition, there are some general-purpose RDF/RDFS/OWL search engines you may find helpful:
sindice
swoogle
Ian
My go-to site for this probably didn't exist at the time of the question. For latecomers like me:
Linked Open Vocabularies
I wish I'd found it much sooner!
It's well-groomed, maintained, has all the most-popular ontologies, and has a good search engine. However, it doesn't include some specialized collections, most notably, (most of?) the stuff in OBO Foundry.
Thanks! A couple more I found:
OntoSelect - browsable ontology repository
Protege Ontology Library
CO-ODE Ontologies
Within the life-science domain, the publically abvailable ontologies can be found listed on the OBO Foundry site. These ontologies can be queried via the ontology lookup service or the NCBO's Bioportal, which also contains additional resources.
One more concept search tool: falcons
There is also one good web engine for searching for ontologies. It is called Watson Semantic Web Search and you can try it here.