Mercurial > hg > dml-open-cliopatria
changeset 0:718306e29690 tip
commiting public release
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/.hg_archival.txt Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,6 @@ +repo: 9b468c630020a7629598df694c61f1b8da44bfd1 +node: 023a89f1b9079073d0726030237c6afdf8392ff0 +branch: partial_results +latesttag: public +latesttagdistance: 1 +changessincelatesttag: 1
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/.hgignore Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,4 @@ +\.pyc$ +\.*\.sw.$ +.DS_Store +scripts/compression/dlzma
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/COPYING Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/> + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + <one line to give the program's name and a brief idea of what it does.> + Copyright (C) <year> <name of author> + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + <program> Copyright (C) <year> <name of author> + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +<http://www.gnu.org/licenses/>. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +<http://www.gnu.org/philosophy/why-not-lgpl.html>.
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/LICENSES Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,8 @@ +This distribution includes the following components: + +Bootstrap v3.3.2 Javascript and CSS, Copyright 2011-2015 Twitter, Inc: MIT License + bootstrap.min.1.css is a modified version of the original. + +svg-pan-zoom v3.0.0 https://github.com/ariutta/svg-pan-zoom + +Kube 3.1 CSS framework
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/README Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,3 @@ +These directories must all by symlinked into the the cpack directory +of the ClioPatria instance directory. The main code is in the +dml directory.
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dbpedia/LICENSES Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,3 @@ +The DBPedia ontology is made available under the terms of the +Creative Commons Attribution-ShareAlike 3.0 License and the +GNU Free Documentation License. See http://wiki.dbpedia.org/ .
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dbpedia/lib/dbpedia.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,31 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University College London. + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +:- module(dbpedia, []). +:- use_module(library(semweb/rdf_db)). +:- use_module(library(semweb/rdf_library)). + +/** <module> Provide DBPedia schema and namespaces + +*/ + +:- rdf_register_ns(dbpedia, 'http://dbpedia.org/'). +:- rdf_register_ns(dbprop, 'http://dbpedia.org/property/'). +:- rdf_register_ns(dbont, 'http://dbpedia.org/ontology/'). +:- rdf_attach_library(dbpedia(rdf)). +:- rdf_load_library(dbpedia).
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dbpedia/rdf/base/Manifest.ttl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,20 @@ +@prefix lib: <http://www.swi-prolog.org/rdf/library/> . +@prefix owl: <http://www.w3.org/2002/07/owl#> . +@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . +@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . +@prefix dcterms: <http://purl.org/dc/terms/> . +@prefix dbpedia: <http://dbpedia.org/> . +@prefix dbprop: <http://dbpedia.org/property/> . +@prefix dbont: <http://dbpedia.org/ontology/> . + +<dbpedia> + a lib:Schema ; + a lib:Virtual ; + dcterms:title "DBPedia schema" ; + owl:imports + <dbpedia/dbpedia_3.9.owl> . + +[ a lib:Namespace ; lib:mnemonic "dbpedia" ; lib:namespace dbpedia: ] . +[ a lib:Namespace ; lib:mnemonic "dbprop" ; lib:namespace dbprop: ] . +[ a lib:Namespace ; lib:mnemonic "dbont" ; lib:namespace dbont: ] . +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dbpedia/rdf/base/dbpedia/dbpedia_3.9.owl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,6080 @@ +<rdf:RDF xml:base="http://dbpedia.org/ontology/" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsd="http://www.w3.org/2001/XMLSchema#" xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns="http://dbpedia.org/ontology/"> + + <owl:Ontology rdf:about=""> + <owl:versionInfo xml:lang="en">Version 3.8</owl:versionInfo> + </owl:Ontology> + <owl:Class rdf:about="http://dbpedia.org/ontology/BasketballLeague"> + <rdfs:label xml:lang="el">Ομοσπονδία Καλαθοσφαίρισης</rdfs:label><rdfs:label xml:lang="fr">ligue de basketball</rdfs:label><rdfs:label xml:lang="en">basketball league</rdfs:label><rdfs:label xml:lang="it">lega di pallacanestro</rdfs:label><rdfs:label xml:lang="ja">バスケットボールリーグ</rdfs:label><rdfs:comment xml:lang="en">a group of sports teams that compete against each other in Basketball</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/SportsLeague"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Province"> + <rdfs:label xml:lang="en">province</rdfs:label><rdfs:label xml:lang="fr">province</rdfs:label><rdfs:label xml:lang="nl">provincie</rdfs:label><rdfs:comment xml:lang="en">An administrative body governing a territorial unity on the intermediate level, between local and national level</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/GovernmentalAdministrativeRegion"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/LunarCrater"> + <rdfs:label xml:lang="en">lunar crater</rdfs:label><rdfs:label xml:lang="fr">cratère lunaire</rdfs:label><rdfs:label xml:lang="el">Σεληνιακός κρατήρας</rdfs:label><rdfs:label xml:lang="nl">maankrater</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/NaturalPlace"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/MotorsportSeason"> + <rdfs:label xml:lang="en">motorsport season</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/SportsSeason"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/MilitaryPerson"> + <rdfs:label xml:lang="el">στρατιωτικός</rdfs:label><rdfs:label xml:lang="fr">militaire</rdfs:label><rdfs:label xml:lang="en">military person</rdfs:label><rdfs:label xml:lang="it">militare</rdfs:label><rdfs:label xml:lang="nl">militair</rdfs:label><rdfs:label xml:lang="ko">군인</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/TimePeriod"> + <rdfs:label xml:lang="el">χρονική περίοδος</rdfs:label><rdfs:label xml:lang="fr">période temporelle</rdfs:label><rdfs:label xml:lang="en">time period</rdfs:label><rdfs:label xml:lang="nl">tijdvak</rdfs:label><rdfs:label xml:lang="es">periodo temporal</rdfs:label><rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/><owl:disjointWith rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/AutomobileEngine"> + <rdfs:label xml:lang="el">κινητήρας αυτοκινήτου</rdfs:label><rdfs:label xml:lang="fr">moteur d'automobile</rdfs:label><rdfs:label xml:lang="en">automobile engine</rdfs:label><rdfs:label xml:lang="it">motore d'automobile</rdfs:label><rdfs:label xml:lang="ja">内燃機関</rdfs:label><rdfs:label xml:lang="pt">motor de automóvel</rdfs:label><rdfs:label xml:lang="de">Fahrzeugmotor</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Device"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Enzyme"> + <rdfs:label xml:lang="el">ένζυμο</rdfs:label><rdfs:label xml:lang="en">enzyme</rdfs:label><rdfs:label xml:lang="it">enzima</rdfs:label><rdfs:label xml:lang="ja">酵素</rdfs:label><rdfs:label xml:lang="nl">enzym</rdfs:label><rdfs:label xml:lang="de">enzym</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Biomolecule"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/University"> + <rdfs:label xml:lang="el">πανεπιστήμιο</rdfs:label><rdfs:label xml:lang="fr">université</rdfs:label><rdfs:label xml:lang="en">university</rdfs:label><rdfs:label xml:lang="ja">大学</rdfs:label><rdfs:label xml:lang="nl">universiteit</rdfs:label><rdfs:label xml:lang="ko">대학</rdfs:label><rdfs:label xml:lang="pt">universidade</rdfs:label><rdfs:label xml:lang="es">universidad</rdfs:label><rdfs:label xml:lang="de">Universität</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/EducationalInstitution"/><owl:equivalentClass rdf:resource="http://schema.org/CollegeOrUniversity"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/AnatomicalStructure"> + <rdfs:label xml:lang="el">ανατομική δομή</rdfs:label><rdfs:label xml:lang="fr">structure anatomique</rdfs:label><rdfs:label xml:lang="en">anatomical structure</rdfs:label><rdfs:label xml:lang="it">struttura anatomica</rdfs:label><rdfs:label xml:lang="ja">解剖構造</rdfs:label><rdfs:label xml:lang="nl">anatomische structuur</rdfs:label><rdfs:label xml:lang="ko">해부학</rdfs:label><rdfs:label xml:lang="sl">anatomska struktura</rdfs:label><rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/TelevisionShow"> + <rdfs:label xml:lang="el">τηλεοπτική σειρά</rdfs:label><rdfs:label xml:lang="fr">émission de télévision</rdfs:label><rdfs:label xml:lang="en">television show</rdfs:label><rdfs:label xml:lang="ja">テレビ番組</rdfs:label><rdfs:label xml:lang="sl">televizijska oddaja</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Work"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/LaunchPad"> + <rdfs:label xml:lang="en">launch pad</rdfs:label><rdfs:label xml:lang="el">ράμπα φορτώσεως</rdfs:label><rdfs:label xml:lang="fr">rampe de lancement</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Infrastructure"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/CyclingLeague"> + <rdfs:label xml:lang="en">cycling league</rdfs:label><rdfs:label xml:lang="el">Ομοσπονδία Ποδηλασίας</rdfs:label><rdfs:label xml:lang="fr">ligue de cyclisme</rdfs:label><rdfs:comment xml:lang="en">a group of sports teams that compete against each other in Cycling</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/SportsLeague"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Territory"> + <rdfs:label xml:lang="en">territory</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/CurlingLeague"> + <rdfs:label xml:lang="en">curling league</rdfs:label><rdfs:label xml:lang="el">πρωτάθλημα curling</rdfs:label><rdfs:label xml:lang="fr">ligue de curling</rdfs:label><rdfs:comment xml:lang="en">a group of sports teams that compete against each other in Curling</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/SportsLeague"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/MusicFestival"> + <rdfs:label xml:lang="el">φεστιβάλ μουσικής</rdfs:label><rdfs:label xml:lang="fr">festival de musique</rdfs:label><rdfs:label xml:lang="en">music festival</rdfs:label><rdfs:label xml:lang="nl">muziekfestival</rdfs:label><rdfs:label xml:lang="ko">음악제</rdfs:label><rdfs:label xml:lang="es">festival de música</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Event"/><rdfs:subClassOf rdf:resource="http://schema.org/Festival"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Tax"> + <rdfs:label xml:lang="el">φόρος</rdfs:label><rdfs:label xml:lang="fr">taxe</rdfs:label><rdfs:label xml:lang="en">tax</rdfs:label><rdfs:label xml:lang="ja">租税</rdfs:label><rdfs:label xml:lang="nl">belasting</rdfs:label><rdfs:label xml:lang="es">impuesto</rdfs:label><rdfs:label xml:lang="de">Steuer</rdfs:label><rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Racecourse"> + <rdfs:label xml:lang="en">racecourse</rdfs:label><rdfs:label xml:lang="it">ippodromo</rdfs:label><rdfs:comment xml:lang="en">A racecourse is an alternate term for a horse racing track, found in countries such as the United Kingdom, Australia, Hong Kong, and the United Arab Emirates.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/RaceTrack"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/IceHockeyPlayer"> + <rdfs:label xml:lang="en">ice hockey player</rdfs:label><rdfs:label xml:lang="el">παίκτης χόκεϋ</rdfs:label><rdfs:label xml:lang="fr">joueur de hockey sur glace</rdfs:label><rdfs:label xml:lang="nl">ijshockeyspeler</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Athlete"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/PublicTransitSystem"> + <rdfs:label xml:lang="en">public transit system</rdfs:label><rdfs:label xml:lang="de">Öffentliches Personenverkehrssystem</rdfs:label><rdfs:comment xml:lang="de">Ein System des Öffentlichen Personenverkehrs auf Straße, Schiene oder Wasser.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/RouteOfTransportation"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/BloodType"> + <rdfs:label xml:lang="el">ομάδα αίματος</rdfs:label><rdfs:label xml:lang="en">academic journal</rdfs:label><rdfs:label xml:lang="ja">血液型</rdfs:label><rdfs:label xml:lang="nl">bloedgroep</rdfs:label><rdfs:label xml:lang="pt">tipo sanguíneo</rdfs:label><rdfs:label xml:lang="de">Blutgruppe</rdfs:label><rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/FootballMatch"> + <rdfs:label xml:lang="en">football match</rdfs:label><rdfs:label xml:lang="el">αγώνας ποδοσφαίρου</rdfs:label><rdfs:label xml:lang="pl">mecz piłki nożnej</rdfs:label><rdfs:label xml:lang="es">partido de fútbol</rdfs:label><rdfs:comment xml:lang="en">a competition between two football teams</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/SportsEvent"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/MouseGeneLocation"> + <rdfs:label xml:lang="en">MouseGeneLocation</rdfs:label><rdfs:label xml:lang="ja">マウス遺伝子座</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/GeneLocation"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/MilitaryConflict"> + <rdfs:label xml:lang="en">military conflict</rdfs:label><rdfs:label xml:lang="el">στρατιωτική σύγκρουση</rdfs:label><rdfs:label xml:lang="fr">conflit militaire</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Event"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/FilmFestival"> + <rdfs:label xml:lang="el">φεστιβάλ κινηματογράφου</rdfs:label><rdfs:label xml:lang="fr">festival du film</rdfs:label><rdfs:label xml:lang="en">film festival</rdfs:label><rdfs:label xml:lang="ja">映画祭</rdfs:label><rdfs:label xml:lang="nl">filmfestival</rdfs:label><rdfs:label xml:lang="ko">영화제</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Event"/><rdfs:subClassOf rdf:resource="http://schema.org/Festival"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Beverage"> + <rdfs:label xml:lang="el">αναψυκτικό</rdfs:label><rdfs:label xml:lang="fr">boisson</rdfs:label><rdfs:label xml:lang="en">beverage</rdfs:label><rdfs:label xml:lang="it">bevanda</rdfs:label><rdfs:label xml:lang="ja">飲料</rdfs:label><rdfs:label xml:lang="nl">drank</rdfs:label><rdfs:label xml:lang="ko">음료</rdfs:label><rdfs:label xml:lang="es">bebida</rdfs:label><rdfs:label xml:lang="de">Getränk</rdfs:label><rdfs:comment xml:lang="en">A drink, or beverage, is a liquid which is specifically prepared for human consumption.</rdfs:comment><rdfs:comment xml:lang="de">Ein Getränk ist eine zum Trinken zubereitete Flüssigkeit. Getränke werden entweder zum Stillen von Durst und damit zur Wasseraufnahme des Körpers, als Nahrungsmittel oder auch als reine Genussmittel aufgenommen.</rdfs:comment><rdfs:comment xml:lang="el">Ένα πόσιμο υγρό ρόφημα, συνήθως με μηδενική ή ελάχιστη περιεκτικότητα αλκοόλης.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Food"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/SpaceShuttle"> + <rdfs:label xml:lang="en">space shuttle</rdfs:label><rdfs:label xml:lang="fr">navette spatiale</rdfs:label><rdfs:label xml:lang="el">διαστημικό λεωφορείο</rdfs:label><rdfs:label xml:lang="ko">우주 왕복선</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/MeanOfTransportation"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Prison"> + <rdfs:label xml:lang="el">φυλακή</rdfs:label><rdfs:label xml:lang="fr">prison</rdfs:label><rdfs:label xml:lang="en">prison</rdfs:label><rdfs:label xml:lang="it">prigione</rdfs:label><rdfs:label xml:lang="nl">gevangenis</rdfs:label><rdfs:label xml:lang="de">gefängnis</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Building"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Archaea"> + <rdfs:label xml:lang="el">αρχαία</rdfs:label><rdfs:label xml:lang="fr">archées</rdfs:label><rdfs:label xml:lang="en">archaea</rdfs:label><rdfs:label xml:lang="it">archei</rdfs:label><rdfs:label xml:lang="ja">古細菌</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Species"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/HandballPlayer"> + <rdfs:label xml:lang="en">handball player</rdfs:label><rdfs:label xml:lang="el">παίκτης του handball</rdfs:label><rdfs:label xml:lang="fr">joueur de handball</rdfs:label><rdfs:label xml:lang="nl">handballer</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Athlete"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Religious"> + <rdfs:label xml:lang="en">religious</rdfs:label><rdfs:label xml:lang="fr">religieux</rdfs:label><rdfs:label xml:lang="el">θρησκευτικός</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Arachnid"> + <rdfs:label xml:lang="el">αραχνοειδές</rdfs:label><rdfs:label xml:lang="fr">arachnides</rdfs:label><rdfs:label xml:lang="en">arachnid</rdfs:label><rdfs:label xml:lang="it">aracnide</rdfs:label><rdfs:label xml:lang="ja">クモ綱</rdfs:label><rdfs:label xml:lang="nl">spinachtigen</rdfs:label><rdfs:label xml:lang="pt">aracnídeos</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Animal"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Installment"> + <rdfs:label xml:lang="en">Installment</rdfs:label><rdfs:label xml:lang="el">δόση</rdfs:label><rdfs:label xml:lang="fr">Versement</rdfs:label><rdfs:label xml:lang="nl">Deel (van werk)</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/WrittenWork"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Department"> + <rdfs:label xml:lang="en">department</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Painter"> + <rdfs:label xml:lang="en">painter</rdfs:label><rdfs:label xml:lang="fr">peintre</rdfs:label><rdfs:label xml:lang="de">Maler</rdfs:label><rdfs:label xml:lang="nl">schilder</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Artist"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/LineOfFashion"> + <rdfs:label xml:lang="en">line of fashion</rdfs:label><rdfs:label xml:lang="nl">modelijn</rdfs:label><rdfs:label xml:lang="fr">type de couture</rdfs:label><rdfs:comment xml:lang="en">A coherent type of clothing or dressing following a particular fashion</rdfs:comment><rdfs:comment xml:lang="nl">Een samenhangend geheel van kleding in een bepaalde stijl volgens een bepaalde mode.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Work"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Park"> + <rdfs:label xml:lang="el">πάρκο</rdfs:label><rdfs:label xml:lang="fr">parc</rdfs:label><rdfs:label xml:lang="en">park</rdfs:label><rdfs:label xml:lang="ja">公園</rdfs:label><rdfs:label xml:lang="nl">park</rdfs:label><rdfs:label xml:lang="ko">공원</rdfs:label><rdfs:label xml:lang="pt">parque</rdfs:label><rdfs:label xml:lang="de">Park</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/ArchitecturalStructure"/><owl:equivalentClass rdf:resource="http://schema.org/Park"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/CyclingTeam"> + <rdfs:label xml:lang="en">cycling team</rdfs:label><rdfs:label xml:lang="it">squadra di ciclismo</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/SportsTeam"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Cricketer"> + <rdfs:label xml:lang="en">cricketer</rdfs:label><rdfs:label xml:lang="el">παίκτης του κρίκετ</rdfs:label><rdfs:label xml:lang="fr">joueur de cricket</rdfs:label><rdfs:label xml:lang="nl">cricketspeler</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Athlete"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/FloweringPlant"> + <rdfs:label xml:lang="el">ανθοφόρο φυτό</rdfs:label><rdfs:label xml:lang="fr">angiospermes</rdfs:label><rdfs:label xml:lang="en">flowering plant</rdfs:label><rdfs:label xml:lang="it">magnoliofita</rdfs:label><rdfs:label xml:lang="ja">被子植物</rdfs:label><rdfs:label xml:lang="de">bedecktsamige Pflanze</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Plant"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/TelevisionEpisode"> + <rdfs:label xml:lang="en">television episode</rdfs:label><rdfs:label xml:lang="el">επεισόδιο τηλεόρασης</rdfs:label><rdfs:label xml:lang="fr">épisode télévisé</rdfs:label><rdfs:label xml:lang="es">capítulo de serie de televisión</rdfs:label><rdfs:comment xml:lang="en">A television episode is a part of serial television program.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Work"/><owl:equivalentClass rdf:resource="http://schema.org/TVEpisode"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Gnetophytes"> + <rdfs:label xml:lang="ja">グネツム綱</rdfs:label><rdfs:label xml:lang="en">Gnetophytes</rdfs:label><rdfs:label xml:lang="el">Gnetophytes</rdfs:label><rdfs:label xml:lang="fr">gnétophytes</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Plant"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Jockey"> + <rdfs:label xml:lang="en">jockey (horse racer)</rdfs:label><rdfs:label xml:lang="el">αναβάτης αλόγου αγώνων</rdfs:label><rdfs:label xml:lang="ja">騎手</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Athlete"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/SportCompetitionResult"> + <rdfs:label xml:lang="en">results of a sport competition</rdfs:label><rdfs:label xml:lang="el">αποτελέσματα αθλητικού διαγωνισμού</rdfs:label><rdfs:label xml:lang="fr">résultats d'une compétition sportive</rdfs:label><rdfs:label xml:lang="es">resultados de una competición deportiva</rdfs:label><rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Protein"> + <rdfs:label xml:lang="el">πρωτεΐνη</rdfs:label><rdfs:label xml:lang="fr">protéine</rdfs:label><rdfs:label xml:lang="en">protein</rdfs:label><rdfs:label xml:lang="it">proteina</rdfs:label><rdfs:label xml:lang="ja">タンパク質</rdfs:label><rdfs:label xml:lang="nl">proteïne</rdfs:label><rdfs:label xml:lang="ko">단백질</rdfs:label><rdfs:label xml:lang="pt">proteína</rdfs:label><rdfs:label xml:lang="de">protein</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Biomolecule"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/HumanGeneLocation"> + <rdfs:label xml:lang="en">HumanGeneLocation</rdfs:label><rdfs:label xml:lang="el">τοποθεσία του ανθρώπινου γονιδίου</rdfs:label><rdfs:label xml:lang="ja">ヒト遺伝子座</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/GeneLocation"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/SpeedwayTeam"> + <rdfs:label xml:lang="en">speedway team</rdfs:label><rdfs:label xml:lang="pl">klub żużlowy</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/SportsTeam"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/ChristianPatriarch"> + <rdfs:label xml:lang="el">χριστιανός πατριάρχης</rdfs:label><rdfs:label xml:lang="en">Christian Patriarch</rdfs:label><rdfs:label xml:lang="it">patriarca cristiano</rdfs:label><rdfs:label xml:lang="nl">christelijk patriarch</rdfs:label><rdfs:label xml:lang="pl">patriarcha chrześcijański</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Cleric"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/GovernmentType"> + <rdfs:label xml:lang="en">Government Type</rdfs:label><rdfs:label xml:lang="fr">régime politique</rdfs:label><rdfs:label xml:lang="el">Είδη Διακυβέρνησης</rdfs:label><rdfs:comment xml:lang="en">a form of government</rdfs:comment><rdfs:comment xml:lang="nl">regeringsvorm</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/TopicalConcept"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Town"> + <rdfs:label xml:lang="el">πόλη</rdfs:label><rdfs:label xml:lang="fr">ville</rdfs:label><rdfs:label xml:lang="en">town</rdfs:label><rdfs:label xml:lang="ja">町</rdfs:label><rdfs:label xml:lang="nl">stad</rdfs:label><rdfs:label xml:lang="pl">miasteczko</rdfs:label><rdfs:comment xml:lang="en">a settlement ranging from a few hundred to several thousand (occasionally hundreds of thousands). The precise meaning varies between countries and is not always a matter of legal definition. Usually, a town is thought of as larger than a village but smaller than a city, though there are exceptions to this rule.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Settlement"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/ReligiousBuilding"> + <rdfs:label xml:lang="fr">édifice religieux</rdfs:label><rdfs:label xml:lang="en">religious building</rdfs:label><rdfs:label xml:lang="it">edificio religioso</rdfs:label><rdfs:label xml:lang="ja">宗教建築</rdfs:label><rdfs:label xml:lang="nl">cultusgebouw</rdfs:label><rdfs:label xml:lang="es">edificio religioso</rdfs:label><rdfs:comment xml:lang="en">An establishment or her location where a group of people (a congregation) comes to perform acts of religious study, honor, or devotion.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Building"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/MotorcycleRider"> + <rdfs:label xml:lang="en">motorcycle rider</rdfs:label><rdfs:label xml:lang="el">μοτοσυκλετιστής</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Athlete"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/ClericalAdministrativeRegion"> + <rdfs:label xml:lang="en">clerical administrative region</rdfs:label><rdfs:label xml:lang="fr">région administrative dans une église</rdfs:label><rdfs:label xml:lang="nl">kerkelijk bestuurlijk gebied</rdfs:label><rdfs:comment xml:lang="en">An administrative body governing some territorial unity, in this case a clerical administrative body</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/AdministrativeRegion"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/PowerStation"> + <rdfs:label xml:lang="en">power station</rdfs:label><rdfs:label xml:lang="ja">発電所</rdfs:label><rdfs:label xml:lang="fr">centrale électrique</rdfs:label><rdfs:label xml:lang="es">central eléctrica</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Infrastructure"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Engineer"> + <rdfs:label xml:lang="el">μηχανικός</rdfs:label><rdfs:label xml:lang="fr">ingénieur</rdfs:label><rdfs:label xml:lang="en">engineer</rdfs:label><rdfs:label xml:lang="it">ingeniere</rdfs:label><rdfs:label xml:lang="ja">技術者</rdfs:label><rdfs:label xml:lang="nl">ingenieur</rdfs:label><rdfs:label xml:lang="es">ingeniero</rdfs:label><rdfs:label xml:lang="de">Ingenieur</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Name"> + <rdfs:label xml:lang="el">όνομα</rdfs:label><rdfs:label xml:lang="fr">nom</rdfs:label><rdfs:label xml:lang="en">name</rdfs:label><rdfs:label xml:lang="ja">名前</rdfs:label><rdfs:label xml:lang="nl">naam</rdfs:label><rdfs:label xml:lang="pt">nome</rdfs:label><rdfs:label xml:lang="de">Name</rdfs:label><rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/SumoWrestler"> + <rdfs:label xml:lang="en">sumo wrestler</rdfs:label><rdfs:label xml:lang="nl">sumoworstelaar</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Wrestler"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/FormulaOneRacer"> + <rdfs:label xml:lang="en">Formula One racer</rdfs:label><rdfs:label xml:lang="el">πιλότος της φόρμουλας ένα</rdfs:label><rdfs:label xml:lang="fr">pilote de formule 1</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/RacingDriver"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Conifer"> + <rdfs:label xml:lang="el">κωνοφόρο</rdfs:label><rdfs:label xml:lang="fr">conifere</rdfs:label><rdfs:label xml:lang="en">conifer</rdfs:label><rdfs:label xml:lang="ja">球果植物門</rdfs:label><rdfs:label xml:lang="nl">conifeer</rdfs:label><rdfs:comment xml:lang="it">Le conifere sono piante vascolari, con semi contenuti in un cono. Sono piante legnose, perlopiù sono alberi e solo poche sono arbusti.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Plant"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/SpeedwayLeague"> + <rdfs:label xml:lang="en">speedway league</rdfs:label><rdfs:label xml:lang="el">πρωτάθλημα αυτοκινητοδρόμου</rdfs:label><rdfs:label xml:lang="fr">ligue de speedway</rdfs:label><rdfs:comment xml:lang="en">A group of sports teams that compete against each other in motorcycle speedway racing.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/SportsLeague"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/VideogamesLeague"> + <rdfs:label xml:lang="en">videogames league</rdfs:label><rdfs:label xml:lang="fr">ligue de jeux vidéo</rdfs:label><rdfs:comment xml:lang="en">A group of sports teams or person that compete against each other in videogames.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/SportsLeague"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Company"> + <rdfs:label xml:lang="el">εταιρία</rdfs:label><rdfs:label xml:lang="fr">entreprise</rdfs:label><rdfs:label xml:lang="en">company</rdfs:label><rdfs:label xml:lang="ja">会社</rdfs:label><rdfs:label xml:lang="nl">bedrijf</rdfs:label><rdfs:label xml:lang="ko">회사</rdfs:label><rdfs:label xml:lang="pt">empresa</rdfs:label><rdfs:label xml:lang="de">Unternehmen</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Organisation"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Locomotive"> + <rdfs:label xml:lang="el">κινητήριος</rdfs:label><rdfs:label xml:lang="fr">locomotive</rdfs:label><rdfs:label xml:lang="en">locomotive</rdfs:label><rdfs:label xml:lang="nl">locomotief</rdfs:label><rdfs:label xml:lang="de">Lokomotive</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/MeanOfTransportation"/><rdfs:subClassOf rdf:resource="http://schema.org/Product"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Wrestler"> + <rdfs:label xml:lang="el">παλαιστής</rdfs:label><rdfs:label xml:lang="fr">lutteur</rdfs:label><rdfs:label xml:lang="en">wrestler</rdfs:label><rdfs:label xml:lang="ja">レスラー</rdfs:label><rdfs:label xml:lang="nl">worstelaar</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Athlete"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/MotorcycleRacingLeague"> + <rdfs:label xml:lang="en">motorcycle racing league</rdfs:label><rdfs:label xml:lang="fr">ligue de courses motocycliste</rdfs:label><rdfs:comment xml:lang="en">a group of sports teams or bikerider that compete against each other in Motorcycle Racing</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/SportsLeague"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Sales"> + <rdfs:label xml:lang="en">sales</rdfs:label><rdfs:label xml:lang="el">εκπτώσεις</rdfs:label><rdfs:label xml:lang="fr">vente</rdfs:label><rdfs:label xml:lang="ja">販売</rdfs:label><rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/AdultActor"> + <rdfs:label xml:lang="el">ενήλικας (πορνογραφικός) ηθοποιός</rdfs:label><rdfs:label xml:lang="fr">acteur adulte</rdfs:label><rdfs:label xml:lang="en">adult (pornographic) actor</rdfs:label><rdfs:label xml:lang="it">attore porno</rdfs:label><rdfs:label xml:lang="ja">ポルノ女優</rdfs:label><rdfs:label xml:lang="nl">pornografisch acteur</rdfs:label><rdfs:label xml:lang="pt">ator adulto</rdfs:label><rdfs:label xml:lang="es">actor adulto</rdfs:label><rdfs:label xml:lang="de">pornographischer Schauspieler</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Actor"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/GridironFootballPlayer"> + <rdfs:label xml:lang="en">gridiron football player</rdfs:label><rdfs:label xml:lang="fr">joueur de football américain gridiron</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Athlete"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/ChristianDoctrine"> + <rdfs:label xml:lang="en">Christian Doctrine</rdfs:label><rdfs:label xml:lang="el">Χριστιανικό Δόγμα</rdfs:label><rdfs:label xml:lang="nl">Christelijke leer</rdfs:label><rdfs:label xml:lang="it">dottrina cristiana</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/TopicalConcept"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/SoccerLeague"> + <rdfs:label xml:lang="en">soccer league</rdfs:label><rdfs:label xml:lang="el">Ομοσπονδία Ποδοσφαίρου</rdfs:label><rdfs:label xml:lang="fr">ligue de football</rdfs:label><rdfs:comment xml:lang="en">A group of sports teams that compete against each other in soccer.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/SportsLeague"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/TeamMember"> + <rdfs:label xml:lang="en">Team member</rdfs:label><rdfs:label xml:lang="fr">coéquipier</rdfs:label><rdfs:label xml:lang="de">Teammitglied</rdfs:label><rdfs:label xml:lang="el">Μέλος ομάδας</rdfs:label><rdfs:comment xml:lang="en">A member of an athletic team.</rdfs:comment><rdfs:comment xml:lang="el">Ένα μέλος μιας αθλητικής ομάδας.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Athlete"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/GeneLocation"> + <rdfs:label xml:lang="en">GeneLocation</rdfs:label><rdfs:label xml:lang="el">θέση γονιδίων</rdfs:label><rdfs:label xml:lang="ja">遺伝子座</rdfs:label><rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/RoadJunction"> + <rdfs:label xml:lang="en">road junction</rdfs:label><rdfs:label xml:lang="de">Straßenkreuzung</rdfs:label><rdfs:label xml:lang="nl">wegkruising</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/RouteOfTransportation"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Treadmill"> + <rdfs:label xml:lang="el">Μύλος</rdfs:label><rdfs:label xml:lang="en">Treadmill</rdfs:label><rdfs:label xml:lang="nl">Rosmolen</rdfs:label><rdfs:comment xml:lang="en">A mill driven by the tractive power of horses, donkeys or even people</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Mill"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Brain"> + <rdfs:label xml:lang="el">εγκέφαλος</rdfs:label><rdfs:label xml:lang="fr">cerveau</rdfs:label><rdfs:label xml:lang="en">brain</rdfs:label><rdfs:label xml:lang="it">cervello</rdfs:label><rdfs:label xml:lang="ja">脳</rdfs:label><rdfs:label xml:lang="es">cerebro</rdfs:label><rdfs:label xml:lang="de">Gehirn</rdfs:label><rdfs:comment xml:lang="el">Το βασικό όργανο του νευρικού συστήματος των ζώων, το οποίο καθορίζει ασυνείδητες και συνειδητές λειτουργίες. Ο όρος χρησιμοποιείται πλέον και για τον χαρακτηρισμό των καθοριστικότερων στοιχείων μίας μηχανής ή ενός συνόλου πραγμάτων.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/AnatomicalStructure"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/ProtohistoricalPeriod"> + <rdfs:label xml:lang="en">protohistorical period</rdfs:label><rdfs:label xml:lang="nl">periode in de protohistorie</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/TimePeriod"/><owl:disjointWith rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/WomensTennisAssociationTournament"> + <rdfs:label xml:lang="en">Women's Tennis Association tournament</rdfs:label><rdfs:label xml:lang="fr">Tournoi de la Women's Tennis Association</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/SportsEvent"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/VolleyballCoach"> + <rdfs:label xml:lang="en">volleyball coach</rdfs:label><rdfs:label xml:lang="el">προπονητής βόλλεϋ</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Settlement"> + <rdfs:label xml:lang="el">οικισμός</rdfs:label><rdfs:label xml:lang="eu">hiri orokor</rdfs:label><rdfs:label xml:lang="fr">municipalité</rdfs:label><rdfs:label xml:lang="en">municipality</rdfs:label><rdfs:label xml:lang="nl">gemeente</rdfs:label><rdfs:label xml:lang="ko">도시</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Software"> + <rdfs:label xml:lang="el">λογισμικό</rdfs:label><rdfs:label xml:lang="fr">logiciel</rdfs:label><rdfs:label xml:lang="en">software</rdfs:label><rdfs:label xml:lang="ja">ソフトウェア</rdfs:label><rdfs:label xml:lang="nl">software</rdfs:label><rdfs:label xml:lang="ko">소프트웨어</rdfs:label><rdfs:label xml:lang="sl">programska oprema</rdfs:label><rdfs:label xml:lang="de">Software</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Work"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Opera"> + <rdfs:label xml:lang="el">όπερα</rdfs:label><rdfs:label xml:lang="fr">opéra</rdfs:label><rdfs:label xml:lang="en">opera</rdfs:label><rdfs:label xml:lang="it">opera</rdfs:label><rdfs:label xml:lang="ja">オペラ</rdfs:label><rdfs:label xml:lang="nl">opera</rdfs:label><rdfs:label xml:lang="es">όpera</rdfs:label><rdfs:label xml:lang="de">oper</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/MusicalWork"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/LacrossePlayer"> + <rdfs:label xml:lang="en">lacrosse player</rdfs:label><rdfs:label xml:lang="el">παίκτης χόκεϋ σε χόρτο</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Athlete"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/ControlledDesignationOfOriginWine"> + <rdfs:label xml:lang="en">Controlled designation of origin wine</rdfs:label><rdfs:label xml:lang="el">Ελεγμένη ονομασία προέλευσης κρασιού</rdfs:label><rdfs:label xml:lang="fr">vin A.O.C.</rdfs:label><rdfs:label xml:lang="it">vino D.O.C.</rdfs:label><rdfs:comment xml:lang="en">A quality assurance label for wines</rdfs:comment><rdfs:comment xml:lang="el">Μια ετικέτα διασφάλισης της ποιότητας των οίνων</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Wine"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/President"> + <rdfs:label xml:lang="el">πρόεδρος</rdfs:label><rdfs:label xml:lang="fr">président</rdfs:label><rdfs:label xml:lang="en">president</rdfs:label><rdfs:label xml:lang="ja">大統領</rdfs:label><rdfs:label xml:lang="ko">국가원수</rdfs:label><rdfs:label xml:lang="pl">prezydent</rdfs:label><rdfs:label xml:lang="de">Präsident</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Politician"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/RacingDriver"> + <rdfs:label xml:lang="en">racing driver</rdfs:label><rdfs:label xml:lang="el">οδηγός αγώνων</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Athlete"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/ArchitecturalStructure"> + <rdfs:label xml:lang="el">αρχιτεκτονική κατασκευή</rdfs:label><rdfs:label xml:lang="fr">structure architecturale</rdfs:label><rdfs:label xml:lang="en">architectural structure</rdfs:label><rdfs:label xml:lang="it">struttura architettonica</rdfs:label><rdfs:label xml:lang="ja">構造物</rdfs:label><rdfs:label xml:lang="nl">bouwkundige structuur</rdfs:label><rdfs:label xml:lang="es">estructura arquitectural</rdfs:label><rdfs:label xml:lang="de">Bauwerk</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Place"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/TennisPlayer"> + <rdfs:label xml:lang="el">παίχτης τένις</rdfs:label><rdfs:label xml:lang="fr">joueur de tennis</rdfs:label><rdfs:label xml:lang="en">tennis player</rdfs:label><rdfs:label xml:lang="nl">tennisser</rdfs:label><rdfs:label xml:lang="pt">jogador de tennis</rdfs:label><rdfs:label xml:lang="es">tenista</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Athlete"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/DigitalCamera"> + <rdfs:label xml:lang="en">digital camera</rdfs:label><rdfs:label xml:lang="fr">appareil photo numérique</rdfs:label><rdfs:label xml:lang="nl">digitale camera</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Camera"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Event"> + <rdfs:label xml:lang="el">γεγονός</rdfs:label><rdfs:label xml:lang="fr">évènement</rdfs:label><rdfs:label xml:lang="en">event</rdfs:label><rdfs:label xml:lang="ja">イベント</rdfs:label><rdfs:label xml:lang="nl">gebeurtenis</rdfs:label><rdfs:label xml:lang="pt">evento</rdfs:label><rdfs:label xml:lang="de">Ereignis</rdfs:label><rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/><owl:equivalentClass rdf:resource="http://schema.org/Event"/><owl:disjointWith rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Band"> + <rdfs:label xml:lang="el">μουσικό συγκρότημα</rdfs:label><rdfs:label xml:lang="fr">groupe de musique</rdfs:label><rdfs:label xml:lang="en">Band</rdfs:label><rdfs:label xml:lang="it">gruppo musicale</rdfs:label><rdfs:label xml:lang="ja">バンド_(音楽)</rdfs:label><rdfs:label xml:lang="nl">band</rdfs:label><rdfs:label xml:lang="ko">음악 그룹</rdfs:label><rdfs:label xml:lang="pt">banda</rdfs:label><rdfs:label xml:lang="es">banda</rdfs:label><rdfs:label xml:lang="de">Musikgruppe</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Organisation"/><rdfs:subClassOf rdf:resource="http://schema.org/MusicGroup"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Regency"> + <rdfs:label xml:lang="en">regency</rdfs:label><rdfs:label xml:lang="id">kabupaten</rdfs:label><rdfs:comment xml:lang="id">bagian wilayah administratif dibawah provinsi</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/GovernmentalAdministrativeRegion"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Country"> + <rdfs:label xml:lang="el">χώρα</rdfs:label><rdfs:label xml:lang="fr">pays</rdfs:label><rdfs:label xml:lang="ru">Государство</rdfs:label><rdfs:label xml:lang="en">country</rdfs:label><rdfs:label xml:lang="ja">国</rdfs:label><rdfs:label xml:lang="nl">land</rdfs:label><rdfs:label xml:lang="ko">나라</rdfs:label><rdfs:label xml:lang="sl">država</rdfs:label><rdfs:label xml:lang="de">Staat</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><owl:equivalentClass rdf:resource="http://schema.org/Country"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/BullFighter"> + <rdfs:label xml:lang="el">ταυρομάχος</rdfs:label><rdfs:label xml:lang="fr">torero</rdfs:label><rdfs:label xml:lang="en">bullfighter</rdfs:label><rdfs:label xml:lang="it">torero</rdfs:label><rdfs:label xml:lang="ja">闘牛士</rdfs:label><rdfs:label xml:lang="nl">stierenvechter</rdfs:label><rdfs:label xml:lang="es">torero</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Athlete"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/FrenchLocality"> + <rdfs:label xml:lang="en">french locality</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Locality"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Fish"> + <rdfs:label xml:lang="el">ψάρι</rdfs:label><rdfs:label xml:lang="fr">poisson</rdfs:label><rdfs:label xml:lang="en">fish</rdfs:label><rdfs:label xml:lang="ja">魚類</rdfs:label><rdfs:label xml:lang="nl">vis</rdfs:label><rdfs:label xml:lang="pt">peixe</rdfs:label><rdfs:label xml:lang="de">Fisch</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Animal"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Magazine"> + <rdfs:label xml:lang="el">Περιοδικό</rdfs:label><rdfs:label xml:lang="fr">magazine</rdfs:label><rdfs:label xml:lang="en">magazine</rdfs:label><rdfs:label xml:lang="ja">雑誌</rdfs:label><rdfs:label xml:lang="ko">잡지</rdfs:label><rdfs:label xml:lang="de">Publikumszeitschrift</rdfs:label><rdfs:comment xml:lang="en">Magazines, periodicals, glossies or serials are publications, generally published on a regular schedule, containing a variety of articles. They are generally financed by advertising, by a purchase price, by pre-paid magazine subscriptions, or all three.</rdfs:comment><rdfs:comment xml:lang="el">Περιοδικά ή γυαλιστερές φωτογραφίες περιοδικών εκδόσεων δημοσιεύονται σε τακτά χρονικά διαστήματα, περιέχει μια ποικιλία από αντικείμενα.Γενικά χρηματοδοτείται από διαφημίσεις, με τιμή αγοράς, με προπληρωμένες συνδρομές περιοδικών, ή και των τριών.</rdfs:comment><rdfs:comment xml:lang="de">Als Publikumszeitschrift (auch Magazin) bezeichnet man eine Gattung von Zeitschriften, die sich an eine sehr breite Zielgruppe wendet und keine fachlichen Prägungen oder andere spezifische Merkmale voraussetzt. Publikumszeitschriften dienen der Unterhaltung und Information, sie sollen unangestrengt gelesen werden können.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/PeriodicalLiterature"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Galaxy"> + <rdfs:label xml:lang="el">γαλαξίας</rdfs:label><rdfs:label xml:lang="fr">galaxie</rdfs:label><rdfs:label xml:lang="en">galaxy</rdfs:label><rdfs:label xml:lang="tr">galaksi</rdfs:label><rdfs:label xml:lang="ja">銀河</rdfs:label><rdfs:label xml:lang="pt">galáxia</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/CelestialBody"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Manhwa"> + <rdfs:label xml:lang="en">manhwa</rdfs:label><rdfs:label xml:lang="el">manhwa</rdfs:label><rdfs:comment xml:lang="en">Korean term for comics and print cartoons</rdfs:comment><rdfs:comment xml:lang="el">Κορεάτικος όρος για τα κόμικς και τα κινούμενα σχέδια εκτύπωσης</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Comics"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/OrganisationMember"> + <rdfs:label xml:lang="en">Organisation member</rdfs:label><rdfs:label xml:lang="el">Μέλος οργανισμού</rdfs:label><rdfs:comment xml:lang="en">A member of an organisation.</rdfs:comment><rdfs:comment xml:lang="el">Μέλος ενός οργανισμού.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/TelevisionSeason"> + <rdfs:label xml:lang="en">television season</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Work"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Case"> + <rdfs:label xml:lang="en">case</rdfs:label><rdfs:label xml:lang="de">Sache</rdfs:label><rdfs:label xml:lang="fr">dossier</rdfs:label><rdfs:label xml:lang="nl">zaak</rdfs:label><rdfs:comment xml:lang="en">A case is the total of work done to prepare for an administrative or business decision. As a rule, a case is reflected in a set of documents.</rdfs:comment><rdfs:comment xml:lang="de">Een zaak is het geheel aan werk gedaan om tot een bestuurlijke of zakelijke beslissing te komen. Een zaak slaat doorgaans neer in een verzameling documenten.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/UnitOfWork"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/LawFirm"> + <rdfs:label xml:lang="el">εταιρεία δικηγόρων</rdfs:label><rdfs:label xml:lang="en">law firm</rdfs:label><rdfs:label xml:lang="ja">法律事務所</rdfs:label><rdfs:label xml:lang="nl">advocatenkantoor</rdfs:label><rdfs:label xml:lang="es">firma de abogados</rdfs:label><rdfs:label xml:lang="de">Anwaltskanzlei</rdfs:label><rdfs:comment xml:lang="en">A law firm is a business entity formed by one or more lawyers to engage in the practice of law. The primary service provided by a law firm is to advise clients (individuals or corporations) about their legal rights and responsibilities, and to represent their clients in civil or criminal cases, business transactions, and other matters in which legal advice and other assistance are sought.</rdfs:comment><rdfs:comment xml:lang="de">Als Anwaltskanzlei bezeichnet man die Büroräume und das Unternehmen oder den Betrieb eines Rechtsanwalts oder mehrerer Rechtsanwälte.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Company"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/WaterwayTunnel"> + <rdfs:label xml:lang="en">waterway tunnel</rdfs:label><rdfs:label xml:lang="de">Kanaltunnel</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Tunnel"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Airport"> + <rdfs:label xml:lang="el">αεροδρόμιο</rdfs:label><rdfs:label xml:lang="fr">aéroport</rdfs:label><rdfs:label xml:lang="en">airport</rdfs:label><rdfs:label xml:lang="it">aeroporto</rdfs:label><rdfs:label xml:lang="ja">空港</rdfs:label><rdfs:label xml:lang="nl">luchthaven</rdfs:label><rdfs:label xml:lang="ko">공항</rdfs:label><rdfs:label xml:lang="pt">aeroporto</rdfs:label><rdfs:label xml:lang="pl">lotnisko</rdfs:label><rdfs:label xml:lang="es">aeropuerto</rdfs:label><rdfs:label xml:lang="de">Flughafen</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Infrastructure"/><owl:equivalentClass rdf:resource="http://schema.org/Airport"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Boxer"> + <rdfs:label xml:lang="el">πυγμάχος</rdfs:label><rdfs:label xml:lang="fr">boxeur</rdfs:label><rdfs:label xml:lang="en">boxer</rdfs:label><rdfs:label xml:lang="it">pugile</rdfs:label><rdfs:label xml:lang="ja">ボクサー</rdfs:label><rdfs:label xml:lang="nl">bokser</rdfs:label><rdfs:label xml:lang="ko">권투 선수</rdfs:label><rdfs:label xml:lang="pt">boxeador</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Athlete"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Fern"> + <rdfs:label xml:lang="el">φτέρη</rdfs:label><rdfs:label xml:lang="fr">fougères</rdfs:label><rdfs:label xml:lang="en">fern</rdfs:label><rdfs:label xml:lang="it">felce</rdfs:label><rdfs:label xml:lang="ja">シダ植物門</rdfs:label><rdfs:label xml:lang="pt">samambaia</rdfs:label><rdfs:label xml:lang="de">farn</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Plant"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/SoccerPlayer"> + <rdfs:label xml:lang="el">παίχτης ποδοσφαίρου</rdfs:label><rdfs:label xml:lang="fr">joueur de football</rdfs:label><rdfs:label xml:lang="en">soccer player</rdfs:label><rdfs:label xml:lang="nl">voetballer</rdfs:label><rdfs:label xml:lang="ko">축구 선수</rdfs:label><rdfs:label xml:lang="es">futbolista</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Athlete"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Fashion"> + <rdfs:label xml:lang="en">fashion</rdfs:label><rdfs:label xml:lang="nl">mode</rdfs:label><rdfs:label xml:lang="fr">mode</rdfs:label><rdfs:comment xml:lang="en">A type or code of dressing, according to the standards of the time or individual design.</rdfs:comment><rdfs:comment xml:lang="nl">Een stijl of code voor kleding, bepaald door de voorkeursstijl van een tijdperk of door individuele ontwerpers.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/TopicalConcept"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Island"> + <rdfs:label xml:lang="el">νησί</rdfs:label><rdfs:label xml:lang="fr">île</rdfs:label><rdfs:label xml:lang="en">island</rdfs:label><rdfs:label xml:lang="ja">島</rdfs:label><rdfs:label xml:lang="nl">eiland</rdfs:label><rdfs:label xml:lang="ko">섬</rdfs:label><rdfs:label xml:lang="pt">ilha</rdfs:label><rdfs:label xml:lang="pl">wyspa</rdfs:label><rdfs:label xml:lang="de">Insel</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Openswarm"> + <rdfs:label xml:lang="en">Open Swarm</rdfs:label><rdfs:label xml:lang="el">Ανοικτό σμήνος</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Swarm"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/NaturalPlace"> + <rdfs:label xml:lang="en">natural place</rdfs:label><rdfs:label xml:lang="de">natürlicher Ort</rdfs:label><rdfs:label xml:lang="fr">lieu naturel</rdfs:label><rdfs:label xml:lang="nl">natuurgebied</rdfs:label><rdfs:comment xml:lang="en">The natural place encompasses all places occurring naturally in universe.</rdfs:comment><rdfs:comment xml:lang="de">Der natürlicher Ort beinhaltet alle Orte die natürlicherweise im Universum existieren.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Place"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/SoapCharacter"> + <rdfs:label xml:lang="en">soap character</rdfs:label><rdfs:label xml:lang="el">χαρακτήρας σαπουνόπερας</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/FictionalCharacter"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/CollegeCoach"> + <rdfs:label xml:lang="en">college coach</rdfs:label><rdfs:label xml:lang="el">προπονητής κολεγίου</rdfs:label><rdfs:label xml:lang="fr">entraîneur universitaire</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/HumanGene"> + <rdfs:label xml:lang="en">HumanGene</rdfs:label><rdfs:label xml:lang="el">ανθρώπινο γονίδιο</rdfs:label><rdfs:label xml:lang="ja">ヒト遺伝子</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Gene"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Muscle"> + <rdfs:label xml:lang="el">μυς</rdfs:label><rdfs:label xml:lang="fr">muscle</rdfs:label><rdfs:label xml:lang="en">muscle</rdfs:label><rdfs:label xml:lang="ja">筋肉</rdfs:label><rdfs:label xml:lang="nl">spier</rdfs:label><rdfs:label xml:lang="de">Muskel</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/AnatomicalStructure"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/InformationAppliance"> + <rdfs:label xml:lang="en">information appliance</rdfs:label><rdfs:label xml:lang="el">συσκευή πληροφορικής</rdfs:label><rdfs:comment xml:lang="en">An information device such as PDAs or Video game consoles, etc.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Device"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Stream"> + <rdfs:label xml:lang="fr">ruisseau</rdfs:label><rdfs:label xml:lang="en">stream</rdfs:label><rdfs:label xml:lang="it">ruscello</rdfs:label><rdfs:label xml:lang="ja">河川</rdfs:label><rdfs:label xml:lang="de">bach</rdfs:label><rdfs:comment xml:lang="en">a flowing body of water with a current, confined within a bed and stream banks</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/BodyOfWater"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/SportsManager"> + <rdfs:label xml:lang="en">sports manager</rdfs:label><rdfs:label xml:lang="de">Sportmanager</rdfs:label><rdfs:label xml:lang="el">αθλητικός μάνατζερ</rdfs:label><rdfs:label xml:lang="nl">sportbestuurder</rdfs:label><rdfs:comment xml:lang="en">According to the french label sub Soccer, trainership could be meant. However, here a Sportsmanager is interpreted as a member of the board of a sporting club.</rdfs:comment><rdfs:comment xml:lang="el">Σύμφωνα με τη γαλλική ετικέτα Soccer,μπορεί να εννοείται ο προπονητής.Παρ'όλα αυτα,εδώ ένας αθλητικός μάνατζερ μεταφράζεται ως ένα μέλος συμβουλίου ενός αθλητικού κλαμπ.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Hospital"> + <rdfs:label xml:lang="el">νοσοκομείο</rdfs:label><rdfs:label xml:lang="fr">hôpital</rdfs:label><rdfs:label xml:lang="en">hospital</rdfs:label><rdfs:label xml:lang="ja">病院</rdfs:label><rdfs:label xml:lang="nl">ziekenhuis</rdfs:label><rdfs:label xml:lang="ko">병원</rdfs:label><rdfs:label xml:lang="pt">hospital</rdfs:label><rdfs:label xml:lang="de">Krankenhaus</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Building"/><owl:equivalentClass rdf:resource="http://schema.org/Hospital"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/HotSpring"> + <rdfs:label xml:lang="en">hot spring</rdfs:label><rdfs:label xml:lang="ja">温泉</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Place"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Chef"> + <rdfs:label xml:lang="el">αρχιμάγειρος</rdfs:label><rdfs:label xml:lang="fr">chef</rdfs:label><rdfs:label xml:lang="en">chef</rdfs:label><rdfs:label xml:lang="it">chef</rdfs:label><rdfs:label xml:lang="nl">kok</rdfs:label><rdfs:label xml:lang="de">Koch</rdfs:label><rdfs:comment xml:lang="en">a person who cooks professionally for other people</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Philosopher"> + <rdfs:label xml:lang="el">φιλόσοφος</rdfs:label><rdfs:label xml:lang="fr">philosophe</rdfs:label><rdfs:label xml:lang="en">philosopher</rdfs:label><rdfs:label xml:lang="ja">哲学者</rdfs:label><rdfs:label xml:lang="nl">filosoof</rdfs:label><rdfs:label xml:lang="ko">철학자</rdfs:label><rdfs:label xml:lang="de">Philosoph</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/SystemOfLaw"> + <rdfs:label xml:lang="en">System of law</rdfs:label><rdfs:label xml:lang="fr">régime de droit</rdfs:label><rdfs:label xml:lang="nl">rechtssysteem</rdfs:label><rdfs:comment xml:lang="en">a system of legislation, either national or international</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/TopicalConcept"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/BiologicalDatabase"> + <rdfs:label xml:lang="el">Βάση Δεδομένων Βιολογικών Χαρακτηριστικών</rdfs:label><rdfs:label xml:lang="fr">Base de données biologiques</rdfs:label><rdfs:label xml:lang="en">Biological database</rdfs:label><rdfs:label xml:lang="it">database biologico</rdfs:label><rdfs:label xml:lang="ja">バイオデータベース</rdfs:label><rdfs:label xml:lang="nl">biologische databank</rdfs:label><rdfs:label xml:lang="pt">Banco de dados biológico</rdfs:label><rdfs:comment xml:lang="el">Διάφορες βάσεις δεδομένων οι οποίες περιέχουν πληροφορίες που ταυτοποιούν τα βασικά βιολογικά χαρακτηριστικά των οργανισμών. Οι πληροφορίες αυτές συγκροτούνται σε σύνολα βιβλιοθηκών των βασικών δομών των κυττάρων των οργανισμών, όπως οι βιλβιοθήκες νουκλεϊνικών οξέων (genomics) και πρωτεϊνών (proteomics).</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Database"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Church"> + <rdfs:label xml:lang="el">εκκλησία</rdfs:label><rdfs:label xml:lang="fr">église</rdfs:label><rdfs:label xml:lang="en">church</rdfs:label><rdfs:label xml:lang="it">chiesa</rdfs:label><rdfs:label xml:lang="ja">教会</rdfs:label><rdfs:label xml:lang="nl">kerk</rdfs:label><rdfs:label xml:lang="pt">igreja</rdfs:label><rdfs:label xml:lang="es">iglesia</rdfs:label><rdfs:label xml:lang="de">Kirche</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/ReligiousBuilding"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Tunnel"> + <rdfs:label xml:lang="el">τούνελ</rdfs:label><rdfs:label xml:lang="fr">tunnel</rdfs:label><rdfs:label xml:lang="en">tunnel</rdfs:label><rdfs:label xml:lang="ja">トンネル</rdfs:label><rdfs:label xml:lang="nl">tunnel</rdfs:label><rdfs:label xml:lang="de">Tunnel</rdfs:label><rdfs:comment xml:lang="en">A tunnel may be for foot or vehicular road traffic, for rail traffic, or for a canal. Some tunnels are aqueducts to supply water for consumption or for hydroelectric stations or are sewers (http://en.wikipedia.org/wiki/Tunnel).</rdfs:comment><rdfs:comment xml:lang="fr">Un tunnel est une galerie souterraine livrant passage à une voie de communication (chemin de fer, canal, route, chemin piétonnier). (http://fr.wikipedia.org/wiki/Tunnel).</rdfs:comment><rdfs:comment xml:lang="de">Ein Tunnel (auch Tunell) ist eine künstliche Passage, die Berge, Gewässer oder andere Hindernisse (in der Regel als Verkehrsweg) unterquert (http://de.wikipedia.org/wiki/Tunnel).</rdfs:comment><rdfs:comment xml:lang="el">Ένα τούνελ μπορεί να είναι για πεζούς ή για αυτοκινητόδρομους,για σιδηρόδρομους,ή για κανάλια στο νερό.Μερικά τούνελ είναι υδραγωγεία για να παρέχουν νερό προς κατανάλωση ή για υδροηλεκτικούς σταθμούς ή είναι υπόνομοι.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/RouteOfTransportation"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Ginkgo"> + <rdfs:label xml:lang="el">ginkgo</rdfs:label><rdfs:label xml:lang="fr">ginkgo</rdfs:label><rdfs:label xml:lang="en">ginkgo</rdfs:label><rdfs:label xml:lang="it">ginkgo biloba</rdfs:label><rdfs:label xml:lang="ja">銀杏属</rdfs:label><rdfs:label xml:lang="pt">ginkgo</rdfs:label><rdfs:label xml:lang="de">ginkgo</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Plant"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Valley"> + <rdfs:label xml:lang="el">Κοιλάδα</rdfs:label><rdfs:label xml:lang="fr">vallée</rdfs:label><rdfs:label xml:lang="en">valley</rdfs:label><rdfs:label xml:lang="it">valle</rdfs:label><rdfs:label xml:lang="ja">谷</rdfs:label><rdfs:label xml:lang="nl">vallei</rdfs:label><rdfs:label xml:lang="de">tal</rdfs:label><rdfs:comment xml:lang="en">a depression with predominant extent in one direction</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/NaturalPlace"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Writer"> + <rdfs:label xml:lang="el">συγγραφέας</rdfs:label><rdfs:label xml:lang="fr">écrivain</rdfs:label><rdfs:label xml:lang="en">writer</rdfs:label><rdfs:label xml:lang="ja">著作家</rdfs:label><rdfs:label xml:lang="nl">auteur</rdfs:label><rdfs:label xml:lang="ko">작가</rdfs:label><rdfs:label xml:lang="es">escritor</rdfs:label><rdfs:label xml:lang="de">schriftsteller</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Artist"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Automobile"> + <rdfs:label xml:lang="el">αυτοκίνητο</rdfs:label><rdfs:label xml:lang="fr">automobile</rdfs:label><rdfs:label xml:lang="en">automobile</rdfs:label><rdfs:label xml:lang="it">automobile</rdfs:label><rdfs:label xml:lang="ja">自動車</rdfs:label><rdfs:label xml:lang="sl">avtomobil</rdfs:label><rdfs:label xml:lang="pt">automovel</rdfs:label><rdfs:label xml:lang="es">automóvil</rdfs:label><rdfs:label xml:lang="de">Automobil</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/MeanOfTransportation"/><rdfs:subClassOf rdf:resource="http://schema.org/Product"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Ideology"> + <rdfs:label xml:lang="el">ιδεολογία</rdfs:label><rdfs:label xml:lang="fr">idéologie</rdfs:label><rdfs:label xml:lang="en">ideology</rdfs:label><rdfs:label xml:lang="nl">ideologie</rdfs:label><rdfs:label xml:lang="pt">ideologia</rdfs:label><rdfs:label xml:lang="de">Ideologie</rdfs:label><rdfs:comment xml:lang="en">for example: Progressivism_in_the_United_States, Classical_liberalism</rdfs:comment><rdfs:comment xml:lang="el">για παραδειγμα: Προοδευτισμός στις ΗΠΑ, κλασικός φιλελευθερισμός</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/TopicalConcept"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/SupremeCourtOfTheUnitedStatesCase"> + <rdfs:label xml:lang="en">Supreme Court of the United States case</rdfs:label><rdfs:label xml:lang="fr">cas juridique de la Cour suprême des États-Unis</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/LegalCase"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Swarm"> + <rdfs:label xml:lang="en">Swarm</rdfs:label><rdfs:label xml:lang="de">schwarm</rdfs:label><rdfs:label xml:lang="it">stormo</rdfs:label><rdfs:label xml:lang="el">Σμήνος</rdfs:label><rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Community"> + <rdfs:label xml:lang="en">Community</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Place"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/CanadianFootballTeam"> + <rdfs:label xml:lang="en">canadian football team</rdfs:label><rdfs:label xml:lang="el">καναδέζικη ομάδα ποδοσφαίρου</rdfs:label><rdfs:label xml:lang="fr">équipe canadienne de football américain</rdfs:label><rdfs:label xml:lang="it">squadra di football canadese</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/SportsTeam"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/RadioStation"> + <rdfs:label xml:lang="el">ραδιοφωνικός σταθμός</rdfs:label><rdfs:label xml:lang="fr">station de radio</rdfs:label><rdfs:label xml:lang="en">radio station</rdfs:label><rdfs:label xml:lang="ja">ラジオ放送局</rdfs:label><rdfs:label xml:lang="nl">radiozender</rdfs:label><rdfs:label xml:lang="es">emisora de radio</rdfs:label><rdfs:label xml:lang="de">Radiosender</rdfs:label><rdfs:comment xml:lang="en">A radio station has one line up. For instance the radio station BBC Radio 1. Not to be confused with the broadcasting network BBC, which has many radio stations.</rdfs:comment><rdfs:comment xml:lang="de">Ein Radiosender hat genau ein Programm, zum Beispiel der Sender NDR Kultur. Nicht zu verwechseln mit der Rundfunkanstalt NDR, welche mehrere Radiosender hat.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Broadcaster"/><owl:equivalentClass rdf:resource="http://schema.org/RadioStation"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/SoccerManager"> + <rdfs:label xml:lang="el">προπονητής ποδοσφαίρου</rdfs:label><rdfs:label xml:lang="fr">entraîneur de football</rdfs:label><rdfs:label xml:lang="en">soccer manager</rdfs:label><rdfs:label xml:lang="nl">voetbalmanager</rdfs:label><rdfs:label xml:lang="de">Fußballmanager</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/SportsManager"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Politician"> + <rdfs:label xml:lang="el">πολιτικός</rdfs:label><rdfs:label xml:lang="fr">politicien</rdfs:label><rdfs:label xml:lang="en">politician</rdfs:label><rdfs:label xml:lang="ja">政治家</rdfs:label><rdfs:label xml:lang="nl">politicus</rdfs:label><rdfs:label xml:lang="sl">politik</rdfs:label><rdfs:label xml:lang="pt">político</rdfs:label><rdfs:label xml:lang="de">Politiker</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Comedian"> + <rdfs:label xml:lang="el">κωμικός</rdfs:label><rdfs:label xml:lang="fr">comédien</rdfs:label><rdfs:label xml:lang="en">comedian</rdfs:label><rdfs:label xml:lang="ja">お笑い芸人</rdfs:label><rdfs:label xml:lang="pt">comediante</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Artist"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/ComicsCreator"> + <rdfs:label xml:lang="el">δημιουργός κόμιξ</rdfs:label><rdfs:label xml:lang="fr">créateur de bandes dessinées</rdfs:label><rdfs:label xml:lang="en">comics creator</rdfs:label><rdfs:label xml:lang="ja">漫画家</rdfs:label><rdfs:label xml:lang="ko">만화가</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Artist"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Monarch"> + <rdfs:label xml:lang="el">μονάρχης</rdfs:label><rdfs:label xml:lang="fr">monarque</rdfs:label><rdfs:label xml:lang="en">monarch</rdfs:label><rdfs:label xml:lang="it">monarca</rdfs:label><rdfs:label xml:lang="nl">monarch</rdfs:label><rdfs:label xml:lang="ko">군주</rdfs:label><rdfs:label xml:lang="de">monarch</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Road"> + <rdfs:label xml:lang="el">δρόμος</rdfs:label><rdfs:label xml:lang="fr">route</rdfs:label><rdfs:label xml:lang="en">road</rdfs:label><rdfs:label xml:lang="ja">道路</rdfs:label><rdfs:label xml:lang="nl">weg</rdfs:label><rdfs:label xml:lang="ko">도로</rdfs:label><rdfs:label xml:lang="es">carretera</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/RouteOfTransportation"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/PlayboyPlaymate"> + <rdfs:label xml:lang="en">Playboy Playmate</rdfs:label><rdfs:label xml:lang="el">playboy playmate</rdfs:label><rdfs:label xml:lang="fr">playmate pour Playboy</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Device"> + <rdfs:label xml:lang="el">συσκευη</rdfs:label><rdfs:label xml:lang="fr">appareil</rdfs:label><rdfs:label xml:lang="en">device</rdfs:label><rdfs:label xml:lang="ja">デバイス</rdfs:label><rdfs:label xml:lang="nl">apparaat</rdfs:label><rdfs:label xml:lang="de">Gerät</rdfs:label><rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Volcano"> + <rdfs:label xml:lang="el">ηφαίστειο</rdfs:label><rdfs:label xml:lang="fr">volcan</rdfs:label><rdfs:label xml:lang="en">volcano</rdfs:label><rdfs:label xml:lang="ja">火山</rdfs:label><rdfs:label xml:lang="nl">vulkaan</rdfs:label><rdfs:label xml:lang="de">Vulkan</rdfs:label><rdfs:comment xml:lang="en">A volcano is currently subclass of naturalplace, but it might also be considered a mountain.</rdfs:comment><rdfs:comment xml:lang="el">Το ηφαίστειο είναι υποκατηγορία φυσικών καταστάσεων, αλλά μπορεί επίσης να θεωρηθεί και βουνό.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/NaturalPlace"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Newspaper"> + <rdfs:label xml:lang="el">εφημερίδα</rdfs:label><rdfs:label xml:lang="fr">journal</rdfs:label><rdfs:label xml:lang="en">newspaper</rdfs:label><rdfs:label xml:lang="ja">新聞</rdfs:label><rdfs:label xml:lang="nl">krant</rdfs:label><rdfs:label xml:lang="ko">신문</rdfs:label><rdfs:label xml:lang="de">Zeitung</rdfs:label><rdfs:comment xml:lang="en">A newspaper is a regularly scheduled publication containing news of current events, informative articles, diverse features and advertising. It usually is printed on relatively inexpensive, low-grade paper such as newsprint.</rdfs:comment><rdfs:comment xml:lang="de">Eine Zeitung ist ein Druckwerk von mäßigem Seitenumfang, das in kurzen periodischen Zeitspannen, mindestens einmal wöchentlich, öffentlich erscheint. Die Zeitung ist, anders als die Zeitschrift, ein der Aktualität verpflichtetes Presseorgan und gliedert sich meist in mehrere inhaltliche Rubriken wie Politik, Lokales, Wirtschaft, Sport, Feuilleton und Immobilien.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/PeriodicalLiterature"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/AmericanFootballPlayer"> + <rdfs:label xml:lang="el">παίκτης αμερικανικού ποδοσφαίρου</rdfs:label><rdfs:label xml:lang="fr">joueur de football américain</rdfs:label><rdfs:label xml:lang="en">american football player</rdfs:label><rdfs:label xml:lang="it">giocatore di football americano</rdfs:label><rdfs:label xml:lang="ja">アメリカンフットボール選手</rdfs:label><rdfs:label xml:lang="nl">American footballspeler</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/GridironFootballPlayer"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/AcademicJournal"> + <rdfs:label xml:lang="el">ακαδημαϊκό περιοδικό</rdfs:label><rdfs:label xml:lang="fr">journal académique</rdfs:label><rdfs:label xml:lang="en">academic journal</rdfs:label><rdfs:label xml:lang="it">giornale accademico</rdfs:label><rdfs:label xml:lang="ja">学術雑誌</rdfs:label><rdfs:label xml:lang="nl">wetenschappelijk tijdschrift</rdfs:label><rdfs:label xml:lang="ko">학술지</rdfs:label><rdfs:label xml:lang="de">Wissenschaftliche Fachzeitschrift</rdfs:label><rdfs:comment xml:lang="en">An academic journal is a mostly peer-reviewed periodical in which scholarship relating to a particular academic discipline is published. Academic journals serve as forums for the introduction and presentation for scrutiny of new research, and the critique of existing research. Content typically takes the form of articles presenting original research, review articles, and book reviews.</rdfs:comment><rdfs:comment xml:lang="el">Ένα ακαδημαϊκό περιοδικό είναι ως επί το πλείστον περιοδικό για κριτικές οι οποίες σχετίζονται με έναν συγκεκριμένο ακαδημαϊκό τομέα. Τα ακαδημαϊκά περιοδικά χρησιμεύουν ως φόρουμ για την εισαγωγή και παρουσίαση του ελέγχου των νέων ερευνών και της κριτικής της υπάρχουσας έρευνας. Το περιεχόμενο έχει συνήθως την μορφή άρθρων παρουσίασης νέας έρευνας, ανασκόπησης υπάρχων άρθρων και κριτικές βιβλίων.</rdfs:comment><rdfs:comment xml:lang="de">Wissenschaftliche Fachzeitschriften sind regelmäßig verlegte Fachzeitschriften über Spezialthemen aus den verschiedensten wissenschaftlichen Disziplinen. Sie stellen neue Methoden, Techniken und aktuelle Trends aus den Wissenschaften dar.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/PeriodicalLiterature"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/TableTennisPlayer"> + <rdfs:label xml:lang="en">table tennis player</rdfs:label><rdfs:label xml:lang="el">παίκτης πινγκ-πονγκ</rdfs:label><rdfs:label xml:lang="nl">tafeltennisser</rdfs:label><rdfs:comment xml:lang="en">Athlete who plays table tennis</rdfs:comment><rdfs:comment xml:lang="el">O αθλητής που παίζει πινγκ-πονγκ</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Athlete"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Artwork"> + <rdfs:label xml:lang="el">έργο τέχνης</rdfs:label><rdfs:label xml:lang="fr">œuvre d'art</rdfs:label><rdfs:label xml:lang="en">artwork</rdfs:label><rdfs:label xml:lang="it">opera d'arte</rdfs:label><rdfs:label xml:lang="ja">作品</rdfs:label><rdfs:label xml:lang="nl">kunstwerk</rdfs:label><rdfs:label xml:lang="es">obra de arte</rdfs:label><rdfs:comment xml:lang="en">A work of art, artwork, art piece, or art object is an aesthetic item or artistic creation.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Work"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/VolleyballPlayer"> + <rdfs:label xml:lang="el">παίχτης βόλεϊ</rdfs:label><rdfs:label xml:lang="en">volleyball player</rdfs:label><rdfs:label xml:lang="nl">volleyballer</rdfs:label><rdfs:label xml:lang="ko">배구 선수</rdfs:label><rdfs:label xml:lang="pl">siatkarz</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Athlete"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Non-ProfitOrganisation"> + <rdfs:label xml:lang="en">non-profit organisation</rdfs:label><rdfs:label xml:lang="fr">organisation à but non lucratif</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Organisation"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Sea"> + <rdfs:label xml:lang="el">θάλασσα</rdfs:label><rdfs:label xml:lang="fr">mer</rdfs:label><rdfs:label xml:lang="en">sea</rdfs:label><rdfs:label xml:lang="ja">海</rdfs:label><rdfs:label xml:lang="nl">zee</rdfs:label><rdfs:label xml:lang="de">Meer</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/BodyOfWater"/><owl:equivalentClass rdf:resource="http://schema.org/SeaBodyOfWater"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Cleric"> + <rdfs:label xml:lang="el">Κλήρος</rdfs:label><rdfs:label xml:lang="fr">ecclésiastique</rdfs:label><rdfs:label xml:lang="en">cleric</rdfs:label><rdfs:label xml:lang="it">ecclesiastico</rdfs:label><rdfs:label xml:lang="ja">聖職者</rdfs:label><rdfs:label xml:lang="nl">geestelijke</rdfs:label><rdfs:label xml:lang="de">geistlicher</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/BeautyQueen"> + <rdfs:label xml:lang="en">beauty queen</rdfs:label><rdfs:label xml:lang="el">βασίλισσα ομορφιάς</rdfs:label><rdfs:label xml:lang="it">reginetta di bellezza</rdfs:label><rdfs:label xml:lang="ja">ミス</rdfs:label><rdfs:comment xml:lang="en">A beauty pageant titleholder</rdfs:comment><rdfs:comment xml:lang="el">Τίτλος που αποδίδεται σε μία γυναίκα, τις περισσότερες φορές μετά από διαγωνισμό.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/School"> + <rdfs:label xml:lang="el">σχολείο</rdfs:label><rdfs:label xml:lang="fr">école</rdfs:label><rdfs:label xml:lang="en">scuola</rdfs:label><rdfs:label xml:lang="ja">学校</rdfs:label><rdfs:label xml:lang="nl">school</rdfs:label><rdfs:label xml:lang="ko">학교</rdfs:label><rdfs:label xml:lang="de">Schule</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/EducationalInstitution"/><owl:equivalentClass rdf:resource="http://schema.org/School"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Region"> + <rdfs:label xml:lang="en">region</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/LightNovel"> + <rdfs:label xml:lang="en">light novel</rdfs:label><rdfs:label xml:lang="ja">ライトノベル</rdfs:label><rdfs:label xml:lang="el">ανάλαφρο μυθιστόρημα</rdfs:label><rdfs:comment xml:lang="en">A style of Japanese novel</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Novel"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/SiteOfSpecialScientificInterest"> + <rdfs:label xml:lang="en">Site of Special Scientific Interest</rdfs:label><rdfs:label xml:lang="el">Τοποθεσία Ειδικού Επιστημονικού Ενδιαφέροντος</rdfs:label><rdfs:label xml:lang="fr">site d'intérêt scientifique particulier</rdfs:label><rdfs:label xml:lang="ja">自然保護協会特別指定地区</rdfs:label><rdfs:comment xml:lang="en">A Site of Special Scientific Interest (SSSI) is a conservation designation denoting a protected area in the United Kingdom. SSSIs are the basic building block of site-based nature conservation legislation and most other legal nature/geological conservation designations in Great Britain are based upon them, including National Nature Reserves, Ramsar Sites, Special Protection Areas, and Special Areas of Conservation.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Place"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/SnookerPlayer"> + <rdfs:label xml:lang="en">snooker player</rdfs:label><rdfs:label xml:lang="de">Snookerspieler</rdfs:label><rdfs:label xml:lang="nl">biljarter</rdfs:label><rdfs:comment xml:lang="en">An athlete that plays snooker, which is a billard derivate</rdfs:comment><rdfs:comment xml:lang="de">Ein Sportler der Snooker spielt, eine bekannte Billardvariante</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Athlete"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/IceHockeyLeague"> + <rdfs:label xml:lang="en">ice hockey league</rdfs:label><rdfs:label xml:lang="el">πρωτάθλημα χόκεϋ</rdfs:label><rdfs:label xml:lang="fr">ligue d'hockey sur glace</rdfs:label><rdfs:comment xml:lang="en">a group of sports teams that compete against each other in Ice Hockey.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/SportsLeague"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/PersonFunction"> + <rdfs:label xml:lang="en">person function</rdfs:label><rdfs:label xml:lang="nl">functie van persoon</rdfs:label><rdfs:label xml:lang="fr">fonction de personne</rdfs:label><rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/MusicalArtist"> + <rdfs:label xml:lang="el">μουσικός</rdfs:label><rdfs:label xml:lang="fr">musicien</rdfs:label><rdfs:label xml:lang="en">musical artist</rdfs:label><rdfs:label xml:lang="nl">muziekartiest</rdfs:label><rdfs:label xml:lang="ko">음악가</rdfs:label><rdfs:label xml:lang="pt">artista musical</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Artist"/><rdfs:subClassOf rdf:resource="http://schema.org/MusicGroup"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/PoliticalParty"> + <rdfs:label xml:lang="el">πολιτικό κόμμα</rdfs:label><rdfs:label xml:lang="fr">parti politique</rdfs:label><rdfs:label xml:lang="en">political party</rdfs:label><rdfs:label xml:lang="pt">partido político</rdfs:label><rdfs:label xml:lang="pl">partia polityczna</rdfs:label><rdfs:label xml:lang="ca">partit polític</rdfs:label><rdfs:label xml:lang="de">politische Partei</rdfs:label><rdfs:comment xml:lang="en">for example: Democratic_Party_(United_States)</rdfs:comment><rdfs:comment xml:lang="el">για παράδειγμα: Δημοκρατικό Κόμμα _United_States)</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Organisation"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Presenter"> + <rdfs:label xml:lang="en">presenter</rdfs:label><rdfs:label xml:lang="el">Παρουσιαστής</rdfs:label><rdfs:label xml:lang="nl">presentator</rdfs:label><rdfs:comment xml:lang="en">TV or radio show presenter</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Watermill"> + <rdfs:label xml:lang="el">Νερόμυλος</rdfs:label><rdfs:label xml:lang="fr">Moulin à eau</rdfs:label><rdfs:label xml:lang="en">Watermill</rdfs:label><rdfs:label xml:lang="it">mulino ad acqua</rdfs:label><rdfs:label xml:lang="nl">Watermolen</rdfs:label><rdfs:label xml:lang="de">Wassermühle</rdfs:label><rdfs:comment xml:lang="en">A watermill is a structure that uses a water wheel or turbine to drive a mechanical process such as flour, lumber or textile production, or metal shaping (rolling, grinding or wire drawing)</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Mill"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Database"> + <rdfs:label xml:lang="el">βάση δεδομένων</rdfs:label><rdfs:label xml:lang="fr">Base de données</rdfs:label><rdfs:label xml:lang="en">Database</rdfs:label><rdfs:label xml:lang="ja">データベース</rdfs:label><rdfs:label xml:lang="nl">database</rdfs:label><rdfs:label xml:lang="pt">Banco de dados</rdfs:label><rdfs:label xml:lang="de">Datenbank</rdfs:label><rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/EthnicGroup"> + <rdfs:label xml:lang="el">εθνική ομάδα</rdfs:label><rdfs:label xml:lang="fr">groupe ethnique</rdfs:label><rdfs:label xml:lang="en">ethnic group</rdfs:label><rdfs:label xml:lang="it">etnia</rdfs:label><rdfs:label xml:lang="ko">민족</rdfs:label><rdfs:label xml:lang="de">ethnie</rdfs:label><rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/BaseballTeam"> + <rdfs:label xml:lang="el">ομάδα μπέιζμπολ</rdfs:label><rdfs:label xml:lang="fr">équipe de basket-ball</rdfs:label><rdfs:label xml:lang="en">baseball team</rdfs:label><rdfs:label xml:lang="it">squadra di baseball</rdfs:label><rdfs:label xml:lang="ja">野球チーム</rdfs:label><rdfs:comment xml:lang="el">Ένας αριθμός από άνδρες ή γυναίκες που αποτελούν ένα διακριτό σύνολο με συγκεκριμένους στόχους σχετικά με το άθλημα του μπέιζμπολ.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/SportsTeam"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Holiday"> + <rdfs:label xml:lang="el">αργία</rdfs:label><rdfs:label xml:lang="en">holiday</rdfs:label><rdfs:label xml:lang="it">giorno festivo</rdfs:label><rdfs:label xml:lang="ja">祝日</rdfs:label><rdfs:label xml:lang="de">feiertag</rdfs:label><rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Insect"> + <rdfs:label xml:lang="el">έντομο</rdfs:label><rdfs:label xml:lang="fr">insecte</rdfs:label><rdfs:label xml:lang="en">insect</rdfs:label><rdfs:label xml:lang="ja">昆虫</rdfs:label><rdfs:label xml:lang="nl">insect</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Animal"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Mineral"> + <rdfs:label xml:lang="el">ορυκτό</rdfs:label><rdfs:label xml:lang="fr">minéral</rdfs:label><rdfs:label xml:lang="en">mineral</rdfs:label><rdfs:label xml:lang="it">minerale</rdfs:label><rdfs:label xml:lang="ja">鉱物</rdfs:label><rdfs:label xml:lang="nl">mineraal</rdfs:label><rdfs:label xml:lang="de">mineral</rdfs:label><rdfs:comment xml:lang="en">A naturally occurring solid chemical substance.</rdfs:comment><rdfs:comment xml:lang="it">Corpi naturali inorganici, in genere solidi.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/ChemicalSubstance"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/MusicalWork"> + <rdfs:label xml:lang="el">μουσικό έργο</rdfs:label><rdfs:label xml:lang="fr">œuvre musicale</rdfs:label><rdfs:label xml:lang="en">musical work</rdfs:label><rdfs:label xml:lang="it">opera musicale</rdfs:label><rdfs:label xml:lang="nl">muziekwerk</rdfs:label><rdfs:label xml:lang="de">musikalisches Werk</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Work"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/SoccerClubSeason"> + <rdfs:label xml:lang="en">soccer club season</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/SportsTeamSeason"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/MeanOfTransportation"> + <rdfs:label xml:lang="en">mean of transportation</rdfs:label><rdfs:label xml:lang="fr">moyen de transport</rdfs:label><rdfs:label xml:lang="nl">vervoermiddel</rdfs:label><rdfs:label xml:lang="el">μεταφορικό μέσο</rdfs:label><rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/><owl:disjointWith rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/UnitOfWork"> + <rdfs:label xml:lang="en">unit of work</rdfs:label><rdfs:label xml:lang="de">arbeitseinheit</rdfs:label><rdfs:label xml:lang="nl">werkeenheid</rdfs:label><rdfs:comment xml:lang="en">This class is meant to convey the notion of an amount work to be done. It is different from Activity in that it has a definite end and is being measured."</rdfs:comment><rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/><owl:disjointWith rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Mosque"> + <rdfs:label xml:lang="en">mosk</rdfs:label><rdfs:label xml:lang="fr">mosquée</rdfs:label><rdfs:label xml:lang="es">mezquita</rdfs:label><rdfs:comment xml:lang="en">A mosque, sometimes spelt mosk, is a place of worship for followers of Islam.</rdfs:comment><rdfs:comment xml:lang="fr">Une mosquée est un lieu de culte où se rassemblent les musulmans pour les prières communes.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/ReligiousBuilding"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/NationalCollegiateAthleticAssociationAthlete"> + <rdfs:label xml:lang="en">national collegiate athletic association athlete</rdfs:label><rdfs:label xml:lang="fr">athlète de la national collegiate athletic association</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Athlete"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Gene"> + <rdfs:label xml:lang="el">γονίδιο</rdfs:label><rdfs:label xml:lang="fr">gène</rdfs:label><rdfs:label xml:lang="en">gene</rdfs:label><rdfs:label xml:lang="ja">遺伝子</rdfs:label><rdfs:label xml:lang="nl">gen</rdfs:label><rdfs:label xml:lang="pt">gene</rdfs:label><rdfs:label xml:lang="de">Gen</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Biomolecule"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Referee"> + <rdfs:label xml:lang="el">διαιτητής</rdfs:label><rdfs:label xml:lang="fr">arbitre</rdfs:label><rdfs:label xml:lang="en">referee</rdfs:label><rdfs:label xml:lang="it">arbitro</rdfs:label><rdfs:label xml:lang="nl">scheidsrechter</rdfs:label><rdfs:label xml:lang="es">árbitro</rdfs:label><rdfs:label xml:lang="de">schiedsrichter</rdfs:label><rdfs:comment xml:lang="en">An official who watches a game or match closely to ensure that the rules are adhered to.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Reptile"> + <rdfs:label xml:lang="el">ερπετό</rdfs:label><rdfs:label xml:lang="fr">reptile</rdfs:label><rdfs:label xml:lang="en">reptile</rdfs:label><rdfs:label xml:lang="ja">爬虫類</rdfs:label><rdfs:label xml:lang="nl">reptiel</rdfs:label><rdfs:label xml:lang="de">reptil</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Animal"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/CanadianFootballPlayer"> + <rdfs:label xml:lang="el">καναδός παίκτης ποδοσφαίρου</rdfs:label><rdfs:label xml:lang="fr">joueur de football canadien</rdfs:label><rdfs:label xml:lang="en">canadian football player</rdfs:label><rdfs:label xml:lang="it">giocatore di football canadese</rdfs:label><rdfs:label xml:lang="pt">jogador de futebol canadense</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/GridironFootballPlayer"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/GovernmentAgency"> + <rdfs:label xml:lang="en">government agency</rdfs:label><rdfs:label xml:lang="de">Behörde</rdfs:label><rdfs:label xml:lang="el">κυβερνητική υπηρεσία</rdfs:label><rdfs:label xml:lang="nl">orgaan openbaar bestuur</rdfs:label><rdfs:comment xml:lang="en">A government agency is a permanent or semi-permanent organization in the machinery of government that is responsible for the oversight and administration of specific functions, such as an intelligence agency.</rdfs:comment><rdfs:comment xml:lang="de">Eine Behörde ist eine staatliche Einrichtung, die im weitesten Sinne für die Erfüllung von Aufgaben der Verwaltung des Staates und dabei insbesondere für Dienstleistungen des Staates gegenüber seinen Bürgern zuständig ist. Eine Behörde erhält ihren Auftrag aus den Gesetzen des Staates, in dem und für den sie tätig ist.</rdfs:comment><rdfs:comment xml:lang="el">Μια κυβερνητική υπηρεσία είναι μόνιμη ή ημι-μόνιμη οργάνωση στο μηχανισμό της κυβέρνησης, η οποία είναι υπεύθυνη για την εποπτεία και διαχείριση συγκεκριμένων λειτουργιών, όπως η υπηρεσία πληροφοριών.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Organisation"/><owl:equivalentClass rdf:resource="http://schema.org/GovernmentOrganization"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Flag"> + <rdfs:label xml:lang="el">σημαία</rdfs:label><rdfs:label xml:lang="fr">drapeau</rdfs:label><rdfs:label xml:lang="en">flag</rdfs:label><rdfs:label xml:lang="tr">bayrak</rdfs:label><rdfs:label xml:lang="ja">旗</rdfs:label><rdfs:label xml:lang="nl">vlag</rdfs:label><rdfs:label xml:lang="de">Flagge</rdfs:label><rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Bacteria"> + <rdfs:label xml:lang="el">βακτήρια</rdfs:label><rdfs:label xml:lang="fr">bactérie</rdfs:label><rdfs:label xml:lang="en">bacteria</rdfs:label><rdfs:label xml:lang="it">batterio</rdfs:label><rdfs:label xml:lang="ja">真正細菌</rdfs:label><rdfs:label xml:lang="nl">bacterie</rdfs:label><rdfs:label xml:lang="es">bacteria</rdfs:label><rdfs:label xml:lang="de">bakterium</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Species"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Cardinal"> + <rdfs:label xml:lang="el">καρδινάλιος</rdfs:label><rdfs:label xml:lang="fr">cardinal</rdfs:label><rdfs:label xml:lang="en">cardinal</rdfs:label><rdfs:label xml:lang="it">cardinale</rdfs:label><rdfs:label xml:lang="nl">kardinaal</rdfs:label><rdfs:label xml:lang="pt">cardeal</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Cleric"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Mollusca"> + <rdfs:label xml:lang="en">mollusca</rdfs:label><rdfs:label xml:lang="fr">mollusque</rdfs:label><rdfs:label xml:lang="ja">軟体動物</rdfs:label><rdfs:label xml:lang="nl">weekdier</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Animal"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Stadium"> + <rdfs:label xml:lang="el">στάδιο</rdfs:label><rdfs:label xml:lang="fr">stade</rdfs:label><rdfs:label xml:lang="en">stadium</rdfs:label><rdfs:label xml:lang="ja">スタジアム</rdfs:label><rdfs:label xml:lang="nl">stadion</rdfs:label><rdfs:label xml:lang="ko">경기장</rdfs:label><rdfs:label xml:lang="de">Stadion</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/SportFacility"/><owl:equivalentClass rdf:resource="http://schema.org/StadiumOrArena"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Wine"> + <rdfs:label xml:lang="el">κρασί</rdfs:label><rdfs:label xml:lang="fr">vin</rdfs:label><rdfs:label xml:lang="en">wine</rdfs:label><rdfs:label xml:lang="it">vino</rdfs:label><rdfs:label xml:lang="ja">ワイン</rdfs:label><rdfs:label xml:lang="nl">wijn</rdfs:label><rdfs:label xml:lang="es">vino</rdfs:label><rdfs:label xml:lang="de">Wein</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Beverage"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/NationalSoccerClub"> + <rdfs:label xml:lang="en">national soccer club</rdfs:label><rdfs:label xml:lang="tr">milli takım</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/SoccerClub"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Museum"> + <rdfs:label xml:lang="el">μουσείο</rdfs:label><rdfs:label xml:lang="fr">musée</rdfs:label><rdfs:label xml:lang="en">museum</rdfs:label><rdfs:label xml:lang="ja">博物館</rdfs:label><rdfs:label xml:lang="nl">museum</rdfs:label><rdfs:label xml:lang="ko">박물관</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Building"/><owl:equivalentClass rdf:resource="http://schema.org/Museum"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/FigureSkater"> + <rdfs:label xml:lang="el">αθλητής του καλλιτεχνικού πατινάζ</rdfs:label><rdfs:label xml:lang="fr">patineur artistique</rdfs:label><rdfs:label xml:lang="en">figure skater</rdfs:label><rdfs:label xml:lang="ja">フィギュアスケート選手</rdfs:label><rdfs:label xml:lang="nl">kunstschaatser</rdfs:label><rdfs:label xml:lang="pt">patinador artístico</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Athlete"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Pornstar"> + <rdfs:label xml:lang="en">pornstar</rdfs:label><rdfs:label xml:lang="it">attore porno</rdfs:label><rdfs:label xml:lang="fr">acteur porno</rdfs:label><rdfs:comment xml:lang="en">A pornographic actor or actress or a porn star is a person who performs sex acts in film, normally characterised as a pornographic film..</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Actor"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Manga"> + <rdfs:label xml:lang="el">κινούμενα σχέδια</rdfs:label><rdfs:label xml:lang="fr">manga</rdfs:label><rdfs:label xml:lang="en">manga</rdfs:label><rdfs:label xml:lang="it">manga</rdfs:label><rdfs:label xml:lang="ja">日本の漫画</rdfs:label><rdfs:comment xml:lang="en">Manga are comics created in Japan</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Comics"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/College"> + <rdfs:label xml:lang="el">κολέγιο</rdfs:label><rdfs:label xml:lang="fr">université</rdfs:label><rdfs:label xml:lang="en">college</rdfs:label><rdfs:label xml:lang="ja">単科大学</rdfs:label><rdfs:label xml:lang="pt">faculdade</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/EducationalInstitution"/><owl:equivalentClass rdf:resource="http://schema.org/CollegeOrUniversity"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/NascarDriver"> + <rdfs:label xml:lang="en">nascar driver</rdfs:label><rdfs:label xml:lang="fr">pilote de la nascar</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/RacingDriver"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/PeriodicalLiterature"> + <rdfs:label xml:lang="en">periodical literature</rdfs:label><rdfs:label xml:lang="de">Periodikum</rdfs:label><rdfs:label xml:lang="fr">publication périodique</rdfs:label><rdfs:comment xml:lang="en">Periodical literature (also called a periodical publication or simply a periodical) is a published work that appears in a new edition on a regular schedule. The most familiar examples are the newspaper, often published daily, or weekly; or the magazine, typically published weekly, monthly or as a quarterly. Other examples would be a newsletter, a literary journal or learned journal, or a yearbook.</rdfs:comment><rdfs:comment xml:lang="de">Unter Periodikum wird im Bibliothekswesen im Gegensatz zu Monografien ein (in der Regel) regelmäßig erscheinendes Druckwerk bezeichnet. Es handelt sich um den Fachbegriff für Heftreihen, Gazetten, Journale, Magazine, Zeitschriften und Zeitungen.</rdfs:comment><rdfs:comment xml:lang="fr">Une publication périodique est un titre de presse qui paraît régulièrement.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/WrittenWork"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Vein"> + <rdfs:label xml:lang="el">φλέβα</rdfs:label><rdfs:label xml:lang="fr">veine</rdfs:label><rdfs:label xml:lang="en">vein</rdfs:label><rdfs:label xml:lang="ja">静脈</rdfs:label><rdfs:label xml:lang="nl">ader</rdfs:label><rdfs:label xml:lang="pt">veia</rdfs:label><rdfs:label xml:lang="de">Vene</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/AnatomicalStructure"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Plant"> + <rdfs:label xml:lang="el">φυτό</rdfs:label><rdfs:label xml:lang="fr">plante</rdfs:label><rdfs:label xml:lang="en">plant</rdfs:label><rdfs:label xml:lang="it">pianta</rdfs:label><rdfs:label xml:lang="ja">植物</rdfs:label><rdfs:label xml:lang="nl">plant</rdfs:label><rdfs:label xml:lang="de">pflanze</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Eukaryote"/><owl:disjointWith rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Film"> + <rdfs:label xml:lang="el">ταινία</rdfs:label><rdfs:label xml:lang="fr">film</rdfs:label><rdfs:label xml:lang="ar">فيلم</rdfs:label><rdfs:label xml:lang="en">movie</rdfs:label><rdfs:label xml:lang="ja">映画</rdfs:label><rdfs:label xml:lang="nl">film</rdfs:label><rdfs:label xml:lang="ko">영화</rdfs:label><rdfs:label xml:lang="de">Film</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Work"/><owl:equivalentClass rdf:resource="http://schema.org/Movie"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/SkiArea"> + <rdfs:label xml:lang="el">Περιοχή Χιονοδρομίας</rdfs:label><rdfs:label xml:lang="fr">domaine skiable</rdfs:label><rdfs:label xml:lang="en">ski area</rdfs:label><rdfs:label xml:lang="ja">スキー場</rdfs:label><rdfs:label xml:lang="nl">skigebied</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Place"/><owl:equivalentClass rdf:resource="http://schema.org/SkiResort"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Guitar"> + <rdfs:label xml:lang="en">Guitar</rdfs:label><rdfs:label xml:lang="fr">Guitare</rdfs:label><rdfs:label xml:lang="es">Guitarra</rdfs:label><rdfs:comment xml:lang="en">Describes the guitar</rdfs:comment><rdfs:comment xml:lang="fr">Décrit la guitare</rdfs:comment><rdfs:comment xml:lang="es">Describe la guitarra</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Instrument"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Swimmer"> + <rdfs:label xml:lang="el">Kολυμβητής</rdfs:label><rdfs:label xml:lang="fr">nageur</rdfs:label><rdfs:label xml:lang="en">swimmer</rdfs:label><rdfs:label xml:lang="it">nuotatore</rdfs:label><rdfs:label xml:lang="ja">競泳選手</rdfs:label><rdfs:label xml:lang="nl">zwemmer</rdfs:label><rdfs:label xml:lang="pt">nadador</rdfs:label><rdfs:label xml:lang="de">Schwimmer</rdfs:label><rdfs:comment xml:lang="en">a trained athlete who participates in swimming meets</rdfs:comment><rdfs:comment xml:lang="el">ένας εκπαιδευμένος αθλητής που συμμετέχει σε συναντήσεις κολύμβησης</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Athlete"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/PrimeMinister"> + <rdfs:label xml:lang="el">πρωθυπουργός</rdfs:label><rdfs:label xml:lang="fr">premier ministre</rdfs:label><rdfs:label xml:lang="en">prime minister</rdfs:label><rdfs:label xml:lang="nl">eerste minister</rdfs:label><rdfs:label xml:lang="de">Premierminister</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Politician"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Athlete"> + <rdfs:label xml:lang="el">αθλητής</rdfs:label><rdfs:label xml:lang="fr">athlète</rdfs:label><rdfs:label xml:lang="en">athlete</rdfs:label><rdfs:label xml:lang="it">atleta</rdfs:label><rdfs:label xml:lang="ja">アスリート</rdfs:label><rdfs:label xml:lang="nl">atleet</rdfs:label><rdfs:label xml:lang="de">Athlet</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Colour"> + <rdfs:label xml:lang="el">χρώμα</rdfs:label><rdfs:label xml:lang="fr">couleur</rdfs:label><rdfs:label xml:lang="en">colour</rdfs:label><rdfs:label xml:lang="ja">色</rdfs:label><rdfs:label xml:lang="nl">kleur</rdfs:label><rdfs:label xml:lang="ko">색</rdfs:label><rdfs:label xml:lang="de">Farbe</rdfs:label><rdfs:comment xml:lang="en">Color or colour is the visual perceptual property corresponding in humans to the categories called red, yellow, blue and others. Color derives from the spectrum of light (distribution of light energy versus wavelength) interacting in the eye with the spectral sensitivities of the light receptors.</rdfs:comment><rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Factory"> + <rdfs:label xml:lang="en">factory</rdfs:label><rdfs:label xml:lang="it">fabbrica</rdfs:label><rdfs:label xml:lang="fr">usine</rdfs:label><rdfs:comment xml:lang="en">A factory (previously manufactory) or manufacturing plant is an industrial site, usually consisting of buildings and machinery, or more commonly a complex having several buildings, where workers manufacture goods or operate machines processing one product into another.</rdfs:comment><rdfs:comment xml:lang="fr">Une usine est un bâtiment ou un ensemble de bâtiments destinés à la production industrielle.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Building"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/WrittenWork"> + <rdfs:label xml:lang="fr">œuvre écrite</rdfs:label><rdfs:label xml:lang="en">written work</rdfs:label><rdfs:label xml:lang="nl">geschreven werk</rdfs:label><rdfs:label xml:lang="es">obra escrita</rdfs:label><rdfs:label xml:lang="de">geschriebenes Erzeugnis</rdfs:label><rdfs:comment xml:lang="en">Written work is any text written to read it (e.g.: books, newspaper, articles)</rdfs:comment><rdfs:comment xml:lang="de">Ein geschriebenes Erzeugnis ist jede Art von Text der geschrieben wurde um ihn zu lesen (z.B. Bücher, Zeitungen, Artikel).</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Work"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/SnookerChamp"> + <rdfs:label xml:lang="en">snooker world champion</rdfs:label><rdfs:label xml:lang="de">Snookerweltmeister</rdfs:label><rdfs:comment xml:lang="en">An athlete that plays snooker and won the world championship at least once</rdfs:comment><rdfs:comment xml:lang="de">Ein Sportler der Snooker spielt und mindestens einmal die Weltmeisterschaft gewonnen hat</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/SnookerPlayer"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Ambassador"> + <rdfs:label xml:lang="el">πρεσβευτής</rdfs:label><rdfs:label xml:lang="fr">ambassadeur</rdfs:label><rdfs:label xml:lang="en">ambassador</rdfs:label><rdfs:label xml:lang="it">ambasciatore</rdfs:label><rdfs:label xml:lang="ja">大使</rdfs:label><rdfs:label xml:lang="nl">ambassadeur</rdfs:label><rdfs:label xml:lang="de">Botschafter</rdfs:label><rdfs:comment xml:lang="en">An ambassador is the highest ranking diplomat that represents a nation and is usually accredited to a foreign sovereign or government, or to an international organization.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/SnookerWorldRanking"> + <rdfs:label xml:lang="en">snooker world ranking</rdfs:label><rdfs:label xml:lang="de">Snookerweltrangliste</rdfs:label><rdfs:comment xml:lang="en">The official world ranking in snooker for a certain year/season</rdfs:comment><rdfs:comment xml:lang="de">Die offizielle Weltrangliste im Snooker eines Jahres / einer Saison</rdfs:comment><rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Venue"> + <rdfs:label xml:lang="en">venue</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Building"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/RadioProgram"> + <rdfs:label xml:lang="el">ραδιοφωνικό πρόγραμμα</rdfs:label><rdfs:label xml:lang="en">radio program</rdfs:label><rdfs:label xml:lang="it">programma radiofonico</rdfs:label><rdfs:label xml:lang="ja">ラジオ番組</rdfs:label><rdfs:label xml:lang="nl">radioprogramma</rdfs:label><rdfs:label xml:lang="de">radio programm</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Work"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Royalty"> + <rdfs:label xml:lang="en">royalty</rdfs:label><rdfs:label xml:lang="fr">royauté</rdfs:label><rdfs:label xml:lang="sl">kraljevska oseba</rdfs:label><rdfs:label xml:lang="ja">王室</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/BasketballTeam"> + <rdfs:label xml:lang="el">Κουτί πληροφοριών συλλόγου καλαθοσφαίρισης</rdfs:label><rdfs:label xml:lang="fr">équipe de basket-ball</rdfs:label><rdfs:label xml:lang="en">basketball team</rdfs:label><rdfs:label xml:lang="it">squadra di pallacanestro</rdfs:label><rdfs:label xml:lang="ja">バスケットボールチーム</rdfs:label><rdfs:label xml:lang="pt">time de basquete</rdfs:label><rdfs:label xml:lang="de">Basketballmannschaft</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/SportsTeam"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Planet"> + <rdfs:label xml:lang="el">Πλανήτης</rdfs:label><rdfs:label xml:lang="fr">planète</rdfs:label><rdfs:label xml:lang="ga">pláinéad</rdfs:label><rdfs:label xml:lang="en">planet</rdfs:label><rdfs:label xml:lang="ja">惑星</rdfs:label><rdfs:label xml:lang="nl">planeet</rdfs:label><rdfs:label xml:lang="sl">planet</rdfs:label><rdfs:label xml:lang="pt">Planeta</rdfs:label><rdfs:label xml:lang="pl">planeta</rdfs:label><rdfs:label xml:lang="es">planeta</rdfs:label><rdfs:label xml:lang="ca">planeta</rdfs:label><rdfs:label xml:lang="de">Planet</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/CelestialBody"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Deputy"> + <rdfs:label xml:lang="en">deputy</rdfs:label><rdfs:label xml:lang="el">αναπληρωτής</rdfs:label><rdfs:label xml:lang="fr">député</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Politician"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Family"> + <rdfs:label xml:lang="en">family</rdfs:label><rdfs:label xml:lang="nl">familie</rdfs:label><rdfs:comment xml:lang="en">A group of people related by common descent, a lineage.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Agent"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/YearInSpaceflight"> + <rdfs:label xml:lang="en">year in spaceflight</rdfs:label><rdfs:label xml:lang="fr">année de vols spatiaux</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/TimePeriod"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Shrine"> + <rdfs:label xml:lang="fr">sanctuaire</rdfs:label><rdfs:label xml:lang="en">shrine</rdfs:label><rdfs:label xml:lang="it">santuario</rdfs:label><rdfs:label xml:lang="ja">神社</rdfs:label><rdfs:label xml:lang="de">schrein</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/ReligiousBuilding"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Village"> + <rdfs:label xml:lang="el">χωριό</rdfs:label><rdfs:label xml:lang="id">desa</rdfs:label><rdfs:label xml:lang="fr">village</rdfs:label><rdfs:label xml:lang="en">village</rdfs:label><rdfs:label xml:lang="ja">村</rdfs:label><rdfs:label xml:lang="nl">dorp</rdfs:label><rdfs:label xml:lang="pl">wieś</rdfs:label><rdfs:label xml:lang="de">dorf</rdfs:label><rdfs:comment xml:lang="en">a clustered human settlement or community, usually smaller a town</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Settlement"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/PublicServiceOutput"> + <rdfs:label xml:lang="en">public service output</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/PublicService"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Theatre"> + <rdfs:label xml:lang="el">θέατρο</rdfs:label><rdfs:label xml:lang="fr">théâtre</rdfs:label><rdfs:label xml:lang="en">theatre</rdfs:label><rdfs:label xml:lang="ja">劇場</rdfs:label><rdfs:label xml:lang="nl">schouwburg</rdfs:label><rdfs:label xml:lang="de">Theater</rdfs:label><rdfs:comment xml:lang="en">A theater or theatre (also a playhouse) is a structure where theatrical works or plays are performed or other performances such as musical concerts may be produced.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Venue"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Drama"> + <rdfs:label xml:lang="en">drama</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/WrittenWork"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/ProtectedArea"> + <rdfs:label xml:lang="el">προστατευμένη περιοχή</rdfs:label><rdfs:label xml:lang="fr">aire protégée</rdfs:label><rdfs:label xml:lang="en">protected area</rdfs:label><rdfs:label xml:lang="ja">保護地区</rdfs:label><rdfs:label xml:lang="nl">beschermd gebied</rdfs:label><rdfs:comment xml:lang="en">This class is not just used for protected nature, but also for protected city views and enclosed neighbourhoods</rdfs:comment><rdfs:comment xml:lang="nl">Deze klasse wordt niet alleen gebruikt voor beschermde natuur, maar ook voor beschermde stadsgezichten en hofjes</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Place"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/PenaltyShootOut"> + <rdfs:label xml:lang="en">penalty shoot-out</rdfs:label><rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Canal"> + <rdfs:label xml:lang="el">κανάλι</rdfs:label><rdfs:label xml:lang="fr">canal</rdfs:label><rdfs:label xml:lang="en">canal</rdfs:label><rdfs:label xml:lang="it">canale</rdfs:label><rdfs:label xml:lang="ja">運河</rdfs:label><rdfs:label xml:lang="nl">kanaal</rdfs:label><rdfs:label xml:lang="de">kanal</rdfs:label><rdfs:comment xml:lang="en">a man-made channel for water</rdfs:comment><rdfs:comment xml:lang="el">ένα κανάλι για νερό φτιαγμένο από άνθρωπο</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Stream"/><owl:equivalentClass rdf:resource="http://schema.org/Canal"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/cidoccrm:E4_Period"> + <rdfs:label xml:lang="en">E4 Period</rdfs:label><rdfs:label xml:lang="nl">E4 Periode</rdfs:label><rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/MusicGenre"> + <rdfs:label xml:lang="el">μουσικό είδος</rdfs:label><rdfs:label xml:lang="fr">genre musical</rdfs:label><rdfs:label xml:lang="en">music genre</rdfs:label><rdfs:label xml:lang="it">genere musicale</rdfs:label><rdfs:label xml:lang="nl">genre (muziek)</rdfs:label><rdfs:label xml:lang="pt">género musical</rdfs:label><rdfs:label xml:lang="de">musik genre</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Genre"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Year"> + <rdfs:label xml:lang="el">έτος</rdfs:label><rdfs:label xml:lang="fr">année</rdfs:label><rdfs:label xml:lang="en">year</rdfs:label><rdfs:label xml:lang="ja">年</rdfs:label><rdfs:label xml:lang="nl">jaar</rdfs:label><rdfs:label xml:lang="pt">ano</rdfs:label><rdfs:label xml:lang="es">año</rdfs:label><rdfs:label xml:lang="de">Jahr</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/TimePeriod"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Priest"> + <rdfs:label xml:lang="el">παπάς</rdfs:label><rdfs:label xml:lang="fr">prêtre</rdfs:label><rdfs:label xml:lang="en">priest</rdfs:label><rdfs:label xml:lang="it">prete</rdfs:label><rdfs:label xml:lang="ja">司祭</rdfs:label><rdfs:label xml:lang="nl">priester</rdfs:label><rdfs:label xml:lang="de">priester</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Cleric"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Congressman"> + <rdfs:label xml:lang="en">congressman</rdfs:label><rdfs:label xml:lang="de">Abgeordneter</rdfs:label><rdfs:label xml:lang="el">βουλευτής</rdfs:label><rdfs:label xml:lang="fr">membre du Congrès</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Politician"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Sport"> + <rdfs:label xml:lang="el">Αθλήματα</rdfs:label><rdfs:label xml:lang="fr">sport</rdfs:label><rdfs:label xml:lang="en">sport</rdfs:label><rdfs:label xml:lang="ja">スポーツ</rdfs:label><rdfs:label xml:lang="nl">sport</rdfs:label><rdfs:label xml:lang="ko">스포츠</rdfs:label><rdfs:label xml:lang="pt">esporte</rdfs:label><rdfs:label xml:lang="es">Deporte</rdfs:label><rdfs:label xml:lang="de">Sport</rdfs:label><rdfs:comment xml:lang="en">A sport is commonly defined as an organized, competitive, and skillful physical activity.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Activity"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Nerve"> + <rdfs:label xml:lang="el">νεύρο</rdfs:label><rdfs:label xml:lang="fr">nerf</rdfs:label><rdfs:label xml:lang="en">nerve</rdfs:label><rdfs:label xml:lang="nl">zenuw</rdfs:label><rdfs:label xml:lang="de">Nerv</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/AnatomicalStructure"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/SambaSchool"> + <rdfs:label xml:lang="en">samba school</rdfs:label><rdfs:label xml:lang="el">σχολή σάμπα</rdfs:label><rdfs:label xml:lang="pt">escola de samba</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Organisation"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Hotel"> + <rdfs:label xml:lang="el">ξενοδοχείο</rdfs:label><rdfs:label xml:lang="fr">hôtel</rdfs:label><rdfs:label xml:lang="en">hotel</rdfs:label><rdfs:label xml:lang="it">albergo</rdfs:label><rdfs:label xml:lang="ja">ホテル</rdfs:label><rdfs:label xml:lang="nl">hotel</rdfs:label><rdfs:label xml:lang="ko">호텔</rdfs:label><rdfs:label xml:lang="de">Hotel</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Building"/><owl:equivalentClass rdf:resource="http://schema.org/Hotel"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/FashionDesigner"> + <rdfs:label xml:lang="en">fashion designer</rdfs:label><rdfs:label xml:lang="el">σχεδιαστής μόδας</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Artist"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Library"> + <rdfs:label xml:lang="el">βιβλιοθήκη</rdfs:label><rdfs:label xml:lang="fr">bibliothèque</rdfs:label><rdfs:label xml:lang="en">library</rdfs:label><rdfs:label xml:lang="ja">図書館</rdfs:label><rdfs:label xml:lang="nl">bibliotheek</rdfs:label><rdfs:label xml:lang="ko">도서관</rdfs:label><rdfs:label xml:lang="es">Biblioteca</rdfs:label><rdfs:label xml:lang="de">Bibliothek</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/EducationalInstitution"/><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Building"/><owl:equivalentClass rdf:resource="http://schema.org/Library"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Model"> + <rdfs:label xml:lang="el">μοντέλο</rdfs:label><rdfs:label xml:lang="fr">mannequin</rdfs:label><rdfs:label xml:lang="en">model</rdfs:label><rdfs:label xml:lang="ja">モデル_(職業)</rdfs:label><rdfs:label xml:lang="nl">(foto)model</rdfs:label><rdfs:label xml:lang="ko">모델</rdfs:label><rdfs:label xml:lang="de">model</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Ligament"> + <rdfs:label xml:lang="el">σύνδεσμος</rdfs:label><rdfs:label xml:lang="en">ligament</rdfs:label><rdfs:label xml:lang="nl">bindweefsel</rdfs:label><rdfs:label xml:lang="pt">ligamento</rdfs:label><rdfs:label xml:lang="de">band</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/AnatomicalStructure"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Activity"> + <rdfs:label xml:lang="el">Δραστηριότητα</rdfs:label><rdfs:label xml:lang="fr">activité</rdfs:label><rdfs:label xml:lang="en">activity</rdfs:label><rdfs:label xml:lang="it">attività</rdfs:label><rdfs:label xml:lang="ja">活動</rdfs:label><rdfs:label xml:lang="nl">activiteit</rdfs:label><rdfs:label xml:lang="pt">atividade</rdfs:label><rdfs:label xml:lang="es">actividad</rdfs:label><rdfs:label xml:lang="de">Aktivität</rdfs:label><rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/><owl:disjointWith rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/CityDistrict"> + <rdfs:label xml:lang="de">Stadtviertel</rdfs:label><rdfs:label xml:lang="en">city district</rdfs:label><rdfs:label xml:lang="fr">quartier</rdfs:label><rdfs:label xml:lang="nl">stadswijk</rdfs:label><rdfs:comment xml:lang="en">District, borough, area or neighbourhood in a city or town</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Settlement"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/RecordLabel"> + <rdfs:label xml:lang="el">δισκογραφική</rdfs:label><rdfs:label xml:lang="fr">label discographique</rdfs:label><rdfs:label xml:lang="en">record label</rdfs:label><rdfs:label xml:lang="nl">platenlabel</rdfs:label><rdfs:label xml:lang="de">Plattenlabel</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Company"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/VoiceActor"> + <rdfs:label xml:lang="fr">acteur de doublage</rdfs:label><rdfs:label xml:lang="en">voice actor</rdfs:label><rdfs:label xml:lang="ja">声優</rdfs:label><rdfs:label xml:lang="nl">stemacteur</rdfs:label><rdfs:label xml:lang="ko">성우</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Actor"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Olympics"> + <rdfs:label xml:lang="el">ολυμπιακοί αγώνες</rdfs:label><rdfs:label xml:lang="fr">Jeux Olympiques</rdfs:label><rdfs:label xml:lang="en">olympics</rdfs:label><rdfs:label xml:lang="ja">近代オリンピック</rdfs:label><rdfs:label xml:lang="ko">올림픽</rdfs:label><rdfs:label xml:lang="es">Juegos Olímpicos</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/SportsEvent"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/CanadianFootballLeague"> + <rdfs:label xml:lang="el">καναδική ένωση ποδοσφαίρου</rdfs:label><rdfs:label xml:lang="fr">canadian football league</rdfs:label><rdfs:label xml:lang="en">canadian football league</rdfs:label><rdfs:label xml:lang="it">lega di football canadese</rdfs:label><rdfs:label xml:lang="ja">カナディアン・フットボール・リーグ</rdfs:label><rdfs:comment xml:lang="en">A group of sports teams that compete against each other in canadian football league.</rdfs:comment><rdfs:comment xml:lang="el">ένα σύνολο αθλητικών ομάδων που ανταγωνίζονται μεταξύ τους στην Καναδική ένωση ποδοσφαίρου</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/SportsLeague"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/PrehistoricalPeriod"> + <rdfs:label xml:lang="en">prehistorical period</rdfs:label><rdfs:label xml:lang="nl">periode in de prehistorie</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/TimePeriod"/><owl:disjointWith rdf:resource="http://dbpedia.org/ontology/HistoricalPeriod"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Food"> + <rdfs:label xml:lang="el">φαγητό</rdfs:label><rdfs:label xml:lang="fr">nourriture</rdfs:label><rdfs:label xml:lang="en">Food</rdfs:label><rdfs:label xml:lang="ja">食品</rdfs:label><rdfs:label xml:lang="nl">voedsel</rdfs:label><rdfs:label xml:lang="ko">음식</rdfs:label><rdfs:label xml:lang="es">alimento</rdfs:label><rdfs:label xml:lang="de">Lebensmittel</rdfs:label><rdfs:comment xml:lang="en">Food is any eatable or drinkable substance that is normally consumed by humans.</rdfs:comment><rdfs:comment xml:lang="el">Φαγητό είναι οποιαδήποτε φαγώσιμη ή πόσιμη ουσία που καταναλώνεται κανονικά από ανθρώπους.</rdfs:comment><rdfs:comment xml:lang="de">Lebensmittel umfasst als Oberbegriff sowohl Getränke als auch die Nahrungsmittel und Genussmittel.</rdfs:comment><rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Song"> + <rdfs:label xml:lang="el">τραγούδι</rdfs:label><rdfs:label xml:lang="fr">chanson</rdfs:label><rdfs:label xml:lang="en">song</rdfs:label><rdfs:label xml:lang="it">canzone</rdfs:label><rdfs:label xml:lang="ja">歌</rdfs:label><rdfs:label xml:lang="nl">lied</rdfs:label><rdfs:label xml:lang="ko">노래</rdfs:label><rdfs:label xml:lang="de">lied</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/MusicalWork"/><owl:equivalentClass rdf:resource="http://schema.org/MusicRecording"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Play"> + <rdfs:label xml:lang="el">παιχνίδι</rdfs:label><rdfs:label xml:lang="fr">pièce de théâtre</rdfs:label><rdfs:label xml:lang="en">play</rdfs:label><rdfs:label xml:lang="ja">戯曲</rdfs:label><rdfs:label xml:lang="nl">toneelstuk</rdfs:label><rdfs:label xml:lang="es">obra de teatro</rdfs:label><rdfs:label xml:lang="de">Theaterstück</rdfs:label><rdfs:comment xml:lang="en">A play is a form of literature written by a playwright, usually consisting of scripted dialogue between characters, intended for theatrical performance rather than just reading.</rdfs:comment><rdfs:comment xml:lang="el">Ένα παιχνίδι είναι μια μορφή της λογοτεχνίας, γραμμένο από έναν συγγραφέα, που συνήθως αποτελείται από σενάριο του διαλόγου μεταξύ των χαρακτήρων, που προορίζεται για την θεατρική παράσταση και όχι μόνο ανάγνωση.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/WrittenWork"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Album"> + <rdfs:label xml:lang="el">album</rdfs:label><rdfs:label xml:lang="fr">album</rdfs:label><rdfs:label xml:lang="en">album</rdfs:label><rdfs:label xml:lang="it">album</rdfs:label><rdfs:label xml:lang="ja">アルバム</rdfs:label><rdfs:label xml:lang="nl">album</rdfs:label><rdfs:label xml:lang="ko">앨범</rdfs:label><rdfs:label xml:lang="de">Album</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/MusicalWork"/><owl:equivalentClass rdf:resource="http://schema.org/MusicAlbum"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/ComedyGroup"> + <rdfs:label xml:lang="en">Comedy Group</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Organisation"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Sculpture"> + <rdfs:label xml:lang="el">Γλυπτική</rdfs:label><rdfs:label xml:lang="fr">sculpture</rdfs:label><rdfs:label xml:lang="en">Sculpture</rdfs:label><rdfs:label xml:lang="it">scultura</rdfs:label><rdfs:label xml:lang="nl">beeldhouwwerk</rdfs:label><rdfs:label xml:lang="de">Skulptur</rdfs:label><rdfs:comment xml:lang="en">Sculpture is three-dimensional artwork created by shaping or combining hard materials, typically stone such as marble, metal, glass, or wood, or plastic materials such as clay, textiles, polymers and softer metals.</rdfs:comment><rdfs:comment xml:lang="el">Γλυπτική είναι τρισδιάστατο έργο τέχνης το οποίο δημιουργήθηκε από τη διαμόρφωση ή συνδυάζοντας σκληρά υλικά, τυπικώς πέτρα όπως μάρμαρο, μέταλλο, γυαλί, ή ξύλο, ή πλαστικά υλικά όπως άργιλος, υφάσματα, πολυμερή και μαλακότερα μέταλλα.</rdfs:comment><rdfs:comment xml:lang="nl">Een beeldhouwwerk is een drie-dimensionaal kunstvoorwerp of plastiek, gemaakt van harde materialen zoals steen of metaal. Ook kunnen textiel of kunststoffen erin verwerkt zijn of het hoofdbestanddeel ervan uitmaken.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Artwork"/><owl:equivalentClass rdf:resource="http://schema.org/Sculpture"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/SubMunicipality"> + <rdfs:label xml:lang="en">borough</rdfs:label><rdfs:label xml:lang="de">Teilgemeinde</rdfs:label><rdfs:label xml:lang="nl">deelgemeente</rdfs:label><rdfs:comment xml:lang="en">An administrative body governing a territorial unity on the lowest level, administering part of a municipality</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/GovernmentalAdministrativeRegion"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Deanery"> + <rdfs:label xml:lang="en">deanery</rdfs:label><rdfs:label xml:lang="nl">proosdij</rdfs:label><rdfs:comment xml:lang="en">The intermediate level of a clerical administrative body between parish and diocese</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/ClericalAdministrativeRegion"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Airline"> + <rdfs:label xml:lang="el">αεροπορική εταιρεία</rdfs:label><rdfs:label xml:lang="fr">compagnie aérienne</rdfs:label><rdfs:label xml:lang="en">airline</rdfs:label><rdfs:label xml:lang="it">compagnia aerea</rdfs:label><rdfs:label xml:lang="ja">航空会社</rdfs:label><rdfs:label xml:lang="nl">luchtvaartmaatschappij</rdfs:label><rdfs:label xml:lang="ko">항공사</rdfs:label><rdfs:label xml:lang="de">Fluggesellschaft</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Company"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/VolleyballLeague"> + <rdfs:label xml:lang="en">volleyball league</rdfs:label><rdfs:label xml:lang="el">Ομοσπονδία Πετοσφαίρισης</rdfs:label><rdfs:label xml:lang="fr">ligue de volleyball</rdfs:label><rdfs:comment xml:lang="en">A group of sports teams that compete against each other in volleyball.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/SportsLeague"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/GrandPrix"> + <rdfs:label xml:lang="el">γκραν πρι</rdfs:label><rdfs:label xml:lang="fr">grand prix</rdfs:label><rdfs:label xml:lang="en">Grand Prix</rdfs:label><rdfs:label xml:lang="it">gran premio</rdfs:label><rdfs:label xml:lang="ja">グランプリ</rdfs:label><rdfs:label xml:lang="de">grosser Preis</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/SportsEvent"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/MountainPass"> + <rdfs:label xml:lang="el">Πέρασμα βουνού</rdfs:label><rdfs:label xml:lang="fr">col de montagne</rdfs:label><rdfs:label xml:lang="en">mountain pass</rdfs:label><rdfs:label xml:lang="ja">峠</rdfs:label><rdfs:label xml:lang="nl">bergpas</rdfs:label><rdfs:comment xml:lang="en">a path that allows the crossing of a mountain chain. It is usually a saddle point in between two areas of higher elevation</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Place"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Work"> + <rdfs:label xml:lang="el">δημιουργία</rdfs:label><rdfs:label xml:lang="fr">œuvre</rdfs:label><rdfs:label xml:lang="en">work</rdfs:label><rdfs:label xml:lang="ja">仕事</rdfs:label><rdfs:label xml:lang="nl">werk</rdfs:label><rdfs:label xml:lang="pt">obra</rdfs:label><rdfs:label xml:lang="de">Werk</rdfs:label><rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/><owl:equivalentClass rdf:resource="http://schema.org/CreativeWork"/><owl:disjointWith rdf:resource="http://dbpedia.org/ontology/wgs84_pos:SpatialThing"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Rocket"> + <rdfs:label xml:lang="el">πύραυλος</rdfs:label><rdfs:label xml:lang="fr">fusée</rdfs:label><rdfs:label xml:lang="en">rocket</rdfs:label><rdfs:label xml:lang="ja">ロケット</rdfs:label><rdfs:label xml:lang="nl">raket</rdfs:label><rdfs:label xml:lang="ko">로켓</rdfs:label><rdfs:label xml:lang="de">Rakete</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/MeanOfTransportation"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Blazon"> + <rdfs:label xml:lang="en">Blazon</rdfs:label><rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Aristocrat"> + <rdfs:label xml:lang="en">architect</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Bird"> + <rdfs:label xml:lang="el">πτηνό</rdfs:label><rdfs:label xml:lang="fr">oiseau</rdfs:label><rdfs:label xml:lang="en">bird</rdfs:label><rdfs:label xml:lang="it">uccello</rdfs:label><rdfs:label xml:lang="ja">鳥類</rdfs:label><rdfs:label xml:lang="nl">vogel</rdfs:label><rdfs:label xml:lang="ko">새</rdfs:label><rdfs:label xml:lang="de">Vogel</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Animal"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/GolfPlayer"> + <rdfs:label xml:lang="en">golf player</rdfs:label><rdfs:label xml:lang="el">παίκτης γκολφ</rdfs:label><rdfs:label xml:lang="fr">golfeur</rdfs:label><rdfs:label xml:lang="nl">golfspeler</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Athlete"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/BowlingLeague"> + <rdfs:label xml:lang="el">πρωτάθλημα μπόουλινγκ</rdfs:label><rdfs:label xml:lang="fr">ligue de bowling</rdfs:label><rdfs:label xml:lang="en">bowling league</rdfs:label><rdfs:label xml:lang="it">lega di bowling</rdfs:label><rdfs:label xml:lang="ja">ボーリングリーグ</rdfs:label><rdfs:comment xml:lang="en">a group of sports teams or players that compete against each other in Bowling</rdfs:comment><rdfs:comment xml:lang="el">Μία διοργάνωση ομάδες ανθρώπων ή μεμονομένα άτομα συναγωνίζονται στο άθλημα του μπόουλινγκ, συνήθως με ένα έπαθλο στους πρωταθλητές.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/SportsLeague"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/PublicServiceInput"> + <rdfs:label xml:lang="en">public service input</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/PublicService"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Saint"> + <rdfs:label xml:lang="el">Πληροφορίες Αγίου</rdfs:label><rdfs:label xml:lang="fr">saint</rdfs:label><rdfs:label xml:lang="en">saint</rdfs:label><rdfs:label xml:lang="ja">聖人</rdfs:label><rdfs:label xml:lang="nl">heilige</rdfs:label><rdfs:label xml:lang="ko">성인</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Cleric"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/HistoricalPeriod"> + <rdfs:label xml:lang="en">historical period</rdfs:label><rdfs:label xml:lang="el">ιστορική περίοδος</rdfs:label><rdfs:label xml:lang="nl">historische periode</rdfs:label><rdfs:comment xml:lang="en">A historical Period should be linked to a Place by way of the property dct:spatial (already defined)</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/TimePeriod"/><owl:equivalentClass rdf:resource="http://dbpedia.org/ontology/cidoccrm:E4_Period"/><owl:disjointWith rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Comics"> + <rdfs:label xml:lang="el">κινούμενα σχέδια</rdfs:label><rdfs:label xml:lang="fr">bande dessinée</rdfs:label><rdfs:label xml:lang="en">comics</rdfs:label><rdfs:label xml:lang="it">fumetto</rdfs:label><rdfs:label xml:lang="ja">漫画</rdfs:label><rdfs:label xml:lang="nl">stripverhaal</rdfs:label><rdfs:label xml:lang="es">historieta</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/WrittenWork"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/SquashPlayer"> + <rdfs:label xml:lang="en">squash player</rdfs:label><rdfs:label xml:lang="it">giocatore di squash</rdfs:label><rdfs:label xml:lang="nl">squasher</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Athlete"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/PokerPlayer"> + <rdfs:label xml:lang="el">παίχτης του πόκερ</rdfs:label><rdfs:label xml:lang="fr">joueur de poker</rdfs:label><rdfs:label xml:lang="en">poker player</rdfs:label><rdfs:label xml:lang="nl">pokerspeler</rdfs:label><rdfs:label xml:lang="de">Pokerspieler</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Athlete"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Anime"> + <rdfs:label xml:lang="en">anime</rdfs:label><rdfs:label xml:lang="el">άνιμε</rdfs:label><rdfs:label xml:lang="it">anime</rdfs:label><rdfs:label xml:lang="ja">アニメ</rdfs:label><rdfs:comment xml:lang="en">A style of animation originating in Japan</rdfs:comment><rdfs:comment xml:lang="el">Στυλ κινουμένων σχεδίων με καταγωγή την Ιαπωνία</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Cartoon"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Book"> + <rdfs:label xml:lang="el">βιβλίο</rdfs:label><rdfs:label xml:lang="fr">livre</rdfs:label><rdfs:label xml:lang="en">book</rdfs:label><rdfs:label xml:lang="it">libro</rdfs:label><rdfs:label xml:lang="ja">本</rdfs:label><rdfs:label xml:lang="nl">boek</rdfs:label><rdfs:label xml:lang="ko">책</rdfs:label><rdfs:label xml:lang="pl">książka</rdfs:label><rdfs:label xml:lang="ca">llibre</rdfs:label><rdfs:label xml:lang="bn">বই</rdfs:label><rdfs:label xml:lang="de">Buch</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/WrittenWork"/><owl:equivalentClass rdf:resource="http://schema.org/Book"/><owl:equivalentClass rdf:resource="http://purl.org/ontology/bibo/Book"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Language"> + <rdfs:label xml:lang="el">γλώσσα</rdfs:label><rdfs:label xml:lang="fr">langage</rdfs:label><rdfs:label xml:lang="en">language</rdfs:label><rdfs:label xml:lang="ja">言語</rdfs:label><rdfs:label xml:lang="nl">taal</rdfs:label><rdfs:label xml:lang="ko">언어</rdfs:label><rdfs:label xml:lang="es">idioma</rdfs:label><rdfs:label xml:lang="de">Sprache</rdfs:label><rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/><owl:equivalentClass rdf:resource="http://schema.org/Language"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Restaurant"> + <rdfs:label xml:lang="el">εστιατόριο</rdfs:label><rdfs:label xml:lang="fr">restaurant</rdfs:label><rdfs:label xml:lang="en">restaurant</rdfs:label><rdfs:label xml:lang="ja">レストラン</rdfs:label><rdfs:label xml:lang="nl">restaurant</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Building"/><owl:equivalentClass rdf:resource="http://schema.org/Restaurant"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/GeologicalPeriod"> + <rdfs:label xml:lang="en">geological period</rdfs:label><rdfs:label xml:lang="nl">geologische periode</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/TimePeriod"/><owl:disjointWith rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/OldTerritory"> + <rdfs:label xml:lang="en">old territory</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Territory"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/CollectionOfValuables"> + <rdfs:label xml:lang="en">collection of valuables</rdfs:label><rdfs:label xml:lang="de">Kunst- und Wertsachenversammlung</rdfs:label><rdfs:label xml:lang="nl">verzameling van kostbaarheden</rdfs:label><rdfs:label xml:lang="fr">collection d'objets</rdfs:label><rdfs:comment xml:lang="en">Collection of valuables is a collection considered to be a work in itself)</rdfs:comment><rdfs:comment xml:lang="nl">Een verzameling van kostbaarheden, die als een werk beschouwd wordt ).</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Work"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Diocese"> + <rdfs:label xml:lang="el">επισκοπή</rdfs:label><rdfs:label xml:lang="en">diocese</rdfs:label><rdfs:comment xml:lang="en">District or see under the supervision of a bishop.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/ClericalAdministrativeRegion"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Game"> + <rdfs:label xml:lang="el">Πληροφορίες παιχνιδιού</rdfs:label><rdfs:label xml:lang="fr">jeu</rdfs:label><rdfs:label xml:lang="en">game</rdfs:label><rdfs:label xml:lang="ja">ゲーム</rdfs:label><rdfs:label xml:lang="nl">spel</rdfs:label><rdfs:label xml:lang="pt">jogo</rdfs:label><rdfs:label xml:lang="de">Spiel</rdfs:label><rdfs:comment xml:lang="en">a structured activity, usually undertaken for enjoyment and sometimes used as an educational tool</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Activity"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Legislature"> + <rdfs:label xml:lang="en">legislature</rdfs:label><rdfs:label xml:lang="el">νομοθετικό σώμα</rdfs:label><rdfs:label xml:lang="fr">pouvoir législatif</rdfs:label><rdfs:label xml:lang="nl">wetgevend orgaan</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Organisation"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/MovieGenre"> + <rdfs:label xml:lang="en">movie genre</rdfs:label><rdfs:label xml:lang="de">Filmgenre</rdfs:label><rdfs:label xml:lang="el">είδος ταινίας</rdfs:label><rdfs:label xml:lang="nl">filmgenre</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Genre"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Actor"> + <rdfs:label xml:lang="el">ηθοποιός</rdfs:label><rdfs:label xml:lang="fr">acteur</rdfs:label><rdfs:label xml:lang="en">actor</rdfs:label><rdfs:label xml:lang="it">attore</rdfs:label><rdfs:label xml:lang="ja">俳優</rdfs:label><rdfs:label xml:lang="nl">acteur</rdfs:label><rdfs:label xml:lang="ko">영화인</rdfs:label><rdfs:label xml:lang="pt">ator</rdfs:label><rdfs:label xml:lang="pl">aktor</rdfs:label><rdfs:label xml:lang="es">actor</rdfs:label><rdfs:label xml:lang="de">Schauspieler</rdfs:label><rdfs:comment xml:lang="en">An actor or actress is a person who acts in a dramatic production and who works in film, television, theatre, or radio in that capacity.</rdfs:comment><rdfs:comment xml:lang="el">Μια ηθοποιός ή ένας ηθοποιός είναι ένα άτομο που παίζει σε μια δραματική παραγωγή και που εργάζεται στο χώρο του κινηματογράφου, της τηλεόρασης, του θεάτρου, ή το ραδιόφωνο.</rdfs:comment><rdfs:comment xml:lang="it">Un attore o un attrice è una persona che recita in una produzione teatrale, televisiva, cinematografica o radiofonica.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Artist"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Amphibian"> + <rdfs:label xml:lang="el">αμφίβιο</rdfs:label><rdfs:label xml:lang="fr">amphibien</rdfs:label><rdfs:label xml:lang="en">amphibian</rdfs:label><rdfs:label xml:lang="it">anfibio</rdfs:label><rdfs:label xml:lang="ja">両生類</rdfs:label><rdfs:label xml:lang="nl">amfibie</rdfs:label><rdfs:label xml:lang="pt">anfíbio</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Animal"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/GolfLeague"> + <rdfs:label xml:lang="en">golf league</rdfs:label><rdfs:label xml:lang="el">ένωση γκολφ</rdfs:label><rdfs:label xml:lang="fr">ligue de golf</rdfs:label><rdfs:label xml:lang="pt">liga de golfe</rdfs:label><rdfs:comment xml:lang="en">Golfplayer that compete against each other in Golf</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/SportsLeague"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/CareerStation"> + <rdfs:label xml:lang="en">career station</rdfs:label><rdfs:label xml:lang="de">Karrierestation</rdfs:label><rdfs:comment xml:lang="en">this class marks a career step in the life of a person, e.g. a soccer player, holding information on the time span, matches and goals he or she achieved at a certain club</rdfs:comment><rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Skyscraper"> + <rdfs:label xml:lang="el">ουρανοξύστης</rdfs:label><rdfs:label xml:lang="fr">gratte-ciel</rdfs:label><rdfs:label xml:lang="en">skyscraper</rdfs:label><rdfs:label xml:lang="ja">超高層建築物</rdfs:label><rdfs:label xml:lang="nl">wolkenkrabber</rdfs:label><rdfs:label xml:lang="ko">초고층 건물</rdfs:label><rdfs:label xml:lang="de">Hochhaus</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Building"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Group"> + <rdfs:label xml:lang="el">ομάδα</rdfs:label><rdfs:label xml:lang="fr">groupe</rdfs:label><rdfs:label xml:lang="en">group</rdfs:label><rdfs:label xml:lang="it">gruppo</rdfs:label><rdfs:label xml:lang="ja">集団</rdfs:label><rdfs:label xml:lang="nl">groep</rdfs:label><rdfs:label xml:lang="de">Gruppe</rdfs:label><rdfs:comment xml:lang="en">An (informal) group of people.</rdfs:comment><rdfs:comment xml:lang="fr">un groupe (informel) de personnes.</rdfs:comment><rdfs:comment xml:lang="el">Μια συνήθως άτυπη ομάδα ανθρώπων.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Organisation"/><rdfs:subClassOf rdf:resource="http://schema.org/Organization"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/ClericalOrder"> + <rdfs:label xml:lang="el">κληρική τάξη</rdfs:label><rdfs:label xml:lang="fr">ordre religieux</rdfs:label><rdfs:label xml:lang="en">clerical order</rdfs:label><rdfs:label xml:lang="it">ordine clericale</rdfs:label><rdfs:label xml:lang="nl">kloosterorde</rdfs:label><rdfs:comment xml:lang="nl">Een kloosterorde is een orde van religieuzen, mannen of vrouwen, die zich verenigd hebben omtrent een gemeenschappelijke geloofsopvatting en kloosterregel waaraan zij gebonden zijn, en op een permanente wijze samenleven binnen één en dezelfde plaatselijke gemeenschap, een klooster of een tempel. Meerdere kloosters van gelijkgezinde religieuzen vormen samen een kloosterorde.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Organisation"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/WindMotor"> + <rdfs:label xml:lang="en">Wind motor</rdfs:label><rdfs:label xml:lang="nl">Roosmolen</rdfs:label><rdfs:comment xml:lang="en">A wind-driven turbine that adapts itself to wind direction and to wind-force. Is considered to be a class in its own, despite the wind as common factor with Windmill.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Mill"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Drug"> + <rdfs:label xml:lang="el">φάρμακο</rdfs:label><rdfs:label xml:lang="fr">médicament</rdfs:label><rdfs:label xml:lang="en">drug</rdfs:label><rdfs:label xml:lang="ja">薬物</rdfs:label><rdfs:label xml:lang="nl">geneesmiddel</rdfs:label><rdfs:label xml:lang="ko">약</rdfs:label><rdfs:label xml:lang="de">Droge</rdfs:label><rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/NoteworthyPartOfBuilding"> + <rdfs:label xml:lang="en">Noteworthy part of a building (facade, chimney, etc.)</rdfs:label><rdfs:label xml:lang="nl">Opmerkelijk onderdeel van een bouwsel</rdfs:label><rdfs:comment xml:lang="en">A smaller detail about a building with a particular interest</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/ArchitecturalStructure"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Train"> + <rdfs:label xml:lang="el">τρένο</rdfs:label><rdfs:label xml:lang="fr">train</rdfs:label><rdfs:label xml:lang="en">train</rdfs:label><rdfs:label xml:lang="it">treno</rdfs:label><rdfs:label xml:lang="ja">列車</rdfs:label><rdfs:label xml:lang="nl">trein</rdfs:label><rdfs:label xml:lang="es">tren</rdfs:label><rdfs:label xml:lang="de">zug</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/MeanOfTransportation"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Windmill"> + <rdfs:label xml:lang="el">Ανεμόμυλος</rdfs:label><rdfs:label xml:lang="fr">moulin à vent</rdfs:label><rdfs:label xml:lang="en">Windmill</rdfs:label><rdfs:label xml:lang="it">mulino a vento</rdfs:label><rdfs:label xml:lang="nl">Windmolen</rdfs:label><rdfs:label xml:lang="es">Molinos de viento</rdfs:label><rdfs:label xml:lang="de">Windmühle</rdfs:label><rdfs:comment xml:lang="en">A windmill is a machine that converts the energy of wind into rotational energy by means of vanes called sails</rdfs:comment><rdfs:comment xml:lang="fr">Le moulin à vent est un dispositif qui transforme l’énergie éolienne (énergie cinétique du vent) en mouvement rotatif au moyen d’ailes ajustables.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Mill"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/SportsLeague"> + <rdfs:label xml:lang="en">sports league</rdfs:label><rdfs:label xml:lang="el">Αθλητική Ομοσπονδία</rdfs:label><rdfs:label xml:lang="fr">ligue sportive</rdfs:label><rdfs:label xml:lang="ko">스포츠 리그</rdfs:label><rdfs:comment xml:lang="en">A group of sports teams or individual athletes that compete against each other in a specific sport.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Organisation"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/BoardGame"> + <rdfs:label xml:lang="fr">jeu de société</rdfs:label><rdfs:label xml:lang="en">board game</rdfs:label><rdfs:label xml:lang="it">gioco da tavolo</rdfs:label><rdfs:label xml:lang="ja">ボードゲーム</rdfs:label><rdfs:label xml:lang="nl">bordspel</rdfs:label><rdfs:comment xml:lang="en">come from http://en.wikipedia.org/wiki/Category:Board_games</rdfs:comment><rdfs:comment xml:lang="it">Un gioco da tavolo è un gioco che richiede una ben definita superficie di gioco, che viene detta di solito tabellone o plancia.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Game"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/BadmintonPlayer"> + <rdfs:label xml:lang="el">παίχτης του μπάντμιντον</rdfs:label><rdfs:label xml:lang="fr">joueur de badminton</rdfs:label><rdfs:label xml:lang="en">badminton player</rdfs:label><rdfs:label xml:lang="it">giocatore di badminton</rdfs:label><rdfs:label xml:lang="ja">バドミントン選手</rdfs:label><rdfs:label xml:lang="nl">badmintonspeler</rdfs:label><rdfs:label xml:lang="ko">배드민턴 선수</rdfs:label><rdfs:label xml:lang="pt">jogador de badminton</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Athlete"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Currency"> + <rdfs:label xml:lang="el">νόμισμα</rdfs:label><rdfs:label xml:lang="fr">devise</rdfs:label><rdfs:label xml:lang="en">currency</rdfs:label><rdfs:label xml:lang="nl">muntsoort</rdfs:label><rdfs:label xml:lang="ko">통화</rdfs:label><rdfs:label xml:lang="de">Währung</rdfs:label><rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/ProgrammingLanguage"> + <rdfs:label xml:lang="fr">langage de programmation</rdfs:label><rdfs:label xml:lang="en">programming language</rdfs:label><rdfs:label xml:lang="nl">programmeertaal</rdfs:label><rdfs:label xml:lang="pt">linguagem de programação</rdfs:label><rdfs:label xml:lang="de">Programmiersprache</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Software"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/ChessPlayer"> + <rdfs:label xml:lang="el">παίκτης σκάκι</rdfs:label><rdfs:label xml:lang="en">chess player</rdfs:label><rdfs:label xml:lang="it">giocatore di scacchi</rdfs:label><rdfs:label xml:lang="nl">schaker</rdfs:label><rdfs:label xml:lang="pl">szachista</rdfs:label><rdfs:label xml:lang="de">Schachspieler</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Athlete"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/RugbyPlayer"> + <rdfs:label xml:lang="en">rugby player</rdfs:label><rdfs:label xml:lang="el">παίκτης rugby</rdfs:label><rdfs:label xml:lang="fr">joueur de rugby</rdfs:label><rdfs:label xml:lang="nl">rugbyspeler</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Athlete"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/DartsPlayer"> + <rdfs:label xml:lang="el">παίκτης βελάκιων</rdfs:label><rdfs:label xml:lang="nl">darter</rdfs:label><rdfs:label xml:lang="en">darts player</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Athlete"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Person"> + <rdfs:label xml:lang="el">Πληροφορίες προσώπου</rdfs:label><rdfs:label xml:lang="fr">personne</rdfs:label><rdfs:label xml:lang="ar">شخص</rdfs:label><rdfs:label xml:lang="en">person</rdfs:label><rdfs:label xml:lang="it">persona</rdfs:label><rdfs:label xml:lang="ja">人_(法律)</rdfs:label><rdfs:label xml:lang="nl">persoon</rdfs:label><rdfs:label xml:lang="sl">Oseba</rdfs:label><rdfs:label xml:lang="pt">pessoa</rdfs:label><rdfs:label xml:lang="es">persona</rdfs:label><rdfs:label xml:lang="de">Person</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Agent"/><owl:equivalentClass rdf:resource="http://xmlns.com/foaf/0.1/Person"/><owl:equivalentClass rdf:resource="http://schema.org/Person"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Architect"> + <rdfs:label xml:lang="el">αρχιτέκτονας</rdfs:label><rdfs:label xml:lang="fr">architecte</rdfs:label><rdfs:label xml:lang="en">architect</rdfs:label><rdfs:label xml:lang="it">architetto</rdfs:label><rdfs:label xml:lang="ja">建築士</rdfs:label><rdfs:label xml:lang="nl">architect</rdfs:label><rdfs:label xml:lang="ko">건축가</rdfs:label><rdfs:label xml:lang="es">arquitecto</rdfs:label><rdfs:label xml:lang="de">Architekt</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Globularswarm"> + <rdfs:label xml:lang="en">Globular Swarm</rdfs:label><rdfs:label xml:lang="el">Σφαιρωτό σμήνος</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Swarm"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/HandballLeague"> + <rdfs:label xml:lang="en">handball league</rdfs:label><rdfs:label xml:lang="el">Ομοσπονδία Χειροσφαίρισης</rdfs:label><rdfs:label xml:lang="fr">ligue de handball</rdfs:label><rdfs:comment xml:lang="en">a group of sports teams that compete against each other in Handball</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/SportsLeague"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Dog"> + <rdfs:label xml:lang="en">dog</rdfs:label><rdfs:label xml:lang="fr">chien</rdfs:label><rdfs:label xml:lang="de">Hund</rdfs:label><rdfs:label xml:lang="nl">hond</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Mammal"/><owl:disjointWith rdf:resource="http://dbpedia.org/ontology/Fish"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Infrastructure"> + <rdfs:label xml:lang="en">infrastructure</rdfs:label><rdfs:label xml:lang="el">Υποδομή</rdfs:label><rdfs:label xml:lang="fr">infrastructure</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/ArchitecturalStructure"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Atoll"> + <rdfs:label xml:lang="el">ατόλη</rdfs:label><rdfs:label xml:lang="fr">atoll</rdfs:label><rdfs:label xml:lang="en">atoll</rdfs:label><rdfs:label xml:lang="it">atollo</rdfs:label><rdfs:label xml:lang="ja">環礁</rdfs:label><rdfs:label xml:lang="de">Atoll</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Island"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/NetballPlayer"> + <rdfs:label xml:lang="en">netball player</rdfs:label><rdfs:label xml:lang="it">giocatore di netball</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Athlete"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Prefecture"> + <rdfs:label xml:lang="en">prefecture</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/SpaceMission"> + <rdfs:label xml:lang="el">διαστημική αποστολή</rdfs:label><rdfs:label xml:lang="fr">mission spatiale</rdfs:label><rdfs:label xml:lang="en">space mission</rdfs:label><rdfs:label xml:lang="ko">우주 임무</rdfs:label><rdfs:label xml:lang="es">misión espacial</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Event"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/RailwayLine"> + <rdfs:label xml:lang="en">railway line</rdfs:label><rdfs:label xml:lang="de">Eisenbahnlinie</rdfs:label><rdfs:label xml:lang="nl">spoorlijn</rdfs:label><rdfs:comment xml:lang="en">A railway line is a transport service by trains that pull passengers or freight provided by an organization. Not to be mistaken for railway track, which is the structure consisting of the rails. Wikipedia do not clearly differentiate between both, so there is one infobox describing tracks and lines.</rdfs:comment><rdfs:comment xml:lang="de">Eine Eisenbahnlinie im Verkehrswesen ist die regelmäßige Bedienung einer bestimmten Eisenbahnstrecke durch öffentliche Verkehrsmittel.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/RouteOfTransportation"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/CyclingCompetition"> + <rdfs:label xml:lang="en">cycling competition</rdfs:label><rdfs:label xml:lang="el">διαγωνισμός ποδηλασίας</rdfs:label><rdfs:label xml:lang="it">gara ciclistica</rdfs:label><rdfs:label xml:lang="nl">wielercompetitie</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/SportsEvent"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Monastery"> + <rdfs:label xml:lang="el">μοναστήρι</rdfs:label><rdfs:label xml:lang="fr">monastère</rdfs:label><rdfs:label xml:lang="en">monastery</rdfs:label><rdfs:label xml:lang="nl">klooster</rdfs:label><rdfs:label xml:lang="de">Kloster</rdfs:label><rdfs:comment xml:lang="en">Monastery denotes the building, or complex of buildings, comprising the domestic quarters and workplace(s) of monastics, whether monks or nuns, and whether living in community or alone (hermits). The monastery generally includes a place reserved for prayer which may be a chapel, church or temple, and may also serve as an oratory. (http://en.wikipedia.org/wiki/Monastry).</rdfs:comment><rdfs:comment xml:lang="el">Μονή υποδηλώνει το κτίριο ή συγκρότημα κτιρίων, που αποτελείται από τις εγχώρια τρίμηνα και στο χώρο εργασίας (ες) των μοναχών, αν οι μοναχοί ή μοναχές, και αν ζουν στην κοινότητα ή μεμονωμένα (ερημίτες). Η μονή περιλαμβάνει γενικά ένα χώρο που προορίζεται για την προσευχή που μπορεί να είναι ένα παρεκκλήσι, εκκλησία ή ναό, και μπορεί επίσης να χρησιμεύσει ως μια ρητορική. +(http://en.wikipedia.org/wiki/Monastry).</rdfs:comment><rdfs:comment xml:lang="nl">Een klooster (van het Latijnse claustrum, afgesloten ruimte) is een gebouw of een samenstel van gebouwen dat dient tot huisvesting van een groep of gemeenschap van mannen of vrouwen, vaak monniken of monialen genoemd, die zich uit de wereld heeft teruggetrokken om een godsdienstig leven te leiden. (http://nl.wikipedia.org/wiki/Klooster_%28gebouw%29).</rdfs:comment><rdfs:comment xml:lang="fr">Le monastère est un ensemble de bâtiments où habite une communauté religieuse de moines ou de moniales. (http://http://fr.wikipedia.org/wiki/Monast%C3%A8re).</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/ReligiousBuilding"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/RailwayTunnel"> + <rdfs:label xml:lang="en">σιδηροδρομική σήραγγα</rdfs:label><rdfs:label xml:lang="de">Eisenbahntunnel</rdfs:label><rdfs:label xml:lang="nl">spoorwegtunnel</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Tunnel"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Senator"> + <rdfs:label xml:lang="el">γερουσιαστής</rdfs:label><rdfs:label xml:lang="fr">sénateur</rdfs:label><rdfs:label xml:lang="en">senator</rdfs:label><rdfs:label xml:lang="nl">senator</rdfs:label><rdfs:label xml:lang="es">senador</rdfs:label><rdfs:label xml:lang="de">Senator</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Politician"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/ChemicalElement"> + <rdfs:label xml:lang="el">χημικό στοιχείο</rdfs:label><rdfs:label xml:lang="fr">élément chimique</rdfs:label><rdfs:label xml:lang="en">chemical element</rdfs:label><rdfs:label xml:lang="it">elemento chimico</rdfs:label><rdfs:label xml:lang="ja">元素</rdfs:label><rdfs:label xml:lang="nl">chemisch element</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/ChemicalSubstance"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/GivenName"> + <rdfs:label xml:lang="el">όνομα</rdfs:label><rdfs:label xml:lang="fr">prénom</rdfs:label><rdfs:label xml:lang="en">given name</rdfs:label><rdfs:label xml:lang="ja">名</rdfs:label><rdfs:label xml:lang="nl">voornaam</rdfs:label><rdfs:label xml:lang="pl">imię</rdfs:label><rdfs:label xml:lang="de">Vorname</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Name"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Artery"> + <rdfs:label xml:lang="el">αρτηρία</rdfs:label><rdfs:label xml:lang="fr">artère</rdfs:label><rdfs:label xml:lang="en">artery</rdfs:label><rdfs:label xml:lang="it">arteria</rdfs:label><rdfs:label xml:lang="ja">動脈</rdfs:label><rdfs:label xml:lang="de">Arterie</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/AnatomicalStructure"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/FieldHockeyLeague"> + <rdfs:label xml:lang="en">field hockey league</rdfs:label><rdfs:label xml:lang="el">πρωτάθλημα χόκεϊ επί χόρτου</rdfs:label><rdfs:label xml:lang="fr">ligue d'hockey sur gazon</rdfs:label><rdfs:comment xml:lang="en">a group of sports teams that compete against each other in Field Hockey</rdfs:comment><rdfs:comment xml:lang="el">ένα γκρουπ αθλητικών ομάδων που διαγωνίζονται η μια εναντίον της άλλης στο χόκεϊ επί χόρτου</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/SportsLeague"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/TennisTournament"> + <rdfs:label xml:lang="en">tennis tournament</rdfs:label><rdfs:label xml:lang="nl">tennis toernooi</rdfs:label><rdfs:label xml:lang="el">Τουρνουά Τένις</rdfs:label><rdfs:label xml:lang="it">torneo di tennis</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/SportsEvent"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Synagogue"> + <rdfs:label xml:lang="en">synagog</rdfs:label><rdfs:label xml:lang="fr">synagogue</rdfs:label><rdfs:label xml:lang="es">sinagoga</rdfs:label><rdfs:label xml:lang="nl">synagoge</rdfs:label><rdfs:comment xml:lang="en">A synagogue, sometimes spelt synagog, is a Jewish or Samaritan house of prayer.</rdfs:comment><rdfs:comment xml:lang="fr">Une synagogue est un lieu de culte juif.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/ReligiousBuilding"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Project"> + <rdfs:label xml:lang="el">σχέδιο</rdfs:label><rdfs:label xml:lang="fr">projet</rdfs:label><rdfs:label xml:lang="en">project</rdfs:label><rdfs:label xml:lang="ja">プロジェクト</rdfs:label><rdfs:label xml:lang="es">proyecto</rdfs:label><rdfs:label xml:lang="de">Projekt</rdfs:label><rdfs:comment xml:lang="en">A project is a temporary endeavor undertaken to achieve defined objectives.</rdfs:comment><rdfs:comment xml:lang="de">Ein Projekt ist ein zeitlich begrenztes Unternehmen, das unternommen wird, um definierte Ziele zu erreichen.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/UnitOfWork"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/FootballLeagueSeason"> + <rdfs:label xml:lang="en">football league season</rdfs:label><rdfs:label xml:lang="el">αγωνιστική περίοδος πρωταθλήματος ποδοσφαίρου</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/SportsTeamSeason"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Camera"> + <rdfs:label xml:lang="fr">appareil photographique</rdfs:label><rdfs:label xml:lang="en">camera</rdfs:label><rdfs:label xml:lang="it">fotocamera</rdfs:label><rdfs:label xml:lang="ja">カメラ</rdfs:label><rdfs:label xml:lang="nl">camera</rdfs:label><rdfs:comment xml:lang="it">Una fotocamera (in lingua italiana nota tradizionalmente come macchina fotografica) è uno strumento utilizzato per la ripresa fotografica e per ottenere immagini di oggetti reali stampabili su supporti materiali cartacei o archiviabili su supporti elettronici.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Device"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Judge"> + <rdfs:label xml:lang="el">δικαστής</rdfs:label><rdfs:label xml:lang="fr">juge</rdfs:label><rdfs:label xml:lang="en">judge</rdfs:label><rdfs:label xml:lang="it">giudice</rdfs:label><rdfs:label xml:lang="ja">裁判官</rdfs:label><rdfs:label xml:lang="nl">rechter</rdfs:label><rdfs:label xml:lang="de">richter</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Ship"> + <rdfs:label xml:lang="el">πλοίο</rdfs:label><rdfs:label xml:lang="fr">navire</rdfs:label><rdfs:label xml:lang="en">ship</rdfs:label><rdfs:label xml:lang="ja">舩</rdfs:label><rdfs:label xml:lang="nl">schip</rdfs:label><rdfs:label xml:lang="ko">배</rdfs:label><rdfs:label xml:lang="pl">statek</rdfs:label><rdfs:label xml:lang="es">barco</rdfs:label><rdfs:label xml:lang="de">Schiff</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/MeanOfTransportation"/><rdfs:subClassOf rdf:resource="http://schema.org/Product"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Award"> + <rdfs:label xml:lang="el">βραβείο</rdfs:label><rdfs:label xml:lang="fr">récompense</rdfs:label><rdfs:label xml:lang="en">award</rdfs:label><rdfs:label xml:lang="it">premio</rdfs:label><rdfs:label xml:lang="ja">賞</rdfs:label><rdfs:label xml:lang="ko">상</rdfs:label><rdfs:label xml:lang="sl">nagrada</rdfs:label><rdfs:label xml:lang="pl">nagroda</rdfs:label><rdfs:label xml:lang="de">Auszeichnung</rdfs:label><rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/CelestialBody"> + <rdfs:label xml:lang="el">ουράνιο σώμα</rdfs:label><rdfs:label xml:lang="fr">corps celeste</rdfs:label><rdfs:label xml:lang="en">celestial body</rdfs:label><rdfs:label xml:lang="it">corpo celeste</rdfs:label><rdfs:label xml:lang="ja">天体</rdfs:label><rdfs:label xml:lang="nl">hemellichaam</rdfs:label><rdfs:label xml:lang="es">cuerpo celeste</rdfs:label><rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/MartialArtist"> + <rdfs:label xml:lang="en">martial artist</rdfs:label><rdfs:label xml:lang="el">Πολεμικός Καλλιτέχνης</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Athlete"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/HollywoodCartoon"> + <rdfs:label xml:lang="en">hollywood cartoon</rdfs:label><rdfs:label xml:lang="el">κινούμενα σχέδια του Hollywood</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Cartoon"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Musical"> + <rdfs:label xml:lang="el">μουσικός</rdfs:label><rdfs:label xml:lang="fr">musique</rdfs:label><rdfs:label xml:lang="en">musical</rdfs:label><rdfs:label xml:lang="ja">ミュージカル</rdfs:label><rdfs:label xml:lang="nl">musical</rdfs:label><rdfs:label xml:lang="ko">뮤지컬</rdfs:label><rdfs:label xml:lang="de">Musical</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Work"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/BeachVolleyballPlayer"> + <rdfs:label xml:lang="en">beach volleyball player</rdfs:label><rdfs:label xml:lang="el">παίκτης του beach volley</rdfs:label><rdfs:label xml:lang="it">giocatore di beach volley</rdfs:label><rdfs:label xml:lang="ja">ビーチバレー選手</rdfs:label><rdfs:comment xml:lang="el">Ένα άτομο (άνδρας ή γυναίκα) που ασχολείται με το άθλημα του μπίτς βόλλεϋ.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/VolleyballPlayer"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/NCAATeamSeason"> + <rdfs:label xml:lang="en">national collegiate athletic association team season</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/SportsTeamSeason"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Star"> + <rdfs:label xml:lang="el">αστέρι</rdfs:label><rdfs:label xml:lang="fr">étoile</rdfs:label><rdfs:label xml:lang="en">star</rdfs:label><rdfs:label xml:lang="it">stella</rdfs:label><rdfs:label xml:lang="nl">ster</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/CelestialBody"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/InlineHockeyLeague"> + <rdfs:label xml:lang="en">inline hockey league</rdfs:label><rdfs:label xml:lang="el">πρωτάθλημα χόκεϋ inline</rdfs:label><rdfs:comment xml:lang="en">group of sports teams that compete against each other in Inline Hockey.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/SportsLeague"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/EurovisionSongContestEntry"> + <rdfs:label xml:lang="en">Eurovision song contest entry</rdfs:label><rdfs:label xml:lang="el">Διαγωνισμός τραγουδιού της Eurovision</rdfs:label><rdfs:label xml:lang="fr">concours Eurovision de la chanson</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Song"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Parish"> + <rdfs:label xml:lang="en">parish</rdfs:label><rdfs:label xml:lang="fr">paroisse</rdfs:label><rdfs:label xml:lang="nl">parochie</rdfs:label><rdfs:comment xml:lang="en">The smallest unit of a clerical administrative body</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/ClericalAdministrativeRegion"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/AmateurBoxer"> + <rdfs:label xml:lang="el">ερασιτέχνης μποξέρ</rdfs:label><rdfs:label xml:lang="fr">boxeur amateur</rdfs:label><rdfs:label xml:lang="en">amateur boxer</rdfs:label><rdfs:label xml:lang="it">pugile amatoriale</rdfs:label><rdfs:label xml:lang="ja">アマチュアボクサー</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Boxer"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Bone"> + <rdfs:label xml:lang="el">οστό</rdfs:label><rdfs:label xml:lang="fr">os</rdfs:label><rdfs:label xml:lang="en">bone</rdfs:label><rdfs:label xml:lang="it">osso</rdfs:label><rdfs:label xml:lang="ja">骨</rdfs:label><rdfs:label xml:lang="nl">bot</rdfs:label><rdfs:label xml:lang="pt">osso</rdfs:label><rdfs:label xml:lang="de">Knochen</rdfs:label><rdfs:comment xml:lang="el">Η βασική μονάδα του συστήματος στήριξης των σπονδυλωτών οργανισμών.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/AnatomicalStructure"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/City"> + <rdfs:label xml:lang="el">πόλη</rdfs:label><rdfs:label xml:lang="fr">cité</rdfs:label><rdfs:label xml:lang="en">city</rdfs:label><rdfs:label xml:lang="it">città</rdfs:label><rdfs:label xml:lang="ja">市</rdfs:label><rdfs:label xml:lang="nl">stad</rdfs:label><rdfs:label xml:lang="ko">도시</rdfs:label><rdfs:label xml:lang="pt">cidade</rdfs:label><rdfs:label xml:lang="de">Stadt</rdfs:label><rdfs:comment xml:lang="en">a relatively large and permanent settlement, particularly a large urban settlement</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Settlement"/><owl:equivalentClass rdf:resource="http://schema.org/City"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Economist"> + <rdfs:label xml:lang="el">οικονομολόγος</rdfs:label><rdfs:label xml:lang="fr">économiste</rdfs:label><rdfs:label xml:lang="en">economist</rdfs:label><rdfs:label xml:lang="nl">econoom</rdfs:label><rdfs:label xml:lang="es">economista</rdfs:label><rdfs:comment xml:lang="en">An economist is a professional in the social science discipline of economics.</rdfs:comment><rdfs:comment xml:lang="fr">Le terme d’économiste désigne une personne experte en science économique.</rdfs:comment><rdfs:comment xml:lang="es">Un economista es un profesional de las ciencias sociales experto en economía teórica o aplicada.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Convention"> + <rdfs:label xml:lang="en">convention</rdfs:label><rdfs:label xml:lang="el">συνέδριο</rdfs:label><rdfs:label xml:lang="fr">congrès</rdfs:label><rdfs:label xml:lang="ko">컨벤션</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Event"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/SpeedwayRider"> + <rdfs:label xml:lang="en">speedway rider</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/MotorcycleRider"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Gymnast"> + <rdfs:label xml:lang="en">gymnast</rdfs:label><rdfs:label xml:lang="el">γυμναστής</rdfs:label><rdfs:comment xml:lang="en">A gymnast is one who performs gymnastics</rdfs:comment><rdfs:comment xml:lang="el">Ένας γυμναστής είναι ένας που εκτελεί γυμναστικές ασκήσεις</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Athlete"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/ShoppingMall"> + <rdfs:label xml:lang="el">εμπορικό κέντρο</rdfs:label><rdfs:label xml:lang="fr">centre commercial</rdfs:label><rdfs:label xml:lang="en">shopping mall</rdfs:label><rdfs:label xml:lang="ja">ショッピングモール</rdfs:label><rdfs:label xml:lang="nl">winkelcentrum</rdfs:label><rdfs:label xml:lang="pt">shopping</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Building"/><owl:equivalentClass rdf:resource="http://schema.org/ShoppingCenter"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Journalist"> + <rdfs:label xml:lang="el">δημοσιογράφος</rdfs:label><rdfs:label xml:lang="fr">journaliste</rdfs:label><rdfs:label xml:lang="en">journalist</rdfs:label><rdfs:label xml:lang="it">giornalista</rdfs:label><rdfs:label xml:lang="ja">ジャーナリスト</rdfs:label><rdfs:label xml:lang="nl">journalist</rdfs:label><rdfs:label xml:lang="de">journalist</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/SportFacility"> + <rdfs:label xml:lang="en">sport facility</rdfs:label><rdfs:label xml:lang="el">αθλητικές εγκαταστάσεις</rdfs:label><rdfs:label xml:lang="fr">installation sportive</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Place"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Agent"> + <rdfs:label xml:lang="el">πράκτορας</rdfs:label><rdfs:label xml:lang="fr">agent</rdfs:label><rdfs:label xml:lang="en">agent</rdfs:label><rdfs:label xml:lang="it">agente</rdfs:label><rdfs:label xml:lang="ja">エージェント</rdfs:label><rdfs:label xml:lang="nl">agent</rdfs:label><rdfs:label xml:lang="es">agente</rdfs:label><rdfs:comment xml:lang="en">Analogous to a foaf:Agent, an agent is an entity that acts. This is intended to be the super class of Person and Organisation.</rdfs:comment><rdfs:comment xml:lang="el">Ανάλογα με την κλάση foaf:Agent, ένας πράκτορας είναι μια οντότητα που ενεργεί. Αυτό προορίζεται να είναι μια υπερκλάση της κλάσης Άτόμο και Οργανισμός.</rdfs:comment><rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Mill"> + <rdfs:label xml:lang="el">Μύλος</rdfs:label><rdfs:label xml:lang="fr">Moulin</rdfs:label><rdfs:label xml:lang="en">Mill</rdfs:label><rdfs:label xml:lang="it">mulino</rdfs:label><rdfs:label xml:lang="nl">Molen</rdfs:label><rdfs:label xml:lang="de">Mühle</rdfs:label><rdfs:comment xml:lang="en">a unit operation designed to break a solid material into smaller pieces</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Building"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Painting"> + <rdfs:label xml:lang="el">Έργο Ζωγραφικής</rdfs:label><rdfs:label xml:lang="fr">peinture</rdfs:label><rdfs:label xml:lang="en">Painting</rdfs:label><rdfs:label xml:lang="ja">絵画</rdfs:label><rdfs:label xml:lang="nl">schilderij</rdfs:label><rdfs:label xml:lang="pl">obraz</rdfs:label><rdfs:label xml:lang="de">Gemälde</rdfs:label><rdfs:comment xml:lang="en">Describes a painting to assign picture entries in wikipedia to artists.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Artwork"/><owl:equivalentClass rdf:resource="http://schema.org/Painting"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/OlympicResult"> + <rdfs:label xml:lang="en">olympic result</rdfs:label><rdfs:label xml:lang="el">αποτελέσματα Ολυμπιακών αγώνων</rdfs:label><rdfs:label xml:lang="fr">résultat de Jeux Olympiques</rdfs:label><rdfs:label xml:lang="es">resultados de Juegos Olímpicos</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/SportCompetitionResult"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/SportsTeamMember"> + <rdfs:label xml:lang="en">Sports team member</rdfs:label><rdfs:label xml:lang="el">μέλος αθλητικής ομάδας</rdfs:label><rdfs:comment xml:lang="en">A member of an athletic team.</rdfs:comment><rdfs:comment xml:lang="el">Μέλος αθλητικής ομάδας.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/OrganisationMember"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/MilitaryUnit"> + <rdfs:label xml:lang="el">Στρατιωτική Μονάδα</rdfs:label><rdfs:label xml:lang="fr">unité militaire</rdfs:label><rdfs:label xml:lang="en">military unit</rdfs:label><rdfs:label xml:lang="ko">군대</rdfs:label><rdfs:label xml:lang="pt">unidade militar</rdfs:label><rdfs:label xml:lang="es">unidad militar</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Organisation"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/PublicService"> + <rdfs:label xml:lang="en">public service</rdfs:label><rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/AnimangaCharacter"> + <rdfs:label xml:lang="en">animanga character</rdfs:label><rdfs:label xml:lang="el">χαρακτήρας ανιμάνγκα</rdfs:label><rdfs:label xml:lang="it">personaggio animanga</rdfs:label><rdfs:label xml:lang="ja">キャラクター</rdfs:label><rdfs:comment xml:lang="en">Anime/Manga character</rdfs:comment><rdfs:comment xml:lang="el">Χαρακτήρας από Άνιμε/Μάνγκα</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/ComicsCharacter"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/SoccerTournament"> + <rdfs:label xml:lang="en">soccer tournoment</rdfs:label><rdfs:label xml:lang="el">τουρνουά ποδοσφαίρου</rdfs:label><rdfs:label xml:lang="pt">campeonato de futebol</rdfs:label><rdfs:label xml:lang="tr">futbol turnuvası</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/SportsEvent"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Disease"> + <rdfs:label xml:lang="el">ασθένεια</rdfs:label><rdfs:label xml:lang="fr">maladie</rdfs:label><rdfs:label xml:lang="en">disease</rdfs:label><rdfs:label xml:lang="ja">病気</rdfs:label><rdfs:label xml:lang="nl">ziekte</rdfs:label><rdfs:label xml:lang="ko">질병</rdfs:label><rdfs:label xml:lang="de">Krankheit</rdfs:label><rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Grape"> + <rdfs:label xml:lang="el">σταφύλι</rdfs:label><rdfs:label xml:lang="fr">raisin</rdfs:label><rdfs:label xml:lang="en">grape</rdfs:label><rdfs:label xml:lang="it">uva</rdfs:label><rdfs:label xml:lang="ja">ブドウ</rdfs:label><rdfs:label xml:lang="nl">druif</rdfs:label><rdfs:label xml:lang="de">Weintraube</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/FloweringPlant"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/BodyOfWater"> + <rdfs:label xml:lang="el">ύδατα</rdfs:label><rdfs:label xml:lang="fr">étendue d'eau</rdfs:label><rdfs:label xml:lang="en">body of water</rdfs:label><rdfs:label xml:lang="it">distesa d'acqua</rdfs:label><rdfs:label xml:lang="ja">水域</rdfs:label><rdfs:label xml:lang="es">Cuerpo de agua</rdfs:label><rdfs:comment xml:lang="el">Συγκεντρωμένες, συνήθως μεγάλες ποσότητες νερού (π.χ. ωκεανοί) που βρίσκονται στη Γη ή σε οποιονδήποτε άλλο πλανήτη. Ο όρος χρησιμοποιείται και για υδάτινους σχηματισμούς όπου υπάρχει κίνηση του νερού, όπως ποταμοί, ρεύματα ή κανάλια.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/NaturalPlace"/><owl:equivalentClass rdf:resource="http://schema.org/BodyOfWater"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/RaceTrack"> + <rdfs:label xml:lang="en">race track</rdfs:label><rdfs:label xml:lang="el">πίστα αγώνων</rdfs:label><rdfs:label xml:lang="fr">circuit de course</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/SportFacility"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/HistoricBuilding"> + <rdfs:label xml:lang="el">ιστορικό κτίριο</rdfs:label><rdfs:label xml:lang="fr">bâtiment historique</rdfs:label><rdfs:label xml:lang="en">historic building</rdfs:label><rdfs:label xml:lang="ja">歴史的建造物</rdfs:label><rdfs:label xml:lang="nl">historisch gebouw</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Building"/><owl:equivalentClass rdf:resource="http://schema.org/LandmarksOrHistoricalBuildings"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Monument"> + <rdfs:label xml:lang="el">μνημείο</rdfs:label><rdfs:label xml:lang="fr">monument</rdfs:label><rdfs:label xml:lang="en">monument</rdfs:label><rdfs:label xml:lang="nl">monument</rdfs:label><rdfs:label xml:lang="de">Denkmal</rdfs:label><rdfs:comment xml:lang="en">A type of structure (a statue or an art object) created to commemorate a person or important event, not necessarily of a catastrophic nature.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Place"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Artist"> + <rdfs:label xml:lang="el">καλλιτέχνης</rdfs:label><rdfs:label xml:lang="fr">artiste</rdfs:label><rdfs:label xml:lang="en">artist</rdfs:label><rdfs:label xml:lang="it">artista</rdfs:label><rdfs:label xml:lang="ja">芸術家</rdfs:label><rdfs:label xml:lang="nl">kunstenaar</rdfs:label><rdfs:label xml:lang="ko">예술가</rdfs:label><rdfs:label xml:lang="de">Künstler</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/HorseTrainer"> + <rdfs:label xml:lang="en">horse trainer</rdfs:label><rdfs:label xml:lang="el">εκπαιδευτής αλόγων</rdfs:label><rdfs:label xml:lang="ja">調教師</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Imdb"> + <rdfs:label xml:lang="en">Imdb</rdfs:label><rdfs:label xml:lang="fr">Imdb</rdfs:label><rdfs:label xml:lang="nl">Imdb</rdfs:label><rdfs:label xml:lang="el">Imdb</rdfs:label><rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/GeopoliticalOrganisation"> + <rdfs:label xml:lang="en">geopolitical organisation</rdfs:label><rdfs:label xml:lang="el">γεωπολιτική οργάνωση</rdfs:label><rdfs:label xml:lang="fr">organisation géopolitique</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Organisation"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/MouseGene"> + <rdfs:label xml:lang="en">MouseGene</rdfs:label><rdfs:label xml:lang="el">γονίδιο ποντικιού</rdfs:label><rdfs:label xml:lang="ja">マウス遺伝子</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Gene"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/AmericanFootballTeam"> + <rdfs:label xml:lang="el">ομάδα αμερικανικού ποδοσφαίρου</rdfs:label><rdfs:label xml:lang="fr">équipe américaine de football américain</rdfs:label><rdfs:label xml:lang="en">american football team</rdfs:label><rdfs:label xml:lang="it">squadra di football americano</rdfs:label><rdfs:label xml:lang="ja">アメリカン・フットボール・チーム</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/SportsTeam"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/GaelicGamesPlayer"> + <rdfs:label xml:lang="en">Gaelic games player</rdfs:label><rdfs:label xml:lang="el">Γαελικός παίκτης παιχνιδιών</rdfs:label><rdfs:label xml:lang="fr">joueur de sports gaéliques</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Athlete"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Novel"> + <rdfs:label xml:lang="el">νουβέλα</rdfs:label><rdfs:label xml:lang="fr">roman</rdfs:label><rdfs:label xml:lang="en">novel</rdfs:label><rdfs:label xml:lang="it">novella</rdfs:label><rdfs:label xml:lang="ja">小説</rdfs:label><rdfs:label xml:lang="nl">roman</rdfs:label><rdfs:comment xml:lang="en">A book of long narrative in literary prose</rdfs:comment><rdfs:comment xml:lang="el">Ένα βιβλίο με μεγάλη αφήγηση σε λογοτεχνική πρόζα</rdfs:comment><rdfs:comment xml:lang="fr">Le roman est un genre littéraire, caractérisé pour l'essentiel par une narration fictionnelle plus ou moins longue.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Book"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Skater"> + <rdfs:label xml:lang="en">skater</rdfs:label><rdfs:label xml:lang="it">pattinatore</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Athlete"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Curler"> + <rdfs:label xml:lang="el">μπικουτί</rdfs:label><rdfs:label xml:lang="nl">curlingspeler</rdfs:label><rdfs:label xml:lang="en">curler</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Athlete"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/GovernmentalAdministrativeRegion"> + <rdfs:label xml:lang="en">governmental administrative region</rdfs:label><rdfs:label xml:lang="fr">région administrative d'état</rdfs:label><rdfs:label xml:lang="nl">gebied onder overheidsbestuur</rdfs:label><rdfs:comment xml:lang="en">An administrative body governing some territorial unity, in this case a governmental administrative body</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/AdministrativeRegion"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Eukaryote"> + <rdfs:label xml:lang="en">eukaryote</rdfs:label><rdfs:label xml:lang="el">ευκαρυωτικό</rdfs:label><rdfs:label xml:lang="fr">eucaryote</rdfs:label><rdfs:label xml:lang="ja">真核生物</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Species"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Professor"> + <rdfs:label xml:lang="en">professor</rdfs:label><rdfs:label xml:lang="fr">professeur</rdfs:label><rdfs:label xml:lang="de">Professor</rdfs:label><rdfs:label xml:lang="nl">professor</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Scientist"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/VicePresident"> + <rdfs:label xml:lang="en">vice president</rdfs:label><rdfs:label xml:lang="el">αντιπρόεδρος</rdfs:label><rdfs:label xml:lang="de">Vizepräsident</rdfs:label><rdfs:label xml:lang="fr">vice président</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Politician"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/BaseballLeague"> + <rdfs:label xml:lang="el">πρωτάθλημα μπέιζμπολ</rdfs:label><rdfs:label xml:lang="fr">ligue de baseball</rdfs:label><rdfs:label xml:lang="en">baseball league</rdfs:label><rdfs:label xml:lang="it">lega di baseball</rdfs:label><rdfs:label xml:lang="ja">野球リーグ</rdfs:label><rdfs:comment xml:lang="en">a group of sports teams that compete against each other in Baseball.</rdfs:comment><rdfs:comment xml:lang="el">ένα σύνολο από ομάδες μπέιζμπολ οι οποίες συναγωνίζονται μεταξύ τους.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/SportsLeague"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/EducationalInstitution"> + <rdfs:label xml:lang="el">εκπαιδευτικό ίδρυμα</rdfs:label><rdfs:label xml:lang="fr">établissement d'enseignement</rdfs:label><rdfs:label xml:lang="en">educational institution</rdfs:label><rdfs:label xml:lang="nl">onderwijsinstelling</rdfs:label><rdfs:label xml:lang="de">Bildungseinrichtung</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Organisation"/><owl:equivalentClass rdf:resource="http://schema.org/EducationalOrganization"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/SpaceStation"> + <rdfs:label xml:lang="el">διαστημικός σταθμός</rdfs:label><rdfs:label xml:lang="fr">station spatiale</rdfs:label><rdfs:label xml:lang="en">space station</rdfs:label><rdfs:label xml:lang="nl">ruimtestation</rdfs:label><rdfs:label xml:lang="ko">우주 정거장</rdfs:label><rdfs:label xml:lang="es">estación espacial</rdfs:label><rdfs:label xml:lang="de">Raumstation</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/MeanOfTransportation"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Constellation"> + <rdfs:label xml:lang="el">αστερισμός</rdfs:label><rdfs:label xml:lang="en">constellation</rdfs:label><rdfs:label xml:lang="it">costellazione</rdfs:label><rdfs:label xml:lang="tr">takımyıldızı</rdfs:label><rdfs:label xml:lang="nl">samenstel</rdfs:label><rdfs:comment xml:lang="it">Una costellazione è ognuna delle 88 parti in cui la sfera celeste è convenzionalmente suddivisa allo scopo di mappare le stelle.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/CelestialBody"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Skier"> + <rdfs:label xml:lang="el">σκιέρ</rdfs:label><rdfs:label xml:lang="fr">skieur</rdfs:label><rdfs:label xml:lang="en">skier</rdfs:label><rdfs:label xml:lang="it">sciatore</rdfs:label><rdfs:label xml:lang="ja">スキーヤー</rdfs:label><rdfs:label xml:lang="nl">skiër</rdfs:label><rdfs:label xml:lang="de">skifahrer</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Athlete"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/PaintballLeague"> + <rdfs:label xml:lang="en">paintball league</rdfs:label><rdfs:label xml:lang="el">κύπελλο paintball</rdfs:label><rdfs:label xml:lang="fr">ligue de paintball</rdfs:label><rdfs:comment xml:lang="en">a group of sports teams that compete against each other in Paintball</rdfs:comment><rdfs:comment xml:lang="el">ένα γκρουπ αθλητικών ομάδων που ανταγωνίζονται στο paintball</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/SportsLeague"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/ClubMoss"> + <rdfs:label xml:lang="en">club moss</rdfs:label><rdfs:label xml:lang="el">Μούσκλια</rdfs:label><rdfs:label xml:lang="fr">lycopodiopsida</rdfs:label><rdfs:label xml:lang="ja">ヒカゲノカズラ綱</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Plant"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/LacrosseLeague"> + <rdfs:label xml:lang="en">lacrosse league</rdfs:label><rdfs:label xml:lang="el">πρωτάθλημα χόκεϋ σε χόρτο</rdfs:label><rdfs:label xml:lang="fr">ligue de crosse</rdfs:label><rdfs:comment xml:lang="en">a group of sports teams that compete against each other in Lacrosse.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/SportsLeague"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/OlympicEvent"> + <rdfs:label xml:lang="en">olympic event</rdfs:label><rdfs:label xml:lang="el">ολυμπικακό γεγονός</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Olympics"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/ArtistDiscography"> + <rdfs:label xml:lang="el">δισκογραφία καλλιτέχνη</rdfs:label><rdfs:label xml:lang="fr">discographie de l'artiste</rdfs:label><rdfs:label xml:lang="en">artist discography</rdfs:label><rdfs:label xml:lang="it">discografia dell'artista</rdfs:label><rdfs:label xml:lang="ja">ディスコグラフィ</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/MusicalWork"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Abbey"> + <rdfs:label xml:lang="fr">abbaye</rdfs:label><rdfs:label xml:lang="en">abbey</rdfs:label><rdfs:label xml:lang="it">abbazia</rdfs:label><rdfs:label xml:lang="nl">abdij</rdfs:label><rdfs:label xml:lang="es">abadía</rdfs:label><rdfs:comment xml:lang="en">An abbey is a Catholic monastery or convent, under the authority of an Abbot or an Abbess, who serves as the spiritual father or mother of the community.</rdfs:comment><rdfs:comment xml:lang="fr">Une abbaye est un monastère ou un couvent catholique placé sous la direction d'un abbé, lequel sert de père spirituel à la communauté religieuse</rdfs:comment><rdfs:comment xml:lang="it">Un'abbazia (detta anche abazia o badia a seconda se diretta da un abate o una badessa), è un particolare tipo di monastero, che per il diritto canonico è un ente autonomo.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/ReligiousBuilding"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/FormulaOneRacing"> + <rdfs:label xml:lang="en">formula one racing</rdfs:label><rdfs:label xml:lang="el">φόρμουλα ένας αγώνας</rdfs:label><rdfs:label xml:lang="nl">Formule 1-coureur</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/SportsLeague"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/SportsEvent"> + <rdfs:label xml:lang="de">Sportereignis</rdfs:label><rdfs:label xml:lang="en">sports event</rdfs:label><rdfs:label xml:lang="pt">evento esportivo</rdfs:label><rdfs:label xml:lang="fr">évènement sportif</rdfs:label><rdfs:comment xml:lang="en">a event of competitive physical activity</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Event"/><owl:equivalentClass rdf:resource="http://schema.org/SportsEvent"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Sculptor"> + <rdfs:label xml:lang="en">sculptor</rdfs:label><rdfs:label xml:lang="fr">sculpteur</rdfs:label><rdfs:label xml:lang="nl">beeldhouwer</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Artist"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Pope"> + <rdfs:label xml:lang="el">πάπας</rdfs:label><rdfs:label xml:lang="fr">pape</rdfs:label><rdfs:label xml:lang="en">pope</rdfs:label><rdfs:label xml:lang="ja">教皇</rdfs:label><rdfs:label xml:lang="nl">paus</rdfs:label><rdfs:label xml:lang="ko">교황</rdfs:label><rdfs:label xml:lang="pl">papież</rdfs:label><rdfs:label xml:lang="de">Papst</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Cleric"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/ChemicalCompound"> + <rdfs:label xml:lang="el">χημική ένωση</rdfs:label><rdfs:label xml:lang="fr">produit chimique</rdfs:label><rdfs:label xml:lang="en">chemical compound</rdfs:label><rdfs:label xml:lang="it">composto chimico</rdfs:label><rdfs:label xml:lang="ja">化合物</rdfs:label><rdfs:label xml:lang="pt">composto químico</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/ChemicalSubstance"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Beer"> + <rdfs:label xml:lang="fr">bière</rdfs:label><rdfs:label xml:lang="en">beer</rdfs:label><rdfs:label xml:lang="it">birra</rdfs:label><rdfs:label xml:lang="ja">ビール</rdfs:label><rdfs:label xml:lang="nl">bier</rdfs:label><rdfs:label xml:lang="es">cerveza</rdfs:label><rdfs:label xml:lang="de">Bier</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Beverage"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/PeriodOfArtisticStyle"> + <rdfs:label xml:lang="en">period of artistic style</rdfs:label><rdfs:label xml:lang="nl">stijlperiode</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/TimePeriod"/><owl:disjointWith rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/OverseasDepartment"> + <rdfs:label xml:lang="en">overseas department</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Department"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Intercommunality"> + <rdfs:label xml:lang="en">Intercommunality</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/WorldHeritageSite"> + <rdfs:label xml:lang="el">Μνημείο Παγκόσμιας Πολιτιστικής Κληρονομιάς (Πληροφορίες ΠΠΚ)</rdfs:label><rdfs:label xml:lang="fr">site du patrimoine mondial</rdfs:label><rdfs:label xml:lang="en">World Heritage Site</rdfs:label><rdfs:label xml:lang="ja">世界遺産</rdfs:label><rdfs:label xml:lang="ko">세계유산</rdfs:label><rdfs:comment xml:lang="en">A UNESCO World Heritage Site is a site (such as a forest, mountain, lake, desert, monument, building, complex, or city) that is on the list that is maintained by the international World Heritage Programme administered by the UNESCO World Heritage Committee, composed of 21 state parties which are elected by their General Assembly for a four-year term. A World Heritage Site is a place of either cultural or physical significance.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Place"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Comic"> + <rdfs:label xml:lang="en">comic</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/WrittenWork"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/AmericanFootballLeague"> + <rdfs:label xml:lang="el">aμερικανικό πρωτάθλημα ποδοσφαίρου</rdfs:label><rdfs:label xml:lang="fr">american football league</rdfs:label><rdfs:label xml:lang="en">american football league</rdfs:label><rdfs:label xml:lang="it">lega di football americano</rdfs:label><rdfs:label xml:lang="ja">アメリカン・フットボール・リーグ</rdfs:label><rdfs:label xml:lang="nl">Amerikaanse voetbal competitie</rdfs:label><rdfs:label xml:lang="pt">liga de futebol americano</rdfs:label><rdfs:comment xml:lang="en">A group of sports teams that compete against each other in american football.</rdfs:comment><rdfs:comment xml:lang="el">Ένα σύνολο αθλητικών ομάδων που ανταγωνίζονται μεταξύ τους στο αμερικάνικο ποδόσφαιρο.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/SportsLeague"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/SportsTeam"> + <rdfs:label xml:lang="en">sports team</rdfs:label><rdfs:label xml:lang="nl">sportteam</rdfs:label><rdfs:label xml:lang="el">ομαδικά αθλήματα</rdfs:label><rdfs:label xml:lang="fr">équipe sportive</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Organisation"/><owl:equivalentClass rdf:resource="http://schema.org/SportsTeam"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/AustralianFootballLeague"> + <rdfs:label xml:lang="el">αυστραλιανό πρωτάθλημα ποδοσφαίρου</rdfs:label><rdfs:label xml:lang="fr">australian football league</rdfs:label><rdfs:label xml:lang="en">australian football league</rdfs:label><rdfs:label xml:lang="it">lega di football australiano</rdfs:label><rdfs:label xml:lang="ja">オーストラリアン・フットボール・リーグ</rdfs:label><rdfs:label xml:lang="pt">liga de futebol australiano</rdfs:label><rdfs:comment xml:lang="en">A group of sports teams that compete against each other in australian football.</rdfs:comment><rdfs:comment xml:lang="el">Μια ομάδα αθλητικών ομάδων που ανταγωνίζονται μεταξύ τους σε αυστραλιανό ποδόσφαιρο.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/SportsLeague"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/BroadcastNetwork"> + <rdfs:label xml:lang="el">δίκτυο ραδιοφωνικής μετάδοσης</rdfs:label><rdfs:label xml:lang="fr">chaîne de télévision généraliste</rdfs:label><rdfs:label xml:lang="en">broadcast network</rdfs:label><rdfs:label xml:lang="it">emittente</rdfs:label><rdfs:label xml:lang="ja">ネットワーク_(放送)</rdfs:label><rdfs:label xml:lang="nl">omroeporganisatie</rdfs:label><rdfs:label xml:lang="de">Sendergruppe</rdfs:label><rdfs:comment xml:lang="el">Ένα δίκτυο μετάδοσης είναι μια οργάνωση, όπως μια εταιρεία ή άλλη ένωση, που παρέχει ζωντανό ή μαγνητοσκοπημένο περιεχόμενο, όπως ταινίες, δελτία ειδήσεων, αθλητικά, και τα προγράμματα δημοσίων υποθέσεων για την εκπομπή πάνω από μια ομάδα ραδιοφωνικών ή τηλεοπτικών σταθμών</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Broadcaster"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/HockeyTeam"> + <rdfs:label xml:lang="sl">Hokejska ekipa</rdfs:label><rdfs:label xml:lang="en">hockey team</rdfs:label><rdfs:label xml:lang="el">ομάδα χόκεϊ</rdfs:label><rdfs:label xml:lang="fr">équipe de hockey</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/SportsTeam"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Murderer"> + <rdfs:label xml:lang="el">δολοφόνος</rdfs:label><rdfs:label xml:lang="fr">assassin</rdfs:label><rdfs:label xml:lang="en">murderer</rdfs:label><rdfs:label xml:lang="it">assasino</rdfs:label><rdfs:label xml:lang="nl">moordenaar</rdfs:label><rdfs:label xml:lang="de">Mörder</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Criminal"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Decoration"> + <rdfs:label xml:lang="el">διακόσμηση</rdfs:label><rdfs:label xml:lang="fr">décoration</rdfs:label><rdfs:label xml:lang="en">decoration</rdfs:label><rdfs:label xml:lang="it">onorificenza</rdfs:label><rdfs:label xml:lang="nl">onderscheiding</rdfs:label><rdfs:label xml:lang="es">condecoración</rdfs:label><rdfs:comment xml:lang="en">An object, such as a medal or an order, that is awarded to honor the recipient ostentatiously.</rdfs:comment><rdfs:comment xml:lang="it">Per onorificenza si intende un segno di onore che viene concesso da un'autorità in riconoscimento di particolari atti benemeriti.</rdfs:comment><rdfs:comment xml:lang="fr">Une distinction honorifique en reconnaissance d'un service civil ou militaire .</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Award"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/WrestlingEvent"> + <rdfs:label xml:lang="en">wrestling event</rdfs:label><rdfs:label xml:lang="fr">match de catch</rdfs:label><rdfs:label xml:lang="nl">worstelevenement</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/SportsEvent"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Municipality"> + <rdfs:label xml:lang="en">municipality</rdfs:label><rdfs:label xml:lang="fr">commune</rdfs:label><rdfs:label xml:lang="de">Gemeinde</rdfs:label><rdfs:label xml:lang="nl">gemeente</rdfs:label><rdfs:comment xml:lang="en">An administrative body governing a territorial unity on the lower level, administering one or a few more settlements</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/GovernmentalAdministrativeRegion"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Bridge"> + <rdfs:label xml:lang="el">γέφυρα</rdfs:label><rdfs:label xml:lang="fr">pont</rdfs:label><rdfs:label xml:lang="en">bridge</rdfs:label><rdfs:label xml:lang="it">ponte</rdfs:label><rdfs:label xml:lang="ja">橋</rdfs:label><rdfs:label xml:lang="nl">brug</rdfs:label><rdfs:label xml:lang="ko">다리</rdfs:label><rdfs:label xml:lang="sl">most</rdfs:label><rdfs:label xml:lang="pt">ponte</rdfs:label><rdfs:label xml:lang="bn">সেতু</rdfs:label><rdfs:label xml:lang="de">Brücke</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/RouteOfTransportation"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/District"> + <rdfs:label xml:lang="en">district</rdfs:label><rdfs:label xml:lang="id">kecamatan</rdfs:label><rdfs:comment xml:lang="id">bagian wilayah administratif dibawah kabupaten</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/GovernmentalAdministrativeRegion"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Mountain"> + <rdfs:label xml:lang="el">Βουνό</rdfs:label><rdfs:label xml:lang="fr">montagne</rdfs:label><rdfs:label xml:lang="en">mountain</rdfs:label><rdfs:label xml:lang="ja">山</rdfs:label><rdfs:label xml:lang="nl">berg</rdfs:label><rdfs:label xml:lang="ko">산</rdfs:label><rdfs:label xml:lang="pt">montanha</rdfs:label><rdfs:label xml:lang="de">Berg</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/NaturalPlace"/><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Place"/><owl:equivalentClass rdf:resource="http://schema.org/Mountain"/><owl:disjointWith rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/TrackList"> + <rdfs:label xml:lang="en">track list</rdfs:label><rdfs:label xml:lang="nl">lijst van nummers</rdfs:label><rdfs:comment xml:lang="en">A list of music tracks, like on a CD</rdfs:comment><rdfs:comment xml:lang="nl">Een lijst van nummers als op een CD album</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/List"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Cave"> + <rdfs:label xml:lang="el">σπηλιά</rdfs:label><rdfs:label xml:lang="fr">grotte</rdfs:label><rdfs:label xml:lang="en">cave</rdfs:label><rdfs:label xml:lang="it">grotta</rdfs:label><rdfs:label xml:lang="ja">洞窟</rdfs:label><rdfs:label xml:lang="nl">grot</rdfs:label><rdfs:label xml:lang="de">Höhle</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/NaturalPlace"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Scientist"> + <rdfs:label xml:lang="el">επιστήμονας</rdfs:label><rdfs:label xml:lang="fr">scientifique</rdfs:label><rdfs:label xml:lang="en">scientist</rdfs:label><rdfs:label xml:lang="ja">科学者</rdfs:label><rdfs:label xml:lang="nl">wetenschapper</rdfs:label><rdfs:label xml:lang="ko">과학자</rdfs:label><rdfs:label xml:lang="bn">বিজ্ঞানী</rdfs:label><rdfs:label xml:lang="de">Wissenschaftler</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Website"> + <rdfs:label xml:lang="el">Ιστότοπος</rdfs:label><rdfs:label xml:lang="fr">site web</rdfs:label><rdfs:label xml:lang="en">website</rdfs:label><rdfs:label xml:lang="ja">ウェブサイト</rdfs:label><rdfs:label xml:lang="ko">웹사이트</rdfs:label><rdfs:label xml:lang="de">Webseite</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Work"/><owl:equivalentClass rdf:resource="http://schema.org/WebPage"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Lymph"> + <rdfs:label xml:lang="en">lymph</rdfs:label><rdfs:label xml:lang="fr">lymphe</rdfs:label><rdfs:label xml:lang="ja">リンパ</rdfs:label><rdfs:label xml:lang="el">λέμφος</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/AnatomicalStructure"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/ResearchProject"> + <rdfs:label xml:lang="el">ερευνητικό έργο</rdfs:label><rdfs:label xml:lang="fr">projet de recherche</rdfs:label><rdfs:label xml:lang="en">research project</rdfs:label><rdfs:label xml:lang="nl">onderzoeksproject</rdfs:label><rdfs:label xml:lang="es">proyecto de investigación</rdfs:label><rdfs:label xml:lang="de">Forschungsprojekt</rdfs:label><rdfs:comment xml:lang="en">A research project is a scientific investigation, usually using scientific methods, to achieve defined objectives.</rdfs:comment><rdfs:comment xml:lang="el">Ένα ερευνητικό έργο είναι μια επιστημονική έρευνα, συνήθως με τη χρήση επιστημονικών μεθόδων, για την επίτευξη των καθορισμένων στόχων.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Project"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Locality"> + <rdfs:label xml:lang="en">Locality</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Animal"> + <rdfs:label xml:lang="el">ζώο</rdfs:label><rdfs:label xml:lang="fr">animal</rdfs:label><rdfs:label xml:lang="en">animal</rdfs:label><rdfs:label xml:lang="it">animale</rdfs:label><rdfs:label xml:lang="ja">動物</rdfs:label><rdfs:label xml:lang="nl">dier</rdfs:label><rdfs:label xml:lang="ko">동물</rdfs:label><rdfs:label xml:lang="sl">žival</rdfs:label><rdfs:label xml:lang="de">Tier</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Eukaryote"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Continent"> + <rdfs:label xml:lang="el">ήπειρος</rdfs:label><rdfs:label xml:lang="fr">continent</rdfs:label><rdfs:label xml:lang="en">continent</rdfs:label><rdfs:label xml:lang="it">continente</rdfs:label><rdfs:label xml:lang="ja">大陸</rdfs:label><rdfs:label xml:lang="ko">대륙</rdfs:label><rdfs:label xml:lang="de">Kontinent</rdfs:label><rdfs:comment xml:lang="it">Un continente è una grande area di terra emersa della crosta terrestre, è anzi la più vasta delle ripartizioni con le quali si suddividono le terre emerse.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><owl:equivalentClass rdf:resource="http://schema.org/Continent"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Arena"> + <rdfs:label xml:lang="el">παλαίστρα</rdfs:label><rdfs:label xml:lang="en">arena</rdfs:label><rdfs:label xml:lang="it">stadio</rdfs:label><rdfs:label xml:lang="ja">アリーナ</rdfs:label><rdfs:label xml:lang="nl">stadion</rdfs:label><rdfs:label xml:lang="pt">arena</rdfs:label><rdfs:label xml:lang="de">stadion</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Building"/><owl:equivalentClass rdf:resource="http://schema.org/StadiumOrArena"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/SoccerLeagueSeason"> + <rdfs:label xml:lang="en">soccer league season</rdfs:label><rdfs:label xml:lang="el">περίοδος κυπέλλου ποδοσφαίρου</rdfs:label><rdfs:label xml:lang="tr">futbol ligi sezonu</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/SportsTeamSeason"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Criminal"> + <rdfs:label xml:lang="el">εγκληματίας</rdfs:label><rdfs:label xml:lang="fr">criminel</rdfs:label><rdfs:label xml:lang="en">criminal</rdfs:label><rdfs:label xml:lang="it">delinquente</rdfs:label><rdfs:label xml:lang="nl">crimineel</rdfs:label><rdfs:label xml:lang="ko">범죄인</rdfs:label><rdfs:label xml:lang="pt">criminoso</rdfs:label><rdfs:label xml:lang="de">Verbrecher</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Surname"> + <rdfs:label xml:lang="el">επώνυμο</rdfs:label><rdfs:label xml:lang="fr">nom de famille</rdfs:label><rdfs:label xml:lang="en">surname</rdfs:label><rdfs:label xml:lang="ja">家</rdfs:label><rdfs:label xml:lang="nl">achternaam</rdfs:label><rdfs:label xml:lang="pl">nazwisko</rdfs:label><rdfs:label xml:lang="de">Nachname</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Name"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Mammal"> + <rdfs:label xml:lang="el">θηλαστικό ζώο</rdfs:label><rdfs:label xml:lang="fr">mammifère</rdfs:label><rdfs:label xml:lang="en">mammal</rdfs:label><rdfs:label xml:lang="it">mammifero</rdfs:label><rdfs:label xml:lang="ja">哺乳類</rdfs:label><rdfs:label xml:lang="nl">zoogdier</rdfs:label><rdfs:label xml:lang="pt">mamífero</rdfs:label><rdfs:label xml:lang="de">säugetier</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Animal"/><owl:disjointWith rdf:resource="http://dbpedia.org/ontology/Fish"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Election"> + <rdfs:label xml:lang="el">εκλογή</rdfs:label><rdfs:label xml:lang="fr">élection</rdfs:label><rdfs:label xml:lang="en">Election</rdfs:label><rdfs:label xml:lang="nl">verkiezing</rdfs:label><rdfs:label xml:lang="de">Wahl</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Event"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/BoxingLeague"> + <rdfs:label xml:lang="el">πρωτάθλημα πυγμαχίας</rdfs:label><rdfs:label xml:lang="fr">ligue de boxe</rdfs:label><rdfs:label xml:lang="en">boxing league</rdfs:label><rdfs:label xml:lang="it">lega di pugilato</rdfs:label><rdfs:label xml:lang="ja">ボクシングリーグ</rdfs:label><rdfs:comment xml:lang="en">A group of sports teams or fighters that compete against each other in Boxing</rdfs:comment><rdfs:comment xml:lang="el">Μία διοργάνωση στην οποία μεμονωμένοι πυγμάχοι είτε ομάδες πυγμάχων συναγωνίζονται μεταξύ τους με σκοπό την νίκη.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/SportsLeague"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/DistrictWaterBoard"> + <rdfs:label xml:lang="en">district water board</rdfs:label><rdfs:label xml:lang="nl">waterschap</rdfs:label><rdfs:comment xml:lang="en">Conservancy, governmental agency dedicated to surface water management</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/GovernmentalAdministrativeRegion"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/RadioControlledRacingLeague"> + <rdfs:label xml:lang="en">radio-controlled racing league</rdfs:label><rdfs:label xml:lang="fr">ligue de courses radio-télécommandé</rdfs:label><rdfs:comment xml:lang="en">A group of sports teams or person that compete against each other in radio-controlled racing.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/SportsLeague"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Fungus"> + <rdfs:label xml:lang="el">μύκητας</rdfs:label><rdfs:label xml:lang="fr">fungi</rdfs:label><rdfs:label xml:lang="en">fungus</rdfs:label><rdfs:label xml:lang="ja">菌類</rdfs:label><rdfs:label xml:lang="nl">schimmel</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Eukaryote"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Aircraft"> + <rdfs:label xml:lang="el">αεροσκάφος</rdfs:label><rdfs:label xml:lang="fr">avion</rdfs:label><rdfs:label xml:lang="en">aircraft</rdfs:label><rdfs:label xml:lang="it">aereo</rdfs:label><rdfs:label xml:lang="ja">航空機</rdfs:label><rdfs:label xml:lang="nl">vliegtuig</rdfs:label><rdfs:label xml:lang="ko">비행기</rdfs:label><rdfs:label xml:lang="de">Flugzeug</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/MeanOfTransportation"/><rdfs:subClassOf rdf:resource="http://schema.org/Product"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/List"> + <rdfs:label xml:lang="el">λίστα</rdfs:label><rdfs:label xml:lang="fr">liste</rdfs:label><rdfs:label xml:lang="en">list</rdfs:label><rdfs:label xml:lang="ja">一覧</rdfs:label><rdfs:label xml:lang="nl">lijst</rdfs:label><rdfs:comment xml:lang="en">A general list of items.</rdfs:comment><rdfs:comment xml:lang="fr">une liste d'éléments.</rdfs:comment><rdfs:comment xml:lang="nl">Een geordende verzameling objecten.</rdfs:comment><rdfs:comment xml:lang="el">Μια γενική λίστα από αντικείμενα.</rdfs:comment><rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/><owl:equivalentClass rdf:resource="http://www.w3.org/2004/02/skos/core#OrderedCollection"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/State"> + <rdfs:label xml:lang="en">state</rdfs:label><rdfs:label xml:lang="nl">staat</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/FictionalCharacter"> + <rdfs:label xml:lang="el">πλασματικός χαρακτήρας</rdfs:label><rdfs:label xml:lang="fr">personnage de fiction</rdfs:label><rdfs:label xml:lang="en">fictional character</rdfs:label><rdfs:label xml:lang="ja">キャラクター</rdfs:label><rdfs:label xml:lang="nl">personage (fictie)</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Moss"> + <rdfs:label xml:lang="el">βρύο</rdfs:label><rdfs:label xml:lang="fr">mousses</rdfs:label><rdfs:label xml:lang="en">moss</rdfs:label><rdfs:label xml:lang="it">muschio</rdfs:label><rdfs:label xml:lang="ja">蘚類</rdfs:label><rdfs:label xml:lang="de">Laubmoss</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Plant"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/TennisLeague"> + <rdfs:label xml:lang="en">tennis league</rdfs:label><rdfs:label xml:lang="el">Ομοσπονδία Αντισφαίρισης</rdfs:label><rdfs:label xml:lang="fr">ligue de tennis</rdfs:label><rdfs:comment xml:lang="en">A group of sports teams or person that compete against each other in tennis.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/SportsLeague"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Biomolecule"> + <rdfs:label xml:lang="en">Biomolecule</rdfs:label><rdfs:label xml:lang="el">βιομόριο</rdfs:label><rdfs:label xml:lang="it">biomolecola</rdfs:label><rdfs:label xml:lang="ja">生体物質</rdfs:label><rdfs:comment xml:lang="en">equivalent to http://ccdb.ucsd.edu/NIF/BIRNLex-OBO-UBO.owl#birnlex_22.</rdfs:comment><rdfs:comment xml:lang="el">Κάθε μόριο που παράγεται σε έναν ζωντανό οργανισμό. Συνήθως μεγαλομοριακές ενώσεις που χρησιμεύουν στην δομή και στο μεταβολισμό του κυττάρου. Πρωτεΐνες, νουκλεϊνικά οξέα, υδατάνθρακες και λιπίδια.</rdfs:comment><rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Station"> + <rdfs:label xml:lang="el">Σταθμός</rdfs:label><rdfs:label xml:lang="fr">station</rdfs:label><rdfs:label xml:lang="ru">станция</rdfs:label><rdfs:label xml:lang="en">station</rdfs:label><rdfs:label xml:lang="ja">駅</rdfs:label><rdfs:label xml:lang="nl">station</rdfs:label><rdfs:label xml:lang="pt">estação</rdfs:label><rdfs:comment xml:lang="en">Public transport station (eg. railway station, metro station, bus station).</rdfs:comment><rdfs:comment xml:lang="ru">Остановка общественного транспорта (например: железнодорожная станция, станция метро, автостанция).</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Infrastructure"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/River"> + <rdfs:label xml:lang="el">ποτάμι</rdfs:label><rdfs:label xml:lang="fr">rivière</rdfs:label><rdfs:label xml:lang="en">river</rdfs:label><rdfs:label xml:lang="ja">川</rdfs:label><rdfs:label xml:lang="nl">rivier</rdfs:label><rdfs:label xml:lang="ko">강</rdfs:label><rdfs:label xml:lang="de">Fluss</rdfs:label><rdfs:comment xml:lang="en">a large natural stream</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Stream"/><owl:equivalentClass rdf:resource="http://schema.org/RiverBodyOfWater"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Organisation"> + <rdfs:label xml:lang="el">οργάνωση</rdfs:label><rdfs:label xml:lang="fr">organisation</rdfs:label><rdfs:label xml:lang="en">organisation</rdfs:label><rdfs:label xml:lang="ja">組織</rdfs:label><rdfs:label xml:lang="nl">organisatie</rdfs:label><rdfs:label xml:lang="ko">조직</rdfs:label><rdfs:label xml:lang="sl">organizacija</rdfs:label><rdfs:label xml:lang="pt">organização</rdfs:label><rdfs:label xml:lang="de">Organisation</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Agent"/><owl:equivalentClass rdf:resource="http://schema.org/Organization"/><owl:disjointWith rdf:resource="http://dbpedia.org/ontology/wgs84_pos:SpatialThing"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/ComicsCharacter"> + <rdfs:label xml:lang="el">χαρακτήρας κινούμενων σχεδίων</rdfs:label><rdfs:label xml:lang="fr">personnage de bandes dessinées</rdfs:label><rdfs:label xml:lang="en">comics character</rdfs:label><rdfs:label xml:lang="ja">コミックスのキャラクター</rdfs:label><rdfs:label xml:lang="ko">만화애니 등장인물</rdfs:label><rdfs:label xml:lang="pt">personagem de quadrinhos</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/FictionalCharacter"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Listen"> + <rdfs:label xml:lang="en">Listen</rdfs:label><rdfs:label xml:lang="el">ακούω</rdfs:label><rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Temple"> + <rdfs:label xml:lang="fr">temple</rdfs:label><rdfs:label xml:lang="en">temple</rdfs:label><rdfs:label xml:lang="it">tempio</rdfs:label><rdfs:label xml:lang="ja">寺</rdfs:label><rdfs:label xml:lang="nl">tempel</rdfs:label><rdfs:label xml:lang="de">tempel</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/ReligiousBuilding"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Cheese"> + <rdfs:label xml:lang="fr">fromage</rdfs:label><rdfs:label xml:lang="en">cheese</rdfs:label><rdfs:label xml:lang="it">formaggio</rdfs:label><rdfs:label xml:lang="nl">kaas</rdfs:label><rdfs:label xml:lang="de">Käse</rdfs:label><rdfs:comment xml:lang="en">A milk product prepared for human consumption</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Food"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Place"> + <rdfs:label xml:lang="el">περιοχή</rdfs:label><rdfs:label xml:lang="eu">lekua</rdfs:label><rdfs:label xml:lang="fr">lieu</rdfs:label><rdfs:label xml:lang="ar">مكان</rdfs:label><rdfs:label xml:lang="en">place</rdfs:label><rdfs:label xml:lang="ja">立地</rdfs:label><rdfs:label xml:lang="nl">plaats</rdfs:label><rdfs:label xml:lang="pt">lugar</rdfs:label><rdfs:label xml:lang="es">lugar</rdfs:label><rdfs:label xml:lang="de">Ort</rdfs:label><rdfs:comment xml:lang="en">Immobile things or locations.</rdfs:comment><rdfs:comment xml:lang="pt">uma localização</rdfs:comment><rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/><owl:equivalentClass rdf:resource="http://schema.org/Place"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Embryology"> + <rdfs:label xml:lang="en">embryology</rdfs:label><rdfs:label xml:lang="el">εμβρυολογία</rdfs:label><rdfs:label xml:lang="fr">embryologie</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/AnatomicalStructure"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Unknown"> + <rdfs:label xml:lang="el">άγνωστος</rdfs:label><rdfs:label xml:lang="fr">Inconnu</rdfs:label><rdfs:label xml:lang="en">Unknown</rdfs:label><rdfs:label xml:lang="tr">Bilinmeyen</rdfs:label><rdfs:label xml:lang="ja">無知</rdfs:label><rdfs:label xml:lang="nl">Onbekend</rdfs:label><rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Publisher"> + <rdfs:label xml:lang="el">εκδότης</rdfs:label><rdfs:label xml:lang="fr">éditeur</rdfs:label><rdfs:label xml:lang="en">publisher</rdfs:label><rdfs:label xml:lang="ja">出版社</rdfs:label><rdfs:label xml:lang="nl">uitgever</rdfs:label><rdfs:comment xml:lang="en">Publishing company</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Company"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/MultiVolumePublication"> + <rdfs:label xml:lang="en">multi volume publication</rdfs:label><rdfs:label xml:lang="nl">meerdelige publicatie</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/WrittenWork"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/RouteOfTransportation"> + <rdfs:label xml:lang="en">route of transportation</rdfs:label><rdfs:label xml:lang="de">Transportweg</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Infrastructure"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/SportsTeamSeason"> + <rdfs:label xml:lang="en">sports team season</rdfs:label><rdfs:label xml:lang="el">περίοδος αθλητικής ομάδας</rdfs:label><rdfs:comment xml:lang="en">A season for a particular sports team (as opposed to the season for the entire league that the team is in)</rdfs:comment><rdfs:comment xml:lang="el">μία περίοδος για μία αθλητική ομάδα</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/SportsSeason"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Resume"> + <rdfs:label xml:lang="en">Resume</rdfs:label><rdfs:label xml:lang="nl">CV</rdfs:label><rdfs:comment xml:lang="en">A Resume describes a persons work experience and skill set.</rdfs:comment><rdfs:comment xml:lang="nl">Een CV (curriculum vitae) beschrijft iemands werkervaring en vaardigheden.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/OntologyClass:Foaf:Document"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/GreenAlga"> + <rdfs:label xml:lang="en">green alga</rdfs:label><rdfs:label xml:lang="fr">algue verte</rdfs:label><rdfs:label xml:lang="ja">緑藻</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Plant"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/SkiResort"> + <rdfs:label xml:lang="en">ski resort</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Place"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Genre"> + <rdfs:label xml:lang="en">genre</rdfs:label><rdfs:label xml:lang="nl">genre</rdfs:label><rdfs:label xml:lang="de">Genre</rdfs:label><rdfs:label xml:lang="el">ύφος</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/TopicalConcept"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/ChemicalSubstance"> + <rdfs:label xml:lang="el">χημική ουσία</rdfs:label><rdfs:label xml:lang="fr">substance chimique</rdfs:label><rdfs:label xml:lang="en">chemical substance</rdfs:label><rdfs:label xml:lang="it">sostanza chimica</rdfs:label><rdfs:label xml:lang="ja">化学物質</rdfs:label><rdfs:label xml:lang="pt">substância química</rdfs:label><rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/IranSettlement"> + <rdfs:label xml:lang="en">iran municipality</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Settlement"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Memorial"> + <rdfs:label xml:lang="en">memorial</rdfs:label><rdfs:label xml:lang="el">μνημείο</rdfs:label><rdfs:label xml:lang="nl">gedenkteken</rdfs:label><rdfs:label xml:lang="de">Denkmal</rdfs:label><rdfs:comment xml:lang="en">A monument erected to commemorate an event and/or group</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Monument"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/BaseballPlayer"> + <rdfs:label xml:lang="el">παίκτης μπέιζμπολ</rdfs:label><rdfs:label xml:lang="fr">joueur de baseball</rdfs:label><rdfs:label xml:lang="en">baseball player</rdfs:label><rdfs:label xml:lang="it">giocatore di baseball</rdfs:label><rdfs:label xml:lang="ja">野球選手</rdfs:label><rdfs:label xml:lang="nl">honkballer</rdfs:label><rdfs:label xml:lang="ko">야구 선수</rdfs:label><rdfs:label xml:lang="pt">jogador de basebol</rdfs:label><rdfs:comment xml:lang="el">Ο αθλητής (άνδρας ή γυναίκα) που συμμετέχει σε μία ομάδα μπέιζμπολ.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Athlete"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Medician"> + <rdfs:label xml:lang="en">medician</rdfs:label><rdfs:label xml:lang="it">medico</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Scientist"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/RoadTunnel"> + <rdfs:label xml:lang="en">road tunnel</rdfs:label><rdfs:label xml:lang="el">Οδική σήραγγα</rdfs:label><rdfs:label xml:lang="de">Straßentunnel</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Tunnel"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/NaturalRegion"> + <rdfs:label xml:lang="en">natural region</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Region"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/NationalFootballLeagueSeason"> + <rdfs:label xml:lang="en">national football league season</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/FootballLeagueSeason"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/CultivatedVariety"> + <rdfs:label xml:lang="el">καλλιεργούμενη ποικιλία</rdfs:label><rdfs:label xml:lang="en">cultivar (cultivated variety)</rdfs:label><rdfs:comment xml:lang="en">A cultivar is a plant or grouping of plants selected for desirable characteristics that can be maintained by propagation. A plant whose origin or selection is primarily due to intentional human activity.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Plant"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Castle"> + <rdfs:label xml:lang="el">κάστρο</rdfs:label><rdfs:label xml:lang="fr">château</rdfs:label><rdfs:label xml:lang="en">castle</rdfs:label><rdfs:label xml:lang="it">castello</rdfs:label><rdfs:label xml:lang="nl">kasteel</rdfs:label><rdfs:label xml:lang="de">burg</rdfs:label><rdfs:comment xml:lang="en">Castles often are, but need not be a military structure. They can serve for status, pleasure and hunt as well.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Building"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/VicePrimeMinister"> + <rdfs:label xml:lang="en">vice prime minister</rdfs:label><rdfs:label xml:lang="el">αντιπρωθυπουργός</rdfs:label><rdfs:label xml:lang="fr">vice premier ministre</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Politician"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Instrument"> + <rdfs:label xml:lang="el">Μουσικό Όργανο</rdfs:label><rdfs:label xml:lang="fr">instrument de musique</rdfs:label><rdfs:label xml:lang="en">Instrument</rdfs:label><rdfs:label xml:lang="it">strumento musicale</rdfs:label><rdfs:label xml:lang="nl">muziekinstrument</rdfs:label><rdfs:label xml:lang="ko">악기</rdfs:label><rdfs:label xml:lang="sl">Glasbilo</rdfs:label><rdfs:label xml:lang="es">Instrumento</rdfs:label><rdfs:label xml:lang="de">musikinstrument</rdfs:label><rdfs:comment xml:lang="en">Describes all musical instrument</rdfs:comment><rdfs:subClassOf rdf:resource="http://schema.org/Product"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Mayor"> + <rdfs:label xml:lang="el">δήμαρχος</rdfs:label><rdfs:label xml:lang="fr">maire</rdfs:label><rdfs:label xml:lang="en">mayor</rdfs:label><rdfs:label xml:lang="ja">首長</rdfs:label><rdfs:label xml:lang="nl">burgemeester</rdfs:label><rdfs:label xml:lang="de">Bürgermeister</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Politician"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Species"> + <rdfs:label xml:lang="el">είδος</rdfs:label><rdfs:label xml:lang="fr">espèce</rdfs:label><rdfs:label xml:lang="en">species</rdfs:label><rdfs:label xml:lang="ja">種_(分類学)</rdfs:label><rdfs:label xml:lang="nl">soort</rdfs:label><rdfs:label xml:lang="es">especies</rdfs:label><rdfs:label xml:lang="de">Spezie</rdfs:label><rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/TelevisionStation"> + <rdfs:label xml:lang="el">τηλεοπτικός σταθμός</rdfs:label><rdfs:label xml:lang="fr">chaînes de télévision</rdfs:label><rdfs:label xml:lang="en">television station</rdfs:label><rdfs:label xml:lang="it">canale televisivo</rdfs:label><rdfs:label xml:lang="ja">テレビジョン放送局</rdfs:label><rdfs:label xml:lang="es">canal de televisión</rdfs:label><rdfs:label xml:lang="de">Fernsehsender</rdfs:label><rdfs:comment xml:lang="en">A television station has usually one line up. For instance the television station WABC-TV (or ABC 7, Channel 7). Not to be confused with the broadcasting network ABC, which has many television stations.</rdfs:comment><rdfs:comment xml:lang="el">Ένας τηλεοπτικός σταθμός έχει μια παράταξη.Για παράδειγμα ο τηλεοπτικός σταθμός WABC-TV (or ABC 7, Channel 7).Δεν πρέπει να συγχέεται με το τηλεοπτικό δίκτυο ABC,που έχει πολλούς τηλεοπτικούς σταθμούς.</rdfs:comment><rdfs:comment xml:lang="de">Ein Fernsehsender hat normalerweise ein Programm, zum Beispiel der Sender Erstes Deutsches Fernsehen (Das Erste). Nicht zu verwechseln mit der Rundfunkanstalt ARD, welche mehrere Fernsehsender hat.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Broadcaster"/><owl:equivalentClass rdf:resource="http://schema.org/TelevisionStation"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Race"> + <rdfs:label xml:lang="el">αγώνας</rdfs:label><rdfs:label xml:lang="fr">course</rdfs:label><rdfs:label xml:lang="en">race</rdfs:label><rdfs:label xml:lang="ja">レース</rdfs:label><rdfs:label xml:lang="de">Rennen</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/SportsEvent"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/PopulatedPlace"> + <rdfs:label xml:lang="en">populated place</rdfs:label><rdfs:label xml:lang="de">bewohnter Ort</rdfs:label><rdfs:label xml:lang="fr">lieu habité</rdfs:label><rdfs:label xml:lang="nl">bebouwde omgeving</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Place"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Cyclist"> + <rdfs:label xml:lang="el">ποδηλάτης</rdfs:label><rdfs:label xml:lang="fr">cycliste</rdfs:label><rdfs:label xml:lang="en">cyclist</rdfs:label><rdfs:label xml:lang="nl">wielrenner</rdfs:label><rdfs:label xml:lang="pt">ciclista</rdfs:label><rdfs:label xml:lang="es">ciclista</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Athlete"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/RugbyLeague"> + <rdfs:label xml:lang="en">rugby league</rdfs:label><rdfs:label xml:lang="el">πρωτάθλημα rugby</rdfs:label><rdfs:label xml:lang="fr">ligue de rugby</rdfs:label><rdfs:comment xml:lang="en">A group of sports teams that compete against each other in rugby.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/SportsLeague"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/SoccerClub"> + <rdfs:label xml:lang="en">soccer club</rdfs:label><rdfs:label xml:lang="el">ομάδα ποδοσφαίρου</rdfs:label><rdfs:label xml:lang="fr">club de football</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/SportsTeam"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Asteroid"> + <rdfs:label xml:lang="el">αστεροειδής</rdfs:label><rdfs:label xml:lang="fr">astéroïde</rdfs:label><rdfs:label xml:lang="en">asteroid</rdfs:label><rdfs:label xml:lang="it">asteroide</rdfs:label><rdfs:label xml:lang="ja">小惑星</rdfs:label><rdfs:label xml:lang="pt">asteróide</rdfs:label><rdfs:label xml:lang="es">asteroide</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/CelestialBody"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Weapon"> + <rdfs:label xml:lang="el">όπλο</rdfs:label><rdfs:label xml:lang="fr">arme</rdfs:label><rdfs:label xml:lang="en">weapon</rdfs:label><rdfs:label xml:lang="ja">武器</rdfs:label><rdfs:label xml:lang="nl">wapen</rdfs:label><rdfs:label xml:lang="ko">무기</rdfs:label><rdfs:label xml:lang="de">Waffe</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Device"/><rdfs:subClassOf rdf:resource="http://schema.org/Product"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Polyhedron"> + <rdfs:label xml:lang="en">Polyhedron</rdfs:label><rdfs:label xml:lang="de">Polyeder</rdfs:label><rdfs:label xml:lang="it">poliedro</rdfs:label><rdfs:label xml:lang="el">πολύεδρο</rdfs:label><rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Lake"> + <rdfs:label xml:lang="el">λίμνη</rdfs:label><rdfs:label xml:lang="fr">lac</rdfs:label><rdfs:label xml:lang="en">lake</rdfs:label><rdfs:label xml:lang="ja">호수</rdfs:label><rdfs:label xml:lang="nl">meer</rdfs:label><rdfs:label xml:lang="ko">호수</rdfs:label><rdfs:label xml:lang="de">See</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/BodyOfWater"/><owl:equivalentClass rdf:resource="http://schema.org/LakeBodyOfWater"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Lieutenant"> + <rdfs:label xml:lang="el">υπολοχαγός</rdfs:label><rdfs:label xml:lang="fr">lieutenant</rdfs:label><rdfs:label xml:lang="en">lieutenant</rdfs:label><rdfs:label xml:lang="nl">luitenant</rdfs:label><rdfs:label xml:lang="pt">tenente</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Politician"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Host"> + <rdfs:label xml:lang="en">host</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Celebrity"> + <rdfs:label xml:lang="el">διασημότητα</rdfs:label><rdfs:label xml:lang="fr">célébrité</rdfs:label><rdfs:label xml:lang="en">celebrity</rdfs:label><rdfs:label xml:lang="it">celebrità</rdfs:label><rdfs:label xml:lang="nl">beroemdheid</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Letter"> + <rdfs:label xml:lang="el">γράμμα</rdfs:label><rdfs:label xml:lang="fr">lettre</rdfs:label><rdfs:label xml:lang="en">letter</rdfs:label><rdfs:label xml:lang="ja">文字</rdfs:label><rdfs:label xml:lang="nl">letter</rdfs:label><rdfs:comment xml:lang="en">A letter from the alphabet.</rdfs:comment><rdfs:comment xml:lang="fr">une lettre de l'alphabet.</rdfs:comment><rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/TopicalConcept"> + <rdfs:label xml:lang="en">topical concept</rdfs:label><rdfs:label xml:lang="de">thematisches Konzept</rdfs:label><rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Noble"> + <rdfs:label xml:lang="en">noble</rdfs:label><rdfs:label xml:lang="el">ευγενής</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Lighthouse"> + <rdfs:label xml:lang="el">Φάρος</rdfs:label><rdfs:label xml:lang="fr">phare</rdfs:label><rdfs:label xml:lang="en">lighthouse</rdfs:label><rdfs:label xml:lang="ja">灯台</rdfs:label><rdfs:label xml:lang="nl">vuurtoren</rdfs:label><rdfs:label xml:lang="de">Leuchtturm</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Building"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/MemberOfParliament"> + <rdfs:label xml:lang="el">Μέλος κοινοβουλίου</rdfs:label><rdfs:label xml:lang="fr">membre du Parlement</rdfs:label><rdfs:label xml:lang="en">member of parliament</rdfs:label><rdfs:label xml:lang="nl">parlementslid</rdfs:label><rdfs:label xml:lang="pt">membro do parlamento</rdfs:label><rdfs:label xml:lang="de">Parlamentsmitglied</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Politician"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/WineRegion"> + <rdfs:label xml:lang="en">wine region</rdfs:label><rdfs:label xml:lang="fr">région viticole</rdfs:label><rdfs:label xml:lang="ja">ワイン産地</rdfs:label><rdfs:label xml:lang="nl">wijnstreek</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Place"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Deity"> + <rdfs:label xml:lang="en">deity</rdfs:label><rdfs:label xml:lang="de">gottheit</rdfs:label><rdfs:label xml:lang="ja">神</rdfs:label><rdfs:label xml:lang="nl">godheid</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Agent"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/RailwayStation"> + <rdfs:label xml:lang="el">σιδηροδρομικός σταθμός</rdfs:label><rdfs:label xml:lang="fr">gare</rdfs:label><rdfs:label xml:lang="en">train station</rdfs:label><rdfs:label xml:lang="it">stazione ferroviaria</rdfs:label><rdfs:label xml:lang="ja">鉄道駅</rdfs:label><rdfs:label xml:lang="nl">treinstation</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Station"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/ChristianBishop"> + <rdfs:label xml:lang="el">Πληροφορίες Επισκόπου</rdfs:label><rdfs:label xml:lang="fr">évêque chrétien</rdfs:label><rdfs:label xml:lang="en">Christian Bishop</rdfs:label><rdfs:label xml:lang="it">vescovo cristiano</rdfs:label><rdfs:label xml:lang="nl">Christelijk bisschop</rdfs:label><rdfs:label xml:lang="pl">biskup chrześcijański</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Cleric"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/PoloLeague"> + <rdfs:label xml:lang="en">polo league</rdfs:label><rdfs:label xml:lang="el">Ομοσπονδία Υδατοσφαίρισης</rdfs:label><rdfs:label xml:lang="fr">ligue de polo</rdfs:label><rdfs:comment xml:lang="en">A group of sports teams that compete against each other in Polo.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/SportsLeague"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/AutoRacingLeague"> + <rdfs:label xml:lang="el">πρωτάθλημα αγώνων αυτοκινήτων</rdfs:label><rdfs:label xml:lang="fr">la ligue de course automobile</rdfs:label><rdfs:label xml:lang="en">auto racing league</rdfs:label><rdfs:label xml:lang="it">lega automobilistica</rdfs:label><rdfs:label xml:lang="ja">自動車競技リーグ</rdfs:label><rdfs:comment xml:lang="en">a group of sports teams or individual athletes that compete against each other in auto racing</rdfs:comment><rdfs:comment xml:lang="el">μια ομάδα αθλητικών ομάδων ή μεμονωμένων αθλητών που ανταγωνίζονται μεταξύ τους σε αγώνες αυτοκινήτων</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/SportsLeague"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/HistoricPlace"> + <rdfs:label xml:lang="en">historic place</rdfs:label><rdfs:label xml:lang="el">ιστορικός χώρος</rdfs:label><rdfs:label xml:lang="fr">site historique</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Place"/><owl:equivalentClass rdf:resource="http://schema.org/LandmarksOrHistoricalBuildings"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/BritishRoyalty"> + <rdfs:label xml:lang="el">Βρετανική μοναρχία</rdfs:label><rdfs:label xml:lang="fr">royauté Britannique</rdfs:label><rdfs:label xml:lang="en">British royalty</rdfs:label><rdfs:label xml:lang="it">reali britannici</rdfs:label><rdfs:label xml:lang="ja">イギリス王室</rdfs:label><rdfs:label xml:lang="sl">Britanska kraljevska oseba</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Royalty"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/TelevisionHost"> + <rdfs:label xml:lang="en">television host</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Presenter"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Manhua"> + <rdfs:label xml:lang="en">manhua</rdfs:label><rdfs:label xml:lang="el">manhua</rdfs:label><rdfs:comment xml:lang="en">Comics originally produced in China</rdfs:comment><rdfs:comment xml:lang="el">Κόμικς που παράγονται αρχικά στην Κίνα</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Comics"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/WaterTower"> + <rdfs:label xml:lang="fr">Château d'eau</rdfs:label><rdfs:label xml:lang="en">Water tower</rdfs:label><rdfs:label xml:lang="it">Serbatoio idrico a torre</rdfs:label><rdfs:label xml:lang="nl">Watertoren</rdfs:label><rdfs:label xml:lang="de">Wasserturm</rdfs:label><rdfs:comment xml:lang="en">a construction designed to store larger quantities of water at a place of some elevation in order to keep pressure on the water provision system</rdfs:comment><rdfs:comment xml:lang="fr">une construction destinée à entreposer l'eau, et placée en général sur un sommet géographique pour permettre de la distribuer sous pression</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Building"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/PolishKing"> + <rdfs:label xml:lang="en">king of Poland</rdfs:label><rdfs:label xml:lang="pl">król Polski</rdfs:label><rdfs:label xml:lang="nl">koning van Polen</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Royalty"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Building"> + <rdfs:label xml:lang="el">κτίριο</rdfs:label><rdfs:label xml:lang="fr">bâtiment</rdfs:label><rdfs:label xml:lang="en">building</rdfs:label><rdfs:label xml:lang="it">edificio</rdfs:label><rdfs:label xml:lang="ja">建築部</rdfs:label><rdfs:label xml:lang="nl">gebouw</rdfs:label><rdfs:label xml:lang="sl">stavba</rdfs:label><rdfs:label xml:lang="es">edificio</rdfs:label><rdfs:label xml:lang="de">Gebäude</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/ArchitecturalStructure"/><owl:disjointWith rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Astronaut"> + <rdfs:label xml:lang="el">αστροναύτης</rdfs:label><rdfs:label xml:lang="fr">astronaute</rdfs:label><rdfs:label xml:lang="en">astronaut</rdfs:label><rdfs:label xml:lang="it">astronauta</rdfs:label><rdfs:label xml:lang="ja">宇宙飛行士</rdfs:label><rdfs:label xml:lang="nl">ruimtevaarder</rdfs:label><rdfs:label xml:lang="ko">우주인</rdfs:label><rdfs:label xml:lang="pt">astronauta</rdfs:label><rdfs:label xml:lang="es">astronauta</rdfs:label><rdfs:label xml:lang="de">Astronaut</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/MixedMartialArtsLeague"> + <rdfs:label xml:lang="en">mixed martial arts league</rdfs:label><rdfs:label xml:lang="fr">ligue d'arts martiaux mixtes</rdfs:label><rdfs:comment xml:lang="en">a group of sports teams that compete against each other in Mixed Martial Arts</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/SportsLeague"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/AdministrativeRegion"> + <rdfs:label xml:lang="el">διοικητική περιφέρεια</rdfs:label><rdfs:label xml:lang="fr">région administrative</rdfs:label><rdfs:label xml:lang="en">administrative region</rdfs:label><rdfs:label xml:lang="it">regione amministrativa</rdfs:label><rdfs:label xml:lang="ja">行政区画</rdfs:label><rdfs:label xml:lang="nl">bestuurlijk gebied</rdfs:label><rdfs:comment xml:lang="en">A PopulatedPlace under the jurisdiction of an administrative body. This body may administer either a whole region or one or more adjacent Settlements (town administration)</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Region"/><owl:equivalentClass rdf:resource="http://schema.org/AdministrativeArea"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Bodybuilder"> + <rdfs:label xml:lang="en">bodybuilder</rdfs:label><rdfs:label xml:lang="it">culturista</rdfs:label><rdfs:label xml:lang="nl">bodybuilder</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Athlete"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Single"> + <rdfs:label xml:lang="el">single</rdfs:label><rdfs:label xml:lang="fr">single</rdfs:label><rdfs:label xml:lang="en">single</rdfs:label><rdfs:label xml:lang="ja">シングル</rdfs:label><rdfs:label xml:lang="ko">싱글</rdfs:label><rdfs:comment xml:lang="en">In music, a single or record single is a type of release, typically a recording of fewer tracks than an LP or a CD.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/MusicalWork"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/SoftballLeague"> + <rdfs:label xml:lang="en">softball league</rdfs:label><rdfs:label xml:lang="fr">ligue de softball</rdfs:label><rdfs:comment xml:lang="en">A group of sports teams that compete against each other in softball.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/SportsLeague"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Casino"> + <rdfs:label xml:lang="en">casino</rdfs:label><rdfs:label xml:lang="it">casinò</rdfs:label><rdfs:label xml:lang="fr">casino</rdfs:label><rdfs:comment xml:lang="en">In modern English, a casino is a facility which houses and accommodates certain types of gambling activities.</rdfs:comment><rdfs:comment xml:lang="fr">Un casino est un lieu proposant des jeux d'argent et de hasard ou jeux de casino.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Building"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/RaceHorse"> + <rdfs:label xml:lang="en">race horse</rdfs:label><rdfs:label xml:lang="el">ιπποδρομία</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Mammal"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Cartoon"> + <rdfs:label xml:lang="el">σατυρικό σκίτσο</rdfs:label><rdfs:label xml:lang="fr">dessin animé</rdfs:label><rdfs:label xml:lang="en">cartoon</rdfs:label><rdfs:label xml:lang="it">cartone animato</rdfs:label><rdfs:label xml:lang="ja">カートゥーン</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Work"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Spacecraft"> + <rdfs:label xml:lang="el">διαστημόπλοιο</rdfs:label><rdfs:label xml:lang="fr">vaisseau spatial</rdfs:label><rdfs:label xml:lang="en">spacecraft</rdfs:label><rdfs:label xml:lang="nl">ruimtevaartuig</rdfs:label><rdfs:label xml:lang="ko">우주선</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/MeanOfTransportation"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/RadioHost"> + <rdfs:label xml:lang="en">radio host</rdfs:label><rdfs:label xml:lang="el">οικοδεσπότης ραδιοφώνου</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Presenter"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/MixedMartialArtsEvent"> + <rdfs:label xml:lang="en">mixed martial arts event</rdfs:label><rdfs:label xml:lang="fr">évènement d'arts martiaux mixtes</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/SportsEvent"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/VideoGame"> + <rdfs:label xml:lang="el">βιντεοπαιχνίδι</rdfs:label><rdfs:label xml:lang="fr">jeux vidéo</rdfs:label><rdfs:label xml:lang="en">video game</rdfs:label><rdfs:label xml:lang="ja">テレビゲーム</rdfs:label><rdfs:label xml:lang="ko">비디오 게임</rdfs:label><rdfs:label xml:lang="pt">video game / jogo</rdfs:label><rdfs:label xml:lang="es">videojuego</rdfs:label><rdfs:label xml:lang="de">Videospiel</rdfs:label><rdfs:comment xml:lang="en">A video game is an electronic game that involves interaction with a user interface to generate visual feedback on a video device.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Software"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Governor"> + <rdfs:label xml:lang="en">governor</rdfs:label><rdfs:label xml:lang="el">κυβερνήτης</rdfs:label><rdfs:label xml:lang="fr">gouverneur</rdfs:label><rdfs:label xml:lang="ja">知事</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Politician"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/TradeUnion"> + <rdfs:label xml:lang="el">Κουτί πληροφοριών ένωσης</rdfs:label><rdfs:label xml:lang="en">trade union</rdfs:label><rdfs:label xml:lang="nl">vakbond</rdfs:label><rdfs:label xml:lang="fr">syndicat professionnel</rdfs:label><rdfs:comment xml:lang="en">A trade union or labor union is an organization of workers who have banded together to achieve common goals such as better working conditions.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Organisation"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/OfficeHolder"> + <rdfs:label xml:lang="el">κάτοχος δημόσιου αξιώματος</rdfs:label><rdfs:label xml:lang="fr">titulaire</rdfs:label><rdfs:label xml:lang="en">office holder</rdfs:label><rdfs:label xml:lang="nl">ambtsdrager</rdfs:label><rdfs:label xml:lang="ko">공직자</rdfs:label><rdfs:label xml:lang="de">Amtsinhaber</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/MilitaryStructure"> + <rdfs:label xml:lang="en">military structure</rdfs:label><rdfs:label xml:lang="el">Στρατιωτική Δομή</rdfs:label><rdfs:comment xml:lang="en">A military structure such as a Castle, Fortress, Wall, Naval base etc.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Building"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/CricketLeague"> + <rdfs:label xml:lang="en">cricket league</rdfs:label><rdfs:label xml:lang="el">κύπελλο κρικετ</rdfs:label><rdfs:label xml:lang="fr">ligue de cricket</rdfs:label><rdfs:comment xml:lang="en">a group of sports teams that compete against each other in Cricket</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/SportsLeague"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/RugbyClub"> + <rdfs:label xml:lang="en">rugby club</rdfs:label><rdfs:label xml:lang="fr">club de rugby</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/SportsTeam"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/MountainRange"> + <rdfs:label xml:lang="en">mountain range</rdfs:label><rdfs:label xml:lang="fr">chaîne de montagne</rdfs:label><rdfs:label xml:lang="el">Οροσειρά</rdfs:label><rdfs:label xml:lang="nl">bergketen</rdfs:label><rdfs:comment xml:lang="en">a chain of mountains bordered by highlands or separated from other mountains by passes or valleys.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/NaturalPlace"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/AustralianRulesFootballPlayer"> + <rdfs:label xml:lang="en">Australian rules football player</rdfs:label><rdfs:label xml:lang="el">αυστραλιανοί κανόνες ποδοσφαιριστή</rdfs:label><rdfs:label xml:lang="ja">オージーフットボール選手</rdfs:label><rdfs:label xml:lang="it">giocatore di football australiano</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Athlete"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/BasketballPlayer"> + <rdfs:label xml:lang="el">παίκτης καλαθοσφαίρισης</rdfs:label><rdfs:label xml:lang="fr">joueur de basketball</rdfs:label><rdfs:label xml:lang="en">basketball player</rdfs:label><rdfs:label xml:lang="it">giocatore di pallacanestro</rdfs:label><rdfs:label xml:lang="ja">バスケットボール選手</rdfs:label><rdfs:label xml:lang="ko">농구 선수</rdfs:label><rdfs:label xml:lang="es">Basquetbolista</rdfs:label><rdfs:comment xml:lang="el">Ένας αθλητής (άνδρας ή γυναίκα) που ασχολείται με το άθλημα της καλαθοσφαίρισης.</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Athlete"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Chancellor"> + <rdfs:label xml:lang="el">καγκελάριος</rdfs:label><rdfs:label xml:lang="fr">chancelier</rdfs:label><rdfs:label xml:lang="en">chancellor</rdfs:label><rdfs:label xml:lang="it">cancelliere</rdfs:label><rdfs:label xml:lang="nl">kanselier</rdfs:label><rdfs:label xml:lang="pt">chanceler</rdfs:label><rdfs:label xml:lang="de">Kanzler</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Politician"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/LegalCase"> + <rdfs:label xml:lang="en">Legal Case</rdfs:label><rdfs:label xml:lang="el">νομική υπόθεση</rdfs:label><rdfs:label xml:lang="fr">cas juridique</rdfs:label><rdfs:label xml:lang="pt">caso jurídico</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Case"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Crustacean"> + <rdfs:label xml:lang="el">αστρακόδερμο</rdfs:label><rdfs:label xml:lang="fr">crustacés</rdfs:label><rdfs:label xml:lang="en">crustacean</rdfs:label><rdfs:label xml:lang="ja">甲殻類</rdfs:label><rdfs:label xml:lang="nl">schaaldier</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Animal"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Broadcaster"> + <rdfs:label xml:lang="el">εκφωνητής</rdfs:label><rdfs:label xml:lang="en">broadcaster</rdfs:label><rdfs:label xml:lang="it">emittente</rdfs:label><rdfs:label xml:lang="ja">放送事業者</rdfs:label><rdfs:label xml:lang="de">Rundfunkveranstalter</rdfs:label><rdfs:comment xml:lang="el">Ο ραδιοτηλεοπτικός φορέας είναι ένας οργανισμός που είναι υπεύθυνος για την παραγωγή ραδιοφωνικών ή τηλεοπτικών προγραμμάτων και / ή τη διαβίβασή τους</rdfs:comment><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Organisation"/> + </owl:Class><owl:Class rdf:about="http://dbpedia.org/ontology/Cycad"> + <rdfs:label xml:lang="en">cycad</rdfs:label><rdfs:label xml:lang="el">φοινικόθαμνος</rdfs:label><rdfs:label xml:lang="fr">cycadophytes</rdfs:label><rdfs:label xml:lang="pt">ソテツ門</rdfs:label><rdfs:subClassOf rdf:resource="http://dbpedia.org/ontology/Plant"/> + </owl:Class><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/politicalPartyOfLeader"> + <rdfs:label xml:lang="en">political party of leader</rdfs:label><rdfs:label xml:lang="de">politische Partei des Vorsitzenden</rdfs:label><rdfs:comment xml:lang="en">The Political party of leader.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Legislature"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/PoliticalParty"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/distanceLaps"> + <rdfs:label xml:lang="en">distance laps</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/GrandPrix"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/speaker"> + <rdfs:label xml:lang="en">speaker</rdfs:label><rdfs:comment xml:lang="en">number of office holder</rdfs:comment><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/ons"> + <rdfs:label xml:lang="en">ons</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/AlgerianSettlement"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/cityType"> + <rdfs:label xml:lang="en">city type</rdfs:label><rdfs:label xml:lang="nl">type stad</rdfs:label><rdfs:label xml:lang="el">τύπος</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/shuttle"> + <rdfs:label xml:lang="en">shuttle</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SpaceMission"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/SpaceShuttle"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/ranking"> + <rdfs:label xml:lang="en">ranking</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/School"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#positiveInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/blackLongDistancePisteNumber"> + <rdfs:label xml:lang="en">long distance piste number</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/yearOfElectrification"> + <rdfs:label xml:lang="en">year of electrification</rdfs:label><rdfs:label xml:lang="de">Jahr der Elektrifizierung</rdfs:label><rdfs:comment xml:lang="en">Year station was electrified, if not previously at date of opening.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Station"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#gYear"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/lastSeason"> + <rdfs:label xml:lang="en">last season</rdfs:label><rdfs:label xml:lang="el">Προηγούμενη Περίοδος</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/FormulaOneRacer"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/minimumTemperature"> + <rdfs:label xml:lang="en">minimum temperature (K)</rdfs:label><rdfs:label xml:lang="el">ελάχιστη θερμοκρασία (K)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Planet"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/illustrator"> + <rdfs:label xml:lang="en">illustrator</rdfs:label><rdfs:label xml:lang="nl">illustrator</rdfs:label><rdfs:label xml:lang="fr">illustrateur</rdfs:label><rdfs:comment xml:lang="en">Illustrator (where used throughout and a major feature)</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Book"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/><owl:equivalentProperty rdf:resource="http://schema.org/illustrator"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/weddingParentsDate"> + <rdfs:label xml:lang="en">Parents Wedding Date</rdfs:label><rdfs:label xml:lang="de">Hochzeitstag der Eltern</rdfs:label><rdfs:label xml:lang="pt">data do casamento dos pais</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/fastestDriver"> + <rdfs:label xml:lang="en">fastest driver</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/GrandPrix"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/dateAct"> + <rdfs:label xml:lang="en">date act</rdfs:label><rdfs:label xml:lang="el">απόφαση_διάνοιξης</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Canal"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/externalOrnament"> + <rdfs:label xml:lang="en">external ornament</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/minority"> + <rdfs:label xml:lang="en">minority of a settlement</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Settlement"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/reference"> + <rdfs:label xml:lang="en">reference</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/massif"> + <rdfs:label xml:lang="en">massif</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SkiResort"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Place"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/britishComedyAwards"> + <rdfs:label xml:lang="en">British Comedy Awards</rdfs:label><rdfs:label xml:lang="el">Βρετανικά Βραβεία Κωμωδίας</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Comedian"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Award"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/firstLaunchRocket"> + <rdfs:label xml:lang="en">first launch rocket</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/LaunchPad"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Rocket"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/sourceConfluenceCountry"> + <rdfs:label xml:lang="en">source confluence country</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/River"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Country"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/launch"> + <rdfs:label xml:lang="en">launch</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Spacecraft"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/otherServingLines"> + <rdfs:label xml:lang="en">other serving lines</rdfs:label><rdfs:label xml:lang="nl">andere verbindingen</rdfs:label><rdfs:label xml:lang="de">andere Verbindungen</rdfs:label><rdfs:comment xml:lang="en">Connecting services that serve the station such as bus, etc.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Station"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/largestMetro"> + <rdfs:label xml:lang="en">largest metro</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Settlement"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/firstOwner"> + <rdfs:label xml:lang="en">first owner</rdfs:label><rdfs:label xml:lang="fr">premier propriétaire</rdfs:label><rdfs:label xml:lang="es">primer dueño</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/Agent"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/species"> + <rdfs:label xml:lang="en">species</rdfs:label><rdfs:label xml:lang="nl">soort</rdfs:label><rdfs:label xml:lang="ja">種_(分類学)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Species"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/managementRegion"> + <rdfs:label xml:lang="en">management region</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Island"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/bicycleInformation"> + <rdfs:label xml:lang="en">bicycle information</rdfs:label><rdfs:label xml:lang="de">Fahrradinformationen</rdfs:label><rdfs:comment xml:lang="en">Information on station's bicycle facilities.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Station"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/gridReference"> + <rdfs:label xml:lang="en">grid reference</rdfs:label><rdfs:label xml:lang="nl">coördinaten</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/winsAtSenEuro"> + <rdfs:label xml:lang="en">wins at Senior Euro</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/GolfPlayer"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/historicalRegion"> + <rdfs:label xml:lang="en">historical region</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberOfStaff"> + <rdfs:label xml:lang="en">number of staff</rdfs:label><rdfs:label xml:lang="el">αριθμός προσωπικού</rdfs:label><rdfs:label xml:lang="nl">aantal medewerkers</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Organisation"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/originalName"> + <rdfs:label xml:lang="en">original name</rdfs:label><rdfs:label xml:lang="nl">oorspronkelijke naam</rdfs:label><rdfs:comment xml:lang="en">The original name of the entity, e.g. film, settlement, etc.</rdfs:comment><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/senator"> + <rdfs:label xml:lang="en">senator</rdfs:label><rdfs:label xml:lang="pt">senador</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/formerCallsign"> + <rdfs:label xml:lang="en">former call sign</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Broadcaster"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/mission"> + <rdfs:label xml:lang="en">mission</rdfs:label><rdfs:label xml:lang="el">αποστολή</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Aircraft"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/SpaceMission"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/ccaState"> + <rdfs:label xml:lang="en">cca state</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/surfaceGravity"> + <rdfs:label xml:lang="en">surface gravity (g)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Planet"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/attorneyGeneral"> + <rdfs:label xml:lang="en">attorney general</rdfs:label><rdfs:label xml:lang="nl">procureur-generaal</rdfs:label><rdfs:comment xml:lang="en">Public attorney</rdfs:comment><rdfs:comment xml:lang="nl">de procureur-generaal</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/LegalCase"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/gnisCode"> + <rdfs:label xml:lang="en">gnis code</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/maidenFlightRocket"> + <rdfs:label xml:lang="en">maiden flight rocket</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/YearInSpaceflight"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Rocket"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/coordinates"> + <rdfs:label xml:lang="en">geographic coordinates</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/scottishName"> + <rdfs:label xml:lang="en">scottish name</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Settlement"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/raceTrack"> + <rdfs:label xml:lang="en">race track</rdfs:label><rdfs:label xml:lang="fr">circuit</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SportsEvent"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/RaceTrack"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/loadLimit"> + <rdfs:label xml:lang="en">load limit (g)</rdfs:label><rdfs:label xml:lang="de">Belastungsgrenze (g)</rdfs:label><rdfs:comment xml:lang="en">Load limit of the bridge.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Bridge"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/schoolCode"> + <rdfs:label xml:lang="en">school code</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/School"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberOfBombs"> + <rdfs:label xml:lang="en">number of bombs</rdfs:label><rdfs:label xml:lang="el">αριθμός των βομβών</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Aircraft"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/theology"> + <rdfs:label xml:lang="en">Theology</rdfs:label><rdfs:label xml:lang="el">Θεολογία</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/ChristianDoctrine"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/jurisdiction"> + <rdfs:label xml:lang="en">jurisdiction</rdfs:label><rdfs:label xml:lang="de">Zuständigkeit</rdfs:label><rdfs:comment xml:lang="en">Jurisdiction is the practical authority granted to a formally constituted legal body or to a political leader to deal with and make pronouncements on legal matters and, by implication, to administer justice within a defined area of responsibility.</rdfs:comment><rdfs:comment xml:lang="de">Die Zuständigkeit oder Kompetenz legt im öffentlichen Recht fest, welche Behörde bzw. welches Gericht im Einzelfall rechtlich zu hoheitlichem Handeln ermächtigt und verpflichtet ist.</rdfs:comment> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberOfLocations"> + <rdfs:label xml:lang="en">number of locations</rdfs:label><rdfs:label xml:lang="fr">nombre de sites</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Organisation"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/serviceEndDate"> + <rdfs:label xml:lang="en">service end date</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/MilitaryPerson"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/digitalSubChannel"> + <rdfs:label xml:lang="en">digital sub channel</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Broadcaster"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/firstAirDate"> + <rdfs:label xml:lang="en">first air date</rdfs:label><rdfs:label xml:lang="de">Sendebeginn</rdfs:label><rdfs:comment xml:lang="en">The date on which regular broadcasts began.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Broadcaster"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/maximumBoatLength"> + <rdfs:label xml:lang="en">maximum boat length (μ)</rdfs:label><rdfs:label xml:lang="el">μέγιστο_μήκος_πλοίου (μ)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Canal"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/guest"> + <rdfs:label xml:lang="en">guest</rdfs:label><rdfs:label xml:lang="el">επισκέπτης</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/TelevisionEpisode"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/number"> + <rdfs:label xml:lang="en">number</rdfs:label><rdfs:label xml:lang="nl">nummer</rdfs:label><rdfs:label xml:lang="el">αριθμός</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/mass"> + <rdfs:label xml:lang="en">mass (g)</rdfs:label><rdfs:label xml:lang="el">μάζα (g)</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/broadcastRepeater"> + <rdfs:label xml:lang="en">broadcast repeater</rdfs:label><rdfs:label xml:lang="el">επαναληπτική αναμετάδοση</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Broadcaster"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/participant"> + <rdfs:label xml:lang="en">participant</rdfs:label><rdfs:label xml:lang="nl">deelnemer</rdfs:label><rdfs:label xml:lang="de">Teilnehmer</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Event"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/torchBearer"> + <rdfs:label xml:lang="en">torch bearer</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Olympics"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/format"> + <rdfs:label xml:lang="en">format</rdfs:label><rdfs:label xml:lang="nl">formaat</rdfs:label><rdfs:label xml:lang="fr">format</rdfs:label><rdfs:label xml:lang="el">format</rdfs:label> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/mother"> + <rdfs:label xml:lang="en">mother</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/secondCommander"> + <rdfs:label xml:lang="en">second commander</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/MilitaryUnit"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberOfDistricts"> + <rdfs:label xml:lang="en">number of districts</rdfs:label><rdfs:label xml:lang="id">jumlah kecamatan</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Regency"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/localization"> + <rdfs:label xml:lang="en">localization of the island</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Island"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/spokesperson"> + <rdfs:label xml:lang="en">spokesperson</rdfs:label><rdfs:label xml:lang="pt">porta-voz</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PoliticalParty"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/royalAnthem"> + <rdfs:label xml:lang="en">royal anthem</rdfs:label> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/subjectOfPlay"> + <rdfs:label xml:lang="en">subject of play</rdfs:label><rdfs:comment xml:lang="en">The overall subject matter dealt with by the play.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Play"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/observatory"> + <rdfs:label xml:lang="en">observatory</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Island"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/historicalName"> + <rdfs:label xml:lang="en">historical name</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/targetAirport"> + <rdfs:label xml:lang="en">target airport</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Airline"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Airport"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/duration"> + <rdfs:label xml:lang="en">duration (s)</rdfs:label><rdfs:label xml:lang="nl">duur (s)</rdfs:label><rdfs:comment xml:lang="en">The duration of the item (movie, audio recording, event, etc.) in ISO 8601 date format</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Event"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/><owl:equivalentProperty rdf:resource="http://schema.org/duration"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/sportCountry"> + <rdfs:label xml:lang="en">sport country</rdfs:label><rdfs:label xml:lang="de">Sportnation</rdfs:label><rdfs:comment xml:lang="en">The country, for which the athlete is participating in championships</rdfs:comment><rdfs:comment xml:lang="de">Das Land, für das der Sportler an Wettkämpfen teilnimmt</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Athlete"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Country"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/aircraftPatrol"> + <rdfs:label xml:lang="en">aircraft patrol</rdfs:label><rdfs:label xml:lang="el">περιπολία αεροσκάφους</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/MilitaryUnit"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/MeanOfTransportation"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/musicFusionGenre"> + <rdfs:label xml:lang="en">music fusion genre</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/MusicGenre"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/MusicGenre"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/network"> + <rdfs:label xml:lang="en">network</rdfs:label><rdfs:label xml:lang="el">δίκτυο</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Broadcaster"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Broadcaster"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/icd9"> + <rdfs:label xml:lang="en">ICD9</rdfs:label><rdfs:label xml:lang="nl">ICD9</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Disease"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/bronzeMedalist"> + <rdfs:label xml:lang="en">bronze medalist</rdfs:label><rdfs:label xml:lang="pt">medalha de bronze</rdfs:label><rdfs:label xml:lang="el">χάλκινο μετάλλιο</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SportsEvent"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/waistSize"> + <rdfs:label xml:lang="en">waist size (μ)</rdfs:label><rdfs:label xml:lang="de">Taillenumfang (μ)</rdfs:label><rdfs:label xml:lang="ja">ウエスト (μ)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/codeBook"> + <rdfs:label xml:lang="en">code book</rdfs:label><rdfs:label xml:lang="nl">wetboek</rdfs:label><rdfs:comment xml:lang="en">code book or statute book referred to in this legal case</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/LegalCase"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/subtitle"> + <rdfs:label xml:lang="el">υπότιτλος</rdfs:label><rdfs:label xml:lang="en">subtitle</rdfs:label><rdfs:label xml:lang="nl">onderschrift</rdfs:label><rdfs:label xml:lang="pt">legenda</rdfs:label><rdfs:label xml:lang="de">Untertitel</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/dorlandsSuffix"> + <rdfs:label xml:lang="en">Dorlands suffix</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/AnatomicalStructure"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/school"> + <rdfs:label xml:lang="el">σχολείο</rdfs:label><rdfs:label xml:lang="fr">école</rdfs:label><rdfs:label xml:lang="en">school</rdfs:label><rdfs:label xml:lang="it">scuola</rdfs:label><rdfs:label xml:lang="nl">school</rdfs:label><rdfs:label xml:lang="de">schule</rdfs:label><rdfs:comment xml:lang="en">school a person goes or went to</rdfs:comment><rdfs:comment xml:lang="el">σχολείο στο οποίο πηγαίνει ή πήγε κάποιος</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/EducationalInstitution"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/childOrganisation"> + <rdfs:label xml:lang="en">child organisation</rdfs:label><rdfs:label xml:lang="nl">dochterorganisatie</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Organisation"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Organisation"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/weight"> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/><rdfs:label xml:lang="el">βάρος (g)</rdfs:label><rdfs:label xml:lang="fr">poids (g)</rdfs:label><rdfs:label xml:lang="en">weight (g)</rdfs:label><rdfs:label xml:lang="ja">体重 (g)</rdfs:label><rdfs:label xml:lang="nl">gewicht (g)</rdfs:label><rdfs:label xml:lang="pt">peso (g)</rdfs:label><rdfs:label xml:lang="de">Gewicht (g)</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/membership"> + <rdfs:label xml:lang="en">membership</rdfs:label><rdfs:label xml:lang="nl">lidmaatschap</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Organisation"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/lastLaunchDate"> + <rdfs:label xml:lang="en">last launch date</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/LaunchPad"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/flagLink"> + <rdfs:label xml:lang="en">flag Link</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/monarch"> + <rdfs:label xml:lang="en">monarch</rdfs:label><rdfs:label xml:lang="nl">monarch</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/faaLocationIdentifier"> + <rdfs:label xml:lang="en">FAA Location Identifier</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Airport"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/areaQuote"> + <rdfs:label xml:lang="en">area quote</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/parent"> + <rdfs:label xml:lang="en">parent</rdfs:label><rdfs:label xml:lang="nl">ouder</rdfs:label><rdfs:label xml:lang="fr">parent</rdfs:label><rdfs:label xml:lang="ja">親</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/lessPopulousCountry"> + <rdfs:label xml:lang="en">less populous country</rdfs:label><rdfs:label xml:lang="pt">país menos populoso</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Country"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Country"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/activeYearsEndYear"> + <rdfs:label xml:lang="en">active years end year</rdfs:label><rdfs:label xml:lang="el">ενεργά χρόνια τέλος του χρόνου</rdfs:label><rdfs:label xml:lang="nl">actieve jaren eind jaar</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#gYear"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/bioclimate"> + <rdfs:label xml:lang="en">bioclimate</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/isHandicappedAccessible"> + <rdfs:label xml:lang="en">is handicapped accessible</rdfs:label><rdfs:label xml:lang="de">ist rollstuhlgerecht</rdfs:label><rdfs:comment xml:lang="en">True if the station is handicapped accessible.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Station"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/alpsSubgroup"> + <rdfs:label xml:lang="en">Alps subgroup</rdfs:label><rdfs:label xml:lang="el">υποομάδα των άλπεων</rdfs:label><rdfs:label xml:lang="it">sottogruppo alpino</rdfs:label><rdfs:comment xml:lang="en">the Alps subgroup to which the mountain belongs, according to the SOIUSA classification</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Mountain"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/MountainRange"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/construction"> + <rdfs:label xml:lang="en">construction</rdfs:label><rdfs:label xml:lang="de">Konstruktion</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/ArchitecturalStructure"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/notableWork"> + <rdfs:label xml:lang="en">notable work</rdfs:label><rdfs:label xml:lang="fr">oeuvre majeure</rdfs:label><rdfs:label xml:lang="ja">代表作</rdfs:label><rdfs:label xml:lang="nl">bekende werken</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Writer"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Book"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/supplementalDraftYear"> + <rdfs:label xml:lang="en">supplemental draft year</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/GridironFootballPlayer"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#gYear"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/spurOf"> + <rdfs:label xml:lang="en">spur of</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Road"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Road"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/volcanicActivity"> + <rdfs:label xml:lang="en">volcanic activity</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Island"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/administrativeCollectivity"> + <rdfs:label xml:lang="en">administrative collectivity</rdfs:label><rdfs:label xml:lang="nl">administratieve gemeenschap</rdfs:label><rdfs:label xml:lang="el">διοικητική συλλογικότητα</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Settlement"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/chiefEditor"> + <rdfs:label xml:lang="en">chief editor</rdfs:label><rdfs:label xml:lang="nl">hoofdredacteur</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Work"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/collectivityMinority"> + <rdfs:label xml:lang="en">collectivity minority of a settlement</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Settlement"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/vein"> + <rdfs:label xml:lang="en">vein</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/AnatomicalStructure"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Vein"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/relative"> + <rdfs:label xml:lang="en">relative</rdfs:label><rdfs:label xml:lang="el">συγγενής</rdfs:label><rdfs:label xml:lang="de">Verwandter</rdfs:label><rdfs:label xml:lang="ja">親戚</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/><owl:equivalentProperty rdf:resource="http://schema.org/relatedTo"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/failedLaunches"> + <rdfs:label xml:lang="en">failed launches</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/powerType"> + <rdfs:label xml:lang="en">power type</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/MeanOfTransportation"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/releaseDate"> + <rdfs:label xml:lang="en">release date</rdfs:label><rdfs:label xml:lang="nl">release datum</rdfs:label><rdfs:label xml:lang="el">ημερομηνία κυκλοφορίας</rdfs:label><rdfs:label xml:lang="pl">data wydania</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Work"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/militaryUnitSize"> + <rdfs:label xml:lang="en">military unit size</rdfs:label><rdfs:comment xml:lang="en">the size of the military unit</rdfs:comment><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/author"> + <rdfs:label xml:lang="el">συγγραφέας</rdfs:label><rdfs:label xml:lang="fr">auteur</rdfs:label><rdfs:label xml:lang="en">author</rdfs:label><rdfs:label xml:lang="nl">auteur</rdfs:label><rdfs:label xml:lang="de">autor</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Work"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/><owl:equivalentProperty rdf:resource="http://schema.org/author"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/fate"> + <rdfs:label xml:lang="en">fate</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Company"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/organisation"> + <rdfs:label xml:lang="en">organisation</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/Organisation"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/iobdbId"> + <rdfs:label xml:lang="en">IOBDB ID</rdfs:label><rdfs:comment xml:lang="en">Lortel Archives Internet Off-Broadway database "show id" from lortel.org.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Play"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/codeMemorial"> + <rdfs:label xml:lang="en">memorial ID number</rdfs:label><rdfs:label xml:lang="nl">code gedenkteken</rdfs:label><rdfs:comment xml:lang="en">Identifier for monuments of the Memorial type</rdfs:comment><rdfs:comment xml:lang="nl">Code oorlogsmonument of ander gedenkteken</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Memorial"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/museumType"> + <rdfs:label xml:lang="en">museumType</rdfs:label><rdfs:label xml:lang="nl">soort museum</rdfs:label><rdfs:comment xml:lang="en">This property has been added because 'buildingType' is much more about the place, whereas 'museumType' is about the way the place is being (or:was) used</rdfs:comment><rdfs:comment xml:lang="nl">Nieuw type is nodig omdat Museum eigenlijk geen subklasse van Building is, maar meer te maken heeft met de functie van het gebouw. 'Museumtype' is dan ook meer thema- en collectiegerelateerd</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Museum"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/usSales"> + <rdfs:label xml:lang="en">US sales</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Sales"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/subdivisions"> + <rdfs:label xml:lang="en">subdivisions</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/hasJunctionWith"> + <rdfs:label xml:lang="en">has junction with</rdfs:label><rdfs:label xml:lang="el">σύνδεση</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Canal"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Canal"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/orderInOffice"> + <rdfs:label xml:lang="en">order in office</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/wordBefore"> + <rdfs:label xml:lang="en">word before the country</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Country"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/opponents"> + <rdfs:label xml:lang="en">opponents</rdfs:label><rdfs:comment xml:lang="en">"opponent in a military conflict, an organisation, country, or group of countries. "</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/MilitaryConflict"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/series"> + <rdfs:label xml:lang="en">series</rdfs:label><rdfs:label xml:lang="nl">reeks</rdfs:label><rdfs:label xml:lang="el">σειρά</rdfs:label> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/arabicName"> + <rdfs:label xml:lang="en">arabic name of a lebanon settlement</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/LebanonSettlement"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/listItemOf"> + <rdfs:label xml:lang="en">list item</rdfs:label><rdfs:label xml:lang="nl">lijst items</rdfs:label><rdfs:label xml:lang="el">αντικείμενο λίστας</rdfs:label> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/spacewalkEnd"> + <rdfs:label xml:lang="en">spacewalk end</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SpaceMission"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/mentor"> + <rdfs:label xml:lang="en">mentor</rdfs:label><rdfs:label xml:lang="fr">mentor</rdfs:label><rdfs:comment xml:lang="en">A wise and trusted counselor or teacher</rdfs:comment><rdfs:comment xml:lang="fr">Celui qui sert de guide, de conseiller à quelqu’un.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Artist"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Artist"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/approximateCalories"> + <rdfs:label xml:lang="en">approximate calories (J)</rdfs:label><rdfs:label xml:lang="el">κατά προσέγγιση θερμίδες (J)</rdfs:label><rdfs:comment xml:lang="en">Approximate calories per serving.</rdfs:comment><rdfs:comment xml:lang="el">Kατά προσέγγιση θερμίδες ανά μερίδα.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Food"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberBuilt"> + <rdfs:label xml:lang="en">number built</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Aircraft"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/openingDate"> + <rdfs:label xml:lang="en">opening date</rdfs:label><rdfs:label xml:lang="el">ημερομηνία ανοίγματος</rdfs:label><rdfs:label xml:lang="fr">date d'ouverture</rdfs:label><rdfs:label xml:lang="de">Eröffnungsdatum</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/ArchitecturalStructure"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/dateUse"> + <rdfs:label xml:lang="en">date use</rdfs:label><rdfs:label xml:lang="el">έναρξη_χρήσης</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Canal"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/city"> + <rdfs:label xml:lang="el">πόλη</rdfs:label><rdfs:label xml:lang="fr">ville</rdfs:label><rdfs:label xml:lang="en">city</rdfs:label><rdfs:label xml:lang="nl">stad</rdfs:label><rdfs:label xml:lang="de">Stadt</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/City"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/ruralMunicipality"> + <rdfs:label xml:lang="en">rural municipality</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Road"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/review"> + <rdfs:label xml:lang="en">review</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Album"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#anyURI"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/circulation"> + <rdfs:label xml:lang="en">circulation</rdfs:label><rdfs:label xml:lang="nl">oplage</rdfs:label><rdfs:label xml:lang="el">κυκλοφορία</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/WrittenWork"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/populationTotalReference"> + <rdfs:label xml:lang="en">total population reference</rdfs:label><rdfs:label xml:lang="pt">referencia do total da populacao</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Settlement"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/veneratedIn"> + <rdfs:label xml:lang="en">venerated in</rdfs:label><rdfs:label xml:lang="nl">vereerd in</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Saint"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Organisation"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/production"> + <rdfs:label xml:lang="en">production</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Company"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/humanDevelopmentIndex"> + <rdfs:label xml:lang="en">Human Development Index (HDI)</rdfs:label><rdfs:label xml:lang="pt">Índice de Desenvolvimento Humano (IDH)</rdfs:label><rdfs:comment xml:lang="en">a composite statistic used to rank countries by level of "human development"</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#float"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/acceleration"> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/><rdfs:label xml:lang="de">Beschleunigung (s)</rdfs:label><rdfs:label xml:lang="en">acceleration (s)</rdfs:label><rdfs:label xml:lang="el">επιτάχυνση (s)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/AutomobileEngine"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/populationTotal"> + <rdfs:label xml:lang="el">συνολικός_πληθυσμός</rdfs:label><rdfs:label xml:lang="fr">population totale</rdfs:label><rdfs:label xml:lang="en">population total</rdfs:label><rdfs:label xml:lang="nl">inwonersaantal</rdfs:label><rdfs:label xml:lang="pt">população total</rdfs:label><rdfs:label xml:lang="de">Einwohnerzahl</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberOfPlatformLevels"> + <rdfs:label xml:lang="en">number of platform levels</rdfs:label><rdfs:comment xml:lang="en">Number of levels of platforms at the station.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Station"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/mediaType"> + <rdfs:label xml:lang="en">media type</rdfs:label><rdfs:label xml:lang="nl">mediatype</rdfs:label><rdfs:comment xml:lang="en">Print / On-line (then binding types etc. if relevant)</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Book"/><owl:equivalentProperty rdf:resource="http://schema.org/bookFormat"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/geminiAward"> + <rdfs:label xml:lang="en">Gemini Award</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Actor"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Award"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/formerBroadcastNetwork"> + <rdfs:label xml:lang="en">former broadcast network</rdfs:label><rdfs:label xml:lang="de">ehemalige Sendergruppe</rdfs:label><rdfs:label xml:lang="fr">ancienne chaîne de télévision généraliste</rdfs:label><rdfs:comment xml:lang="en">A former parent broadcast network to which the broadcaster once belonged.</rdfs:comment><rdfs:comment xml:lang="de">Eine ehemalige Sendergruppe zu dem der Rundfunkveranstalter gehört hat.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Broadcaster"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/BroadcastNetwork"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/graySubject"> + <rdfs:label xml:lang="en">Gray subject</rdfs:label><rdfs:comment xml:lang="en">Refers to the famous 1918 edition of Gray's Anatomy.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/AnatomicalStructure"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#positiveInteger"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/plant"> + <rdfs:label xml:lang="en">plant</rdfs:label><rdfs:label xml:lang="el">φυτό</rdfs:label><rdfs:label xml:lang="ja">植物</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Plant"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/sisterStation"> + <rdfs:label xml:lang="en">sister station</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Broadcaster"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Broadcaster"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/years"> + <rdfs:label xml:lang="en">years</rdfs:label><rdfs:label xml:lang="nl">seizoen</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SoccerPlayer"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#gYear"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberOfStations"> + <rdfs:label xml:lang="en">number of stations</rdfs:label><rdfs:label xml:lang="de">Anzahl der Stationen</rdfs:label><rdfs:comment xml:lang="en">Number of stations or stops.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/RouteOfTransportation"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/meshId"> + <rdfs:label xml:lang="en">MeSH ID</rdfs:label><rdfs:label xml:lang="nl">MeSH ID</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Disease"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/wikiPageInterLanguageLink"> + <rdfs:label xml:lang="en">Link from a Wikipage to a Wikipage in a different language about the same or a related subject.</rdfs:label><rdfs:comment xml:lang="en">Reserved for DBpedia.</rdfs:comment> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/prefectMandate"> + <rdfs:label xml:lang="en">mandate of a prefect of a romanian settlement</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/RomaniaSettlement"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/area"> + <rdfs:label xml:lang="el">έκταση (m2)</rdfs:label><rdfs:label xml:lang="fr">superficie (m2)</rdfs:label><rdfs:label xml:lang="en">area (m2)</rdfs:label><rdfs:label xml:lang="nl">oppervlakte (m2)</rdfs:label><rdfs:label xml:lang="pt">área (m2)</rdfs:label><rdfs:label xml:lang="de">Fläche (m2)</rdfs:label><rdfs:comment xml:lang="en">The area of a owl:Thing in square metre.</rdfs:comment><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/tennisSurfaceType"> + <rdfs:label xml:lang="en">type of tennis surface</rdfs:label><rdfs:label xml:lang="fr">type de surface (tennis)</rdfs:label><rdfs:label xml:lang="es">tipo de surperficie(tennis</rdfs:label><rdfs:label xml:lang="nl">type speelgrond</rdfs:label><rdfs:comment xml:lang="en">There are five types of court surface used in professional play. Each surface is different in the speed and height of the bounce of the ball.</rdfs:comment><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/internationalPhonePrefix"> + <rdfs:label xml:lang="en">international phone prefix</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/name"> + <rdfs:label xml:lang="en">name</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/FictionalCharacter"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/humanDevelopmentIndexRank"> + <rdfs:label xml:lang="en">human development index rank</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/shareOfAudience"> + <rdfs:label xml:lang="en">share of audience</rdfs:label><rdfs:label xml:lang="de">Anteil der Zuschauer/Zuhörer</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Broadcaster"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#float"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/wineRegion"> + <rdfs:label xml:lang="en">wine region</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Grape"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/WineRegion"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/broadcastStationClass"> + <rdfs:label xml:lang="en">broadcast station class</rdfs:label><rdfs:label xml:lang="el">αναμετάδοση ραδιοφωνικού σταθμού</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Broadcaster"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/honours"> + <rdfs:label xml:lang="en">honours</rdfs:label><rdfs:label xml:lang="el">διακρίσεις</rdfs:label><rdfs:label xml:lang="nl">eerbewijzen</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Agent"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/foundedBy"> + <rdfs:label xml:lang="en">founded by</rdfs:label><rdfs:label xml:lang="de">gegründet von</rdfs:label><rdfs:label xml:lang="nl">gesticht door</rdfs:label><rdfs:comment xml:lang="en">Identifys the founder of the described entity. This can be a person or a organisation for instance.</rdfs:comment><rdfs:range rdf:resource="http://dbpedia.org/ontology/Agent"/><owl:equivalentProperty rdf:resource="http://schema.org/founders"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/kinOfLanguage"> + <rdfs:label xml:lang="en">kindOfLanguage</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/firstMention"> + <rdfs:label xml:lang="en">first mention</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/censusYear"> + <rdfs:label xml:lang="en">census year</rdfs:label><rdfs:label xml:lang="el">έτος απογραφής</rdfs:label><rdfs:label xml:lang="de">Zensusjahr</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#gYear"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/identificationSymbol"> + <rdfs:label xml:lang="en">identification symbol</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/MilitaryUnit"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/openingYear"> + <rdfs:label xml:lang="en">opening year</rdfs:label><rdfs:label xml:lang="nl">openingsjaar</rdfs:label><rdfs:label xml:lang="de">Eröffnungsjahr</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/ArchitecturalStructure"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#gYear"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/mainIsland"> + <rdfs:label xml:lang="en">main island</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/millsCodeNLWindmotoren"> + <rdfs:label xml:lang="en">millsCodeNLWindmotoren</rdfs:label><rdfs:label xml:lang="nl">millsCodeNLWindmotoren</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Mill"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/depictionDescription"> + <rdfs:label xml:lang="en">depiction description (caption)</rdfs:label><rdfs:comment xml:lang="en">This property can be used to map image captions from Infoboxes</rdfs:comment><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/seatNumber"> + <rdfs:label xml:lang="en">number of seats in the land parlement</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/AustrianAdministrativeRegion"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/communityIsoCode"> + <rdfs:label xml:lang="en">iso code of a community</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/electionDateLeader"> + <rdfs:label xml:lang="en">election date leader</rdfs:label><rdfs:label xml:lang="de">Wahldatum des Vorsitzenden</rdfs:label><rdfs:comment xml:lang="en">The date that leader was elected.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Legislature"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/populationMetro"> + <rdfs:label xml:lang="en">population metro</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/causalties"> + <rdfs:label xml:lang="en">causalties</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/MilitaryConflict"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/designer"> + <rdfs:label xml:lang="en">designer</rdfs:label><rdfs:label xml:lang="el">σχεδιαστής</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/minorityFloorLeader"> + <rdfs:label xml:lang="en">minority floor leader</rdfs:label><rdfs:comment xml:lang="en">number of office holder</rdfs:comment><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/conservationStatus"> + <rdfs:label xml:lang="en">conservation status</rdfs:label><rdfs:label xml:lang="ja">保全状況</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Species"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/currentRecord"> + <rdfs:label xml:lang="en">current record</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/CollegeCoach"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/projectKeyword"> + <rdfs:label xml:lang="en">project keyword</rdfs:label><rdfs:comment xml:lang="en">A key word of the project.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Project"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/lowestPlace"> + <rdfs:label xml:lang="en">lowest place</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/analogChannel"> + <rdfs:label xml:lang="en">analog channel</rdfs:label><rdfs:label xml:lang="el">αναλογικό κανάλι</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Broadcaster"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/leaderParty"> + <rdfs:label xml:lang="el">κόμμα_αρχηγού</rdfs:label><rdfs:label xml:lang="en">leader party</rdfs:label><rdfs:label xml:lang="nl">regeringspartij</rdfs:label><rdfs:label xml:lang="pt">partido do lider</rdfs:label><rdfs:label xml:lang="de">Regierungspartei</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberOfHouses"> + <rdfs:label xml:lang="en">number of houses present)</rdfs:label><rdfs:label xml:lang="nl">aantal huizen aanwezig</rdfs:label><rdfs:comment xml:lang="en">Count of the houses in the Protected Area</rdfs:comment><rdfs:comment xml:lang="nl">Aantal huizen in afgegrensd gebied</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/ProtectedArea"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/apparentMagnitude"> + <rdfs:label xml:lang="en">apparent magnitude</rdfs:label><rdfs:label xml:lang="de">scheinbare Helligkeit</rdfs:label><rdfs:label xml:lang="el">φαινόμενο μέγεθος</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Planet"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/rankingsSingles"> + <rdfs:label xml:lang="en">single rankings</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/TennisPlayer"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/luxembourgishName"> + <rdfs:label xml:lang="en">city luxembourgish name</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/trainerClub"> + <rdfs:label xml:lang="en">trainer club</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SoccerPlayer"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/SportsTeam"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/literaryGenre"> + <rdfs:label xml:lang="en">literary genre</rdfs:label><rdfs:label xml:lang="nl">literair genre</rdfs:label><rdfs:label xml:lang="de">literarische Gattung</rdfs:label><rdfs:comment xml:lang="en">A literary genre is a category of literary composition. Genres may be determined by literary technique, tone, content, or even (as in the case of fiction) length.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/WrittenWork"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/lymph"> + <rdfs:label xml:lang="en">lymph</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/AnatomicalStructure"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Lymph"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/complexion"> + <rdfs:label xml:lang="en">complexion</rdfs:label><rdfs:label xml:lang="pt">cor da pele</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/informationName"> + <rdfs:label xml:lang="en">information name</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/mouthRegion"> + <rdfs:label xml:lang="en">mouth region</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/River"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/startCareer"> + <rdfs:label xml:lang="en">start career</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/size_v"> + <rdfs:label xml:lang="en">size_v</rdfs:label><rdfs:label xml:lang="el">μέγεθος</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/openswarm"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/populationDensity"> + <rdfs:label xml:lang="en">population density (/sqkm)</rdfs:label><rdfs:label xml:lang="nl">bevolkingsdichtheid (/sqkm)</rdfs:label><rdfs:label xml:lang="de">Bevölkerungsdichte (/sqkm)</rdfs:label><rdfs:label xml:lang="el">πυκνότητα_πληθυσμού (/sqkm)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/channel"> + <rdfs:label xml:lang="en">channel</rdfs:label><rdfs:label xml:lang="el">κανάλι</rdfs:label><rdfs:label xml:lang="nl">kanaal</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/Broadcaster"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/oclc"> + <rdfs:label xml:lang="en">OCLC</rdfs:label><rdfs:comment xml:lang="en">Online Computer Library Center number</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/WrittenWork"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/firstDriverCountry"> + <rdfs:label xml:lang="en">first driver country</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/GrandPrix"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Country"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/infantMortality"> + <rdfs:label xml:lang="en">infant mortality</rdfs:label><rdfs:label xml:lang="pt">mortalidade infantil</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#float"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/parkingInformation"> + <rdfs:label xml:lang="en">parking information</rdfs:label><rdfs:label xml:lang="de">Parkplatzinformationen</rdfs:label><rdfs:comment xml:lang="en">Information on station's parking facilities.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Station"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/silverMedalist"> + <rdfs:label xml:lang="en">siler medalist</rdfs:label><rdfs:label xml:lang="pt">medalha de prata</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SportsEvent"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/blockAlloy"> + <rdfs:label xml:lang="en">block alloy</rdfs:label><rdfs:label xml:lang="el">κράμα μετάλλου</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/AutomobileEngine"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/generalCouncil"> + <rdfs:label xml:lang="en">general council</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/homeStadium"> + <rdfs:label xml:lang="en">home stadium</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/Stadium"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/genereviewsname"> + <rdfs:label xml:lang="en">GeneReviewsName</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Disease"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/lowerAge"> + <rdfs:label xml:lang="en">lower age</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/School"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/causedBy"> + <rdfs:label xml:lang="en">caused by</rdfs:label><rdfs:label xml:lang="fr">casus</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Event"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/sixthFormStudents"> + <rdfs:label xml:lang="en">sixth form students</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/School"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/source"> + <rdfs:label xml:lang="en">source</rdfs:label><rdfs:label xml:lang="de">Quelle</rdfs:label><rdfs:label xml:lang="el">πηγή</rdfs:label> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/assets"> + <rdfs:label xml:lang="en">assets ($)</rdfs:label><rdfs:label xml:lang="el">περιουσιακά στοιχεία ($)</rdfs:label><rdfs:comment xml:lang="en">Assets and liabilities are part of a companis balance sheet. In financial accounting, assets are economic resources. Anything tangible or intangible that is capable of being owned or controlled to produce value and that is held to have positive economic value is considered an asset.</rdfs:comment><rdfs:comment xml:lang="el">Περιουσιακά στοιχεία και υποχρεώσεις αποτελούν μέρος του ισολογισμού μιας εταιρείας.Σε χρηματοοικονομική λογιστική,τα περιουσιακά στοιχεία είναι οι οικονομικοί πόροι. Οτιδήποτε ενσώματο ή άυλο, που είναι ικανό να ανήκει ή να ελέγχεται για να παράγει αξία και που κατέχεται για να έχει θετική οικονομική αξία θεωρείται ένα περιουσιακό στοιχείο.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Company"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/typeOfElectrification"> + <rdfs:label xml:lang="en">type of electrification</rdfs:label><rdfs:label xml:lang="de">Art der Elektrifizierung</rdfs:label><rdfs:comment xml:lang="en">Electrification system (e.g. Third rail, Overhead catenary).</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/RouteOfTransportation"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/serviceNumber"> + <rdfs:label xml:lang="en">service number</rdfs:label><rdfs:comment xml:lang="en">The service number held by the individual during military service.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/MilitaryPerson"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/fourthCommander"> + <rdfs:label xml:lang="en">fourth commander</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/MilitaryUnit"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/projectObjective"> + <rdfs:label xml:lang="en">project objective</rdfs:label><rdfs:label xml:lang="de">Projektziel</rdfs:label><rdfs:comment xml:lang="en">A defined objective of the project.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Project"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/architecturalStyle"> + <rdfs:label xml:lang="en">architectural style</rdfs:label><rdfs:label xml:lang="el">αρχιτεκτονικό στυλ</rdfs:label><rdfs:label xml:lang="nl">bouwstijl</rdfs:label><rdfs:label xml:lang="fr">style architectural</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/ArchitecturalStructure"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/protestantPercentage"> + <rdfs:label xml:lang="en">protestant percentage</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/dissolutionDate"> + <rdfs:label xml:lang="en">dissolution date</rdfs:label><rdfs:label xml:lang="nl">ontbindingsdatum</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/originalStartPoint"> + <rdfs:label xml:lang="en">original start point</rdfs:label><rdfs:label xml:lang="el">πρωταρχική_αρχή</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Canal"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Place"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/targetSpaceStation"> + <rdfs:label xml:lang="en">target space station station</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Spacecraft"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/SpaceStation"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/poles"> + <rdfs:label xml:lang="en">poles</rdfs:label><rdfs:label xml:lang="fr">pôle</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/FormulaOneRacer"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/founder"> + <rdfs:label xml:lang="en">Founder</rdfs:label><rdfs:label xml:lang="el">Ιδρυτής</rdfs:label> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/hairColor"> + <rdfs:label xml:lang="en">hair color</rdfs:label><rdfs:label xml:lang="de">Haarfarbe</rdfs:label><rdfs:label xml:lang="pt">cor do cabelo</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/regionLink"> + <rdfs:label xml:lang="en">region link</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/endingTheme"> + <rdfs:label xml:lang="en">ending theme</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/TelevisionShow"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Work"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberOfRestaurants"> + <rdfs:label xml:lang="en">number of restaurants</rdfs:label><rdfs:label xml:lang="el">αριθμός εστιατορίων</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Hotel"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/emblem"> + <rdfs:label xml:lang="en">emblem</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/availableSmartCard"> + <rdfs:label xml:lang="en">available smart card</rdfs:label><rdfs:label xml:lang="de">benutzbare Chipkarte</rdfs:label><rdfs:label xml:lang="el">διαθέσιμη έξυπνη κάρτα</rdfs:label><rdfs:comment xml:lang="en">Smartcard for fare payment system for public transit systems that are or will be available at the station.</rdfs:comment><rdfs:comment xml:lang="de">Chipkarte für automatische Bezahlsysteme im Personenverkehr die an diesem Bahnhof benutzt werden kann.</rdfs:comment><rdfs:comment xml:lang="el">Έξυπνη κάρτα για το σύστημα πληρωμής των ναύλων για τα δημόσια συστήματα μεταφορών που είναι ή θα είναι διαθέσιμα στο σταθμό.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Station"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/vicePrincipal"> + <rdfs:label xml:lang="en">vice principal</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/School"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/feature"> + <rdfs:label xml:lang="en">feature</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/FictionalCharacter"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/colourHexCode"> + <rdfs:label xml:lang="en">colour hex code</rdfs:label><rdfs:label xml:lang="de">Farben Hex Code</rdfs:label><rdfs:comment xml:lang="en">A colour represented by its hex code (e.g.: #FF0000 or #40E0D0).</rdfs:comment><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/prefecture"> + <rdfs:label xml:lang="en">prefecture</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Department"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/genre"> + <rdfs:label xml:lang="el">είδος</rdfs:label><rdfs:label xml:lang="fr">genre</rdfs:label><rdfs:label xml:lang="en">genre</rdfs:label><rdfs:label xml:lang="ja">ジャンル</rdfs:label><rdfs:label xml:lang="nl">genre</rdfs:label><owl:equivalentProperty rdf:resource="http://schema.org/genre"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/sourceConfluence"> + <rdfs:label xml:lang="en">source confluence</rdfs:label><rdfs:label xml:lang="es">lugar de nacimiento</rdfs:label><rdfs:label xml:lang="el">πηγές</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/River"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/wheelbase"> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/><rdfs:label xml:lang="en">wheelbase (μ)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Automobile"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/formationDate"> + <rdfs:label xml:lang="en">formation date</rdfs:label><rdfs:label xml:lang="nl">formatie datum</rdfs:label><rdfs:label xml:lang="el">Ιδρύθηκε</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Organisation"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/course"> + <rdfs:label xml:lang="en">course (μ)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/GrandPrix"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/creationYear"> + <rdfs:label xml:lang="en">year of creation</rdfs:label><rdfs:label xml:lang="nl">jaar van creatie</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#gYear"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/landskap"> + <rdfs:label xml:lang="en">norwegian landskap</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/NorwaySettlement"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/notableStudent"> + <rdfs:label xml:lang="en">notable student</rdfs:label><rdfs:label xml:lang="el">σημαντικοί_φοιτητές</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Scientist"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/mouthElevation"> + <rdfs:label xml:lang="en">mouth elevation (μ)</rdfs:label><rdfs:label xml:lang="el">ύψος_εκβολών (μ)</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/president"> + <rdfs:label xml:lang="el">πρόεδρος</rdfs:label><rdfs:label xml:lang="en">president</rdfs:label><rdfs:label xml:lang="nl">president</rdfs:label><rdfs:label xml:lang="pt">presidente</rdfs:label><rdfs:label xml:lang="de">Präsident</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/storyEditor"> + <rdfs:label xml:lang="en">story editor</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/TelevisionShow"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/codeLandRegistry"> + <rdfs:label xml:lang="en">code land registry</rdfs:label><rdfs:label xml:lang="nl">kadastercode</rdfs:label><rdfs:comment xml:lang="en">Land Registry code designating a parcel of land</rdfs:comment><rdfs:comment xml:lang="nl">Kadastercode voor een perceel</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/formerChoreographer"> + <rdfs:label xml:lang="en">former choreographer</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/FigureSkater"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/relatedFunctions"> + <rdfs:label xml:lang="en">related functions</rdfs:label><rdfs:label xml:lang="nl">soortgelijke functies</rdfs:label><rdfs:comment xml:lang="en">This property is to accommodate the list field that contains a list of related personFunctions a person holds or has held</rdfs:comment><rdfs:comment xml:lang="nl">Deze property is voor de lijst van persoonfuncties die een persoon (bv. een politicus) bekleedt of heeft bekleed</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/List"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/pccSecretary"> + <rdfs:label xml:lang="en">pcc secretary</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/modelStartDate"> + <rdfs:label xml:lang="en">model start date</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/MeanOfTransportation"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/meshName"> + <rdfs:label xml:lang="en">MeSH name</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/AnatomicalStructure"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/coachingRecord"> + <rdfs:label xml:lang="en">coaching record</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/CollegeCoach"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/daylightSavingTimeZone"> + <rdfs:label xml:lang="en">daylight saving time zone</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/dam"> + <rdfs:label xml:lang="en">dam</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Animal"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Animal"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/subsequentInfrastructure"> + <rdfs:label xml:lang="en">subsequent infrastructure</rdfs:label><rdfs:label xml:lang="nl">volgende infrastructuur</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Infrastructure"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Infrastructure"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/photographer"> + <rdfs:label xml:lang="en">photographer</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/TelevisionEpisode"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/commissionerDate"> + <rdfs:label xml:lang="en">commissioner date</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/programmeFormat"> + <rdfs:label xml:lang="en">programme format</rdfs:label><rdfs:comment xml:lang="en">The programming format describes the overall content broadcast on a radio or television station.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Broadcaster"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/unloCode"> + <rdfs:label xml:lang="en">UN/LOCODE</rdfs:label><rdfs:comment xml:lang="en">UN/LOCODE, the United Nations Code for Trade and Transport Locations, is a geographic coding scheme developed and maintained by United Nations Economic Commission for Europe (UNECE), a unit of the United Nations. UN/LOCODE assigns codes to locations used in trade and transport with functions such as seaports, rail and road terminals, airports, post offices and border crossing points.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/volumeQuote"> + <rdfs:label xml:lang="en">volume quote</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/airportUsing"> + <rdfs:label xml:lang="en">Different usage of an airport</rdfs:label><rdfs:label xml:lang="el">οι χρήσεις ενός αεροδρομίου</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Airport"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/starring"> + <rdfs:label xml:lang="en">starring</rdfs:label><rdfs:label xml:lang="nl">met in de hoofdrol</rdfs:label><rdfs:label xml:lang="el">ηθοποιοί</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Work"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Actor"/><owl:equivalentProperty rdf:resource="http://schema.org/actors"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/nrhpReferenceNumber"> + <rdfs:label xml:lang="en">NRHP Reference Number</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/HistoricPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/centuryBreaks"> + <rdfs:label xml:lang="en">century breaks</rdfs:label><rdfs:label xml:lang="de">Century Breaks</rdfs:label><rdfs:comment xml:lang="en">number of breaks with 100 points and more</rdfs:comment><rdfs:comment xml:lang="de">Anzahl Breaks mit 100 Punkten oder mehr, wird nicht übersetzt</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SnookerPlayer"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/subsidiary"> + <rdfs:label xml:lang="en">subsidiary</rdfs:label><rdfs:label xml:lang="pt">treinador</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Company"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Company"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/influenced"> + <rdfs:label xml:lang="en">influenced</rdfs:label><rdfs:label xml:lang="fr">a influencé</rdfs:label><rdfs:label xml:lang="el">επηρέασε</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/pictureFormat"> + <rdfs:label xml:lang="en">picture format</rdfs:label><rdfs:label xml:lang="de">Bildformat</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Broadcaster"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/show"> + <rdfs:label xml:lang="en">show</rdfs:label><rdfs:label xml:lang="fr">spectacle</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/TelevisionShow"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/plays"> + <rdfs:label xml:lang="en">plays</rdfs:label><rdfs:label xml:lang="nl">slaghand</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/TennisPlayer"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/areaLand"> + <rdfs:label xml:lang="en">area land (m2)</rdfs:label><rdfs:label xml:lang="nl">oppervlakte land (m2)</rdfs:label><rdfs:label xml:lang="el">έκταση_στεριάς_περιοχής (m2)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/mostWins"> + <rdfs:label xml:lang="en">most wins</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Race"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/sicilianName"> + <rdfs:label xml:lang="en">city sicilian name</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/mainInterest"> + <rdfs:label xml:lang="en">main interest</rdfs:label> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/portfolio"> + <rdfs:label xml:lang="en">portfolio</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/musicians"> + <rdfs:label xml:lang="en">musicians</rdfs:label><rdfs:label xml:lang="el">μουσικοί</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Instrument"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/MusicalArtist"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/student"> + <rdfs:label xml:lang="en">diploma</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberOfSpeakers"> + <rdfs:label xml:lang="en">number of speakers</rdfs:label><rdfs:label xml:lang="nl">aantal sprekers</rdfs:label><rdfs:label xml:lang="de">Anzahl Sprecher</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Language"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/location"> + <rdfs:label xml:lang="el">τοποθεσία</rdfs:label><rdfs:label xml:lang="fr">emplacement</rdfs:label><rdfs:label xml:lang="en">location</rdfs:label><rdfs:label xml:lang="nl">locatie</rdfs:label><rdfs:label xml:lang="pt">localização</rdfs:label><rdfs:label xml:lang="de">Standort</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/Place"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/explorer"> + <rdfs:label xml:lang="en">explorer</rdfs:label><rdfs:label xml:lang="tr">kaşif</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Galaxy"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/blazon"> + <rdfs:label xml:lang="en">blazon</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/snowParkNumber"> + <rdfs:label xml:lang="en">snow park number</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/dist_ly"> + <rdfs:label xml:lang="en">dist_ly</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/openswarm"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberOfStars"> + <rdfs:label xml:lang="en">number of stars</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Constellation"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/setupTime"> + <rdfs:label xml:lang="en">setup time (s)</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/viceLeaderParty"> + <rdfs:label xml:lang="en">vice leader party</rdfs:label><rdfs:label xml:lang="pt">partido do vicelider</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/PoliticalParty"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/parliament"> + <rdfs:label xml:lang="en">parliament</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/soccerLeagueWinner"> + <rdfs:label xml:lang="en">league champion</rdfs:label><rdfs:label xml:lang="tr">şampiyon</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SoccerLeagueSeason"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/SportsTeam"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/throwingSide"> + <rdfs:label xml:lang="en">throwing side</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/BaseballPlayer"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/lastLaunch"> + <rdfs:label xml:lang="en">last launch</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/YearInSpaceflight"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/hipSize"> + <rdfs:label xml:lang="en">hip size (μ)</rdfs:label><rdfs:label xml:lang="de">Hüftumfang (μ)</rdfs:label><rdfs:label xml:lang="ja">ヒップ (μ)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/authorityTitle"> + <rdfs:label xml:lang="en">authority title of a romanian settlement</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/RomaniaSettlement"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/collection"> + <rdfs:label xml:lang="en">collection</rdfs:label><rdfs:label xml:lang="el">συλλογή</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Museum"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/waterPercentage"> + <rdfs:label xml:lang="en">water percentage of a place</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#float"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/lastRace"> + <rdfs:label xml:lang="en">last race</rdfs:label><rdfs:label xml:lang="el">τελευταίος αγώνας</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/FormulaOneRacer"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/GrandPrix"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/servingTemperature"> + <rdfs:label xml:lang="en">serving temperature</rdfs:label><rdfs:comment xml:lang="en">Serving temperature for the food (e.g.: hot, cold, warm or room temperature).</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Food"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/originalLanguage"> + <rdfs:label xml:lang="en">original language</rdfs:label><rdfs:label xml:lang="nl">oorspronkelijke taal</rdfs:label><rdfs:label xml:lang="de">Originalsprache</rdfs:label><rdfs:comment xml:lang="en">The original language of the work.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Work"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Language"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/port1DockedTime"> + <rdfs:label xml:lang="en">port1 docked time (s)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Spacecraft"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/recommissioningDate"> + <rdfs:label xml:lang="en">recommissioning date</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Ship"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/unicode"> + <rdfs:label xml:lang="en">unicode</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Letter"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/makeupArtist"> + <rdfs:label xml:lang="en">makeup artist</rdfs:label><rdfs:label xml:lang="it">truccatore</rdfs:label><rdfs:comment xml:lang="en">the person who is responsible for the actors makeup</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Film"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/poleDriverTeam"> + <rdfs:label xml:lang="en">pole driver team</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/GrandPrix"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/SportsTeam"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/visitorsPerYear"> + <rdfs:label xml:lang="en">visitors per year</rdfs:label><rdfs:label xml:lang="nl">bezoekers per jaar</rdfs:label><rdfs:label xml:lang="de">Besucher pro Jahr</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/ArchitecturalStructure"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/branchTo"> + <rdfs:label xml:lang="en">branch to</rdfs:label><rdfs:label xml:lang="el">υποκατάστημα</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/AnatomicalStructure"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/AnatomicalStructure"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/ofsCode"> + <rdfs:label xml:lang="en">ofs code of a settlement</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Settlement"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/brainInfoNumber"> + <rdfs:label xml:lang="en">brain info number</rdfs:label><rdfs:label xml:lang="el">αριθμός νοητικής πληροφόρησης</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Brain"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/alpsSection"> + <rdfs:label xml:lang="en">Alps section</rdfs:label><rdfs:label xml:lang="el">τμήμα των άλπεων</rdfs:label><rdfs:label xml:lang="it">sezione alpina</rdfs:label><rdfs:comment xml:lang="en">the Alps section to which the mountain belongs, according to the SOIUSA classification</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Mountain"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/MountainRange"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/relation"> + <rdfs:label xml:lang="en">relation</rdfs:label><rdfs:label xml:lang="el">σχέση</rdfs:label><rdfs:label xml:lang="nl">relatie</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/citySince"> + <rdfs:label xml:lang="en">city since</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/laurenceOlivierAward"> + <rdfs:label xml:lang="en">Laurence Olivier Award</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Actor"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Award"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/cargoGas"> + <rdfs:label xml:lang="en">cargo gas (g)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Spacecraft"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/cmpEvaDuration"> + <rdfs:label xml:lang="en">CMP EVA duration (s)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SpaceMission"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/cargoWater"> + <rdfs:label xml:lang="en">cargo water (g)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Spacecraft"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/functionEndDate"> + <rdfs:label xml:lang="en">function end date</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PersonFunction"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/foundationPlace"> + <rdfs:label xml:lang="en">foundation place</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Organisation"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/City"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/endDate"> + <rdfs:label xml:lang="en">end date</rdfs:label><rdfs:label xml:lang="nl">einddatum</rdfs:label><rdfs:label xml:lang="fr">date de fin</rdfs:label><rdfs:label xml:lang="es">fecha de fin</rdfs:label><rdfs:comment xml:lang="en">The end date of the event.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Event"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/><owl:equivalentProperty rdf:resource="http://schema.org/endDate"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/march"> + <rdfs:label xml:lang="en">march</rdfs:label><rdfs:label xml:lang="pt">marcha</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/MilitaryUnit"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/MusicalWork"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/usedInWar"> + <rdfs:label xml:lang="en">used in war</rdfs:label><rdfs:comment xml:lang="en">wars that were typical for the usage of a weapon</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Weapon"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/MilitaryConflict"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/winsAtJLPGA"> + <rdfs:label xml:lang="en">wins at JLPGA</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/GolfPlayer"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/icaoLocationIdentifier"> + <rdfs:label xml:lang="en">ICAO Location Identifier</rdfs:label><rdfs:label xml:lang="el">ΙΚΑΟ</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Airport"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/lastPublicationDate"> + <rdfs:label xml:lang="en">last publication date</rdfs:label><rdfs:comment xml:lang="en">Date of the last publication.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/WrittenWork"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/automobileModel"> + <rdfs:label xml:lang="en">automobile model</rdfs:label><rdfs:label xml:lang="el">μοντέλο αυτοκινήτου</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/AutomobileEngine"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/distributingLabel"> + <rdfs:label xml:lang="en">distributing label</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/RecordLabel"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/RecordLabel"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberOfParticipatingNations"> + <rdfs:label xml:lang="en">number of participating nations</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Olympics"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/carNumber"> + <rdfs:label xml:lang="en">car number</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/FormulaOneRacer"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/championInSingle"> + <rdfs:label xml:lang="en">champion in single</rdfs:label><rdfs:label xml:lang="nl">kampioen enkelspel</rdfs:label><rdfs:label xml:lang="fr">champion en simple</rdfs:label><rdfs:label xml:lang="es">Campeón en simple</rdfs:label><rdfs:comment xml:lang="en">winner of a competition in the single session, to distinguish from the double session (as in tennis)</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SportsEvent"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Athlete"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/lowest"> + <rdfs:label xml:lang="en">lowest</rdfs:label><rdfs:label xml:lang="el">χαμηλότερο</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/aircraftUser"> + <rdfs:label xml:lang="en">aircraft user</rdfs:label><rdfs:label xml:lang="el">χρήστης αεροσκάφους</rdfs:label><rdfs:label xml:lang="es">usuario del avión</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Aircraft"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Organisation"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberOfLanes"> + <rdfs:label xml:lang="en">number of lanes</rdfs:label><rdfs:label xml:lang="de">Anzahl der Fahrstreifen</rdfs:label><rdfs:label xml:lang="fr">nombre de voies</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/RouteOfTransportation"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/animator"> + <rdfs:label xml:lang="en">animator</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Cartoon"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Agent"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/ideology"> + <rdfs:label xml:lang="el">ιδεολογία</rdfs:label><rdfs:label xml:lang="en">ideology</rdfs:label><rdfs:label xml:lang="nl">ideologie</rdfs:label><rdfs:label xml:lang="pt">ideologia</rdfs:label><rdfs:label xml:lang="de">Ideologie</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Agent"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Ideology"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/epoch"> + <rdfs:label xml:lang="en">epoch</rdfs:label><rdfs:comment xml:lang="en">moment in time used as a referrence point for some time-vaying astronomical quantity</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Planet"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/mostPopulousCountry"> + <rdfs:label xml:lang="en">most populous country</rdfs:label><rdfs:label xml:lang="pt">país mais populoso</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Country"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Country"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/virtualChannel"> + <rdfs:label xml:lang="en">virtual channel</rdfs:label><rdfs:label xml:lang="el">εικονικό κανάλι</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Broadcaster"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/aircraftBomber"> + <rdfs:label xml:lang="en">aircraft bomber</rdfs:label><rdfs:label xml:lang="el">βομβαρδιστικό αεροσκάφος</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/MilitaryUnit"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/MeanOfTransportation"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/electionMajority"> + <rdfs:label xml:lang="en">election majority</rdfs:label><rdfs:comment xml:lang="en">number of votes the office holder attained</rdfs:comment><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/nationalRanking"> + <rdfs:label xml:lang="en">national ranking</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/School"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#positiveInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/nndbId"> + <rdfs:label xml:lang="en">NNDB id</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/chairLabel"> + <rdfs:label xml:lang="en">chair label</rdfs:label> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/orderDate"> + <rdfs:label xml:lang="en">order date</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Ship"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/tu"> + <rdfs:label xml:lang="en">tu</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/voiceType"> + <rdfs:label xml:lang="en">voice type</rdfs:label><rdfs:label xml:lang="nl">stemtype</rdfs:label><rdfs:comment xml:lang="en">voice type of a singer or an actor</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Artist"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/varietals"> + <rdfs:label xml:lang="en">varietals</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/WineRegion"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/formerPartner"> + <rdfs:label xml:lang="en">former partner</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/FigureSkater"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/locusSupplementaryData"> + <rdfs:label xml:lang="en">locus supplementary data</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Protein"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/endPoint"> + <rdfs:label xml:lang="en">end point</rdfs:label><rdfs:label xml:lang="el">σημείο_τέλους</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Canal"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Place"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/field"> + <rdfs:label xml:lang="en">field</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Artist"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/circle"> + <rdfs:label xml:lang="en">region</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/fastestLap"> + <rdfs:label xml:lang="en">fastest lap</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/FormulaOneRacer"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/enshrinedDeity"> + <rdfs:label xml:lang="en">enshrined deity</rdfs:label><rdfs:label xml:lang="ja">祭神</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Shrine"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Deity"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/relatedMeanOfTransportation"> + <rdfs:label xml:lang="en">related mean of transportation</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/MeanOfTransportation"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/MeanOfTransportation"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/poleDriver"> + <rdfs:label xml:lang="en">pole driver</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/GrandPrix"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/landPercentage"> + <rdfs:label xml:lang="en">land percentage of a place</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#float"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/lowestRegion"> + <rdfs:label xml:lang="en">lowest region</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Island"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/sheading"> + <rdfs:label xml:lang="en">sheading</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/model"> + <rdfs:label xml:lang="en">model</rdfs:label><rdfs:label xml:lang="fr">modèle</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Sales"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/originallyUsedFor"> + <rdfs:label xml:lang="en">originally used for</rdfs:label><rdfs:label xml:lang="nl">oorspronkelijk gebruik</rdfs:label><rdfs:comment xml:lang="en">Original use of the architectural structure, if it is currently being used as anything other than its original purpose.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/ArchitecturalStructure"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/wikiPageRedirects"> + <rdfs:label xml:lang="en">Wikipage redirect</rdfs:label><rdfs:comment xml:lang="en">Reserved for DBpedia.</rdfs:comment> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/lastFlightStartDate"> + <rdfs:label xml:lang="en">last flight start date</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SpaceShuttle"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/aircraftInterceptor"> + <rdfs:label xml:lang="en">aircraft interceptor</rdfs:label><rdfs:label xml:lang="el">αναχαίτιση αεροσκάφους</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/MilitaryUnit"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/MeanOfTransportation"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/border"> + <rdfs:label xml:lang="en">border</rdfs:label><rdfs:label xml:lang="el">σύνορα</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Island"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/bedCount"> + <rdfs:label xml:lang="en">bed count</rdfs:label><rdfs:label xml:lang="nl">aantal bedden</rdfs:label><rdfs:label xml:lang="de">Anzahl Betten</rdfs:label><rdfs:label xml:lang="el">αριθμός κρεβατιών</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Hospital"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/serviceModule"> + <rdfs:label xml:lang="en">service module</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SpaceMission"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/speedLimit"> + <rdfs:label xml:lang="en">speed limit (kmh)</rdfs:label><rdfs:label xml:lang="de">Tempolimit (kmh)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/RouteOfTransportation"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/restoreDate"> + <rdfs:label xml:lang="en">restore date</rdfs:label><rdfs:label xml:lang="el">ημερομηνία ανακαίνισης</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/unesco"> + <rdfs:label xml:lang="en">unesco</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/battingSide"> + <rdfs:label xml:lang="en">batting side</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/BaseballPlayer"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/lake"> + <rdfs:label xml:lang="en">vastest lake</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/BodyOfWater"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/teamName"> + <rdfs:label xml:lang="en">team name</rdfs:label><rdfs:label xml:lang="el">όνομα ομάδας</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/School"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/redSkiPisteNumber"> + <rdfs:label xml:lang="en">red ski piste number</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/classes"> + <rdfs:label xml:lang="en">classes</rdfs:label><rdfs:label xml:lang="el">τάξεις</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/School"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/writer"> + <rdfs:label xml:lang="el">σεναριογράφος</rdfs:label><rdfs:label xml:lang="en">writer</rdfs:label><rdfs:label xml:lang="it">scrittore</rdfs:label><rdfs:label xml:lang="nl">schrijver</rdfs:label><rdfs:label xml:lang="de">schriftsteller</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Work"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/meanRadius"> + <rdfs:label xml:lang="en">mean radius (μ)</rdfs:label><rdfs:label xml:lang="el">μέση ακτίνα (μ)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Planet"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/topLevelDomain"> + <rdfs:label xml:lang="en">country top level (tld)</rdfs:label><rdfs:label xml:lang="pt">domínio de topo (tld)</rdfs:label><rdfs:label xml:lang="fr">domaine de premier niveau (tld)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Country"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/sizeLogo"> + <rdfs:label xml:lang="en">size logo</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberOfDoctoralStudents"> + <rdfs:label xml:lang="en">number of doctoral students</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/University"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/bestFinish"> + <rdfs:label xml:lang="en">best ranking finish</rdfs:label><rdfs:label xml:lang="de">beste Platzierung im Ranglistenturnier</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SnookerPlayer"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/state"> + <rdfs:label xml:lang="en">state</rdfs:label><rdfs:label xml:lang="nl">staat</rdfs:label><rdfs:label xml:lang="el">νομός</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/anthem"> + <rdfs:label xml:lang="en">anthem</rdfs:label><rdfs:label xml:lang="nl">volkslied</rdfs:label><rdfs:label xml:lang="el">ύμνος</rdfs:label><rdfs:label xml:lang="pt">hino</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Work"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/nation"> + <rdfs:label xml:lang="en">nation</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/icaoAirlineCode"> + <rdfs:label xml:lang="en">ICAO code</rdfs:label><rdfs:comment xml:lang="en">ICAO designation for airline companies</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Airline"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/doctoralAdvisor"> + <rdfs:label xml:lang="en">doctoral advisor</rdfs:label><rdfs:label xml:lang="el">διδακτορικός_σύμβουλος</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Scientist"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/thirdDriverCountry"> + <rdfs:label xml:lang="en">third driver country</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/GrandPrix"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Country"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/buildingEndDate"> + <rdfs:label xml:lang="en">building end date</rdfs:label><rdfs:label xml:lang="el">Ημερομηνία λήξης κατασκευής</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/ArchitecturalStructure"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberOfPostgraduateStudents"> + <rdfs:label xml:lang="en">number of postgraduate students</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/University"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/impactFactor"> + <rdfs:label xml:lang="en">impact factor</rdfs:label><rdfs:label xml:lang="de">Impact Factor</rdfs:label><rdfs:comment xml:lang="en">The impact factor, often abbreviated IF, is a measure reflecting the average number of citations to articles published in science and social science journals.</rdfs:comment><rdfs:comment xml:lang="de">Der Impact Factor oder genauer Journal Impact Factor (JIF) einer Fachzeitschrift soll messen, wie oft andere Zeitschriften einen Artikel aus ihr in Relation zur Gesamtzahl der dort veröffentlichten Artikel zitieren. Je höher der Impact Factor, desto angesehener ist eine Fachzeitschrift.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/AcademicJournal"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/licensee"> + <rdfs:label xml:lang="en">licensee</rdfs:label><rdfs:comment xml:lang="en">Identify which company or entity holds the licence (mostly string are used in Wikipedia, therefore range is xsd:sting).</rdfs:comment><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/discontinued"> + <rdfs:label xml:lang="en">discontinued</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Beverage"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/map"> + <rdfs:label xml:lang="el">χάρτης</rdfs:label><rdfs:label xml:lang="fr">carte</rdfs:label><rdfs:label xml:lang="en">map</rdfs:label><rdfs:label xml:lang="nl">kaart</rdfs:label><rdfs:label xml:lang="pt">mapa</rdfs:label><rdfs:label xml:lang="de">Landkarte</rdfs:label><rdfs:comment xml:lang="en">A map of the place.</rdfs:comment><rdfs:comment xml:lang="el">Χάρτης μιας περιοχής.</rdfs:comment><rdfs:comment xml:lang="de">Eine Landkarte des Ortes.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><owl:equivalentProperty rdf:resource="http://schema.org/maps"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/belgiumPoliticalMajority"> + <rdfs:label xml:lang="en">belgium political majority</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/BelgiumSettlement"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/PoliticalParty"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/majorIsland"> + <rdfs:label xml:lang="en">major island</rdfs:label><rdfs:label xml:lang="pt">maior ilha</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Island"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Island"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/greenLongDistancePisteNumber"> + <rdfs:label xml:lang="en">green long distance piste number</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/championInDoubleFemale"> + <rdfs:label xml:lang="en">champion in double female</rdfs:label><rdfs:label xml:lang="fr">champion en double femmes</rdfs:label><rdfs:label xml:lang="es">Campeón en doble mujeres</rdfs:label><rdfs:comment xml:lang="en">winner of a competition in the female double session (as in tennis)</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SportsEvent"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Athlete"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/undraftedYear"> + <rdfs:label xml:lang="en">undrafted year</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/GridironFootballPlayer"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#gYear"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/regionServed"> + <rdfs:label xml:lang="en">region served</rdfs:label><rdfs:label xml:lang="nl">werkgebied</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Organisation"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Place"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/codeMunicipalMonument"> + <rdfs:label xml:lang="en">monument code (municipal)</rdfs:label><rdfs:label xml:lang="nl">monumentcode gemeentelijke monumenten</rdfs:label><rdfs:comment xml:lang="en">We should be able to distinguish status types since different codes refer to different protection regimes.</rdfs:comment><rdfs:comment xml:lang="nl">We moeten soorten codes kunnen onderscheiden al naar gelang het een rijks-, provinciaal of gemeentelijk monument, of een MIP-code, betreft</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/previousEvent"> + <rdfs:label xml:lang="en">previous event</rdfs:label><rdfs:label xml:lang="nl">vorige evenement</rdfs:label><rdfs:label xml:lang="pt">evento anterior</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Event"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Event"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/capitalCountry"> + <rdfs:label xml:lang="en">capital country</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Island"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Country"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/athletics"> + <rdfs:label xml:lang="en">athletics</rdfs:label><rdfs:label xml:lang="el">αθλητισμός</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/University"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/races"> + <rdfs:label xml:lang="en">races</rdfs:label><rdfs:label xml:lang="el">αγώνας</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/FormulaOneRacer"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/administrativeStatus"> + <rdfs:label xml:lang="en">administrative status</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/affiliation"> + <rdfs:label xml:lang="en">affiliation</rdfs:label><rdfs:label xml:lang="el">ιστολόγιο</rdfs:label><rdfs:label xml:lang="nl">Europees lidmaatschap</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Organisation"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Organisation"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/nationalYears"> + <rdfs:label xml:lang="en">national years</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SoccerPlayer"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#gYear"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/pictureDescription"> + <rdfs:label xml:lang="en">picture description</rdfs:label> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/ascent"> + <rdfs:label xml:lang="en">ascent</rdfs:label><rdfs:label xml:lang="el">ανάβαση</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/security"> + <rdfs:label xml:lang="en">security</rdfs:label><rdfs:label xml:lang="de">SIcherheit</rdfs:label><rdfs:comment xml:lang="en">Safety precautions that are used in the building</rdfs:comment><rdfs:comment xml:lang="de">Sicherheitsmaßnahmen, die für das Gebäude getroffen wurden</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Building"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/winterTemperature"> + <rdfs:label xml:lang="en">winter temperature (K)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Settlement"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/openingTheme"> + <rdfs:label xml:lang="en">opening theme</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/TelevisionShow"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Work"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/diocese"> + <rdfs:label xml:lang="en">diocese</rdfs:label><rdfs:label xml:lang="nl">bisdom</rdfs:label><rdfs:comment xml:lang="en">A religious administrative body above the parish level</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Parish,_Deanery"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Diocese"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/viceChancellor"> + <rdfs:label xml:lang="en">vice chancellor</rdfs:label><rdfs:label xml:lang="de">Vizekanzler</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/winsAtNWIDE"> + <rdfs:label xml:lang="en">wins at NWIDE</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/GolfPlayer"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/principalEngineer"> + <rdfs:label xml:lang="en">principal engineer</rdfs:label><rdfs:label xml:lang="el">πρώτος_μηχανικός</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Canal"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/role"> + <rdfs:label xml:lang="en">role</rdfs:label><rdfs:label xml:lang="el">ρόλος</rdfs:label><rdfs:label xml:lang="fr">rôle</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/MilitaryUnit"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/damsire"> + <rdfs:label xml:lang="en">damsire</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Animal"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Animal"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/dockedTime"> + <rdfs:label xml:lang="en">docked time (s)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Spacecraft"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/elementAbove"> + <rdfs:label xml:lang="en">element above</rdfs:label><rdfs:label xml:lang="ru">элемент снизу</rdfs:label><rdfs:label xml:lang="nl">hoger element</rdfs:label><rdfs:comment xml:lang="en">element placed above to current element in table of D.I.Mendeleev</rdfs:comment><rdfs:comment xml:lang="ru">Элемент снизу под текущим элементом в таблице Д.И.Менделеева</rdfs:comment><rdfs:range rdf:resource="http://dbpedia.org/ontology/ChemicalSubstance"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/buildingStartYear"> + <rdfs:label xml:lang="en">building start year</rdfs:label><rdfs:label xml:lang="nl">bouw start jaar</rdfs:label><rdfs:label xml:lang="el">έτος έναρξης κατασκευής</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/ArchitecturalStructure"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#gYear"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/similar"> + <rdfs:label xml:lang="en">similar</rdfs:label><rdfs:label xml:lang="el">παρόμοιος</rdfs:label><rdfs:label xml:lang="pl">podobny</rdfs:label> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/sizeThumbnail"> + <rdfs:label xml:lang="en">size of a thumbnail</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Settlement"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/populationYear"> + <rdfs:label xml:lang="en">population year</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/owningOrganisation"> + <rdfs:label xml:lang="en">owning organisation</rdfs:label><rdfs:label xml:lang="el">οργανισμός</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/Organisation"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/capitalRegion"> + <rdfs:label xml:lang="en">capital region</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Island"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/agencyStationCode"> + <rdfs:label xml:lang="en">agency station code</rdfs:label><rdfs:label xml:lang="nl">stationscode</rdfs:label><rdfs:label xml:lang="de">Stationsabkürzung</rdfs:label><rdfs:label xml:lang="el">κωδικός πρακτορείου</rdfs:label><rdfs:comment xml:lang="en">Agency station code (used on tickets/reservations, etc.).</rdfs:comment><rdfs:comment xml:lang="el">Κωδικός πρακτορείου (χρησιμοποιείται σε εισιτήρια/κρατήσεις,κτλ.).</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Station"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/different"> + <rdfs:label xml:lang="en">different</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/port2"> + <rdfs:label xml:lang="en">port2</rdfs:label><rdfs:comment xml:lang="en">second docking port of a spacecraft</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Spacecraft"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/dcc"> + <rdfs:label xml:lang="en">Dewey Decimal Classification</rdfs:label><rdfs:comment xml:lang="en">The Dewey Decimal Classification is a proprietary system of library classification developed by Melvil Dewey in 1876.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Book"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/canBaggageChecked"> + <rdfs:label xml:lang="en">can baggage checked</rdfs:label><rdfs:label xml:lang="de">Gepäckkontrolle möglich</rdfs:label><rdfs:comment xml:lang="en">Whether bags can be checked.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Station"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/disciple"> + <rdfs:label xml:lang="en">disciple</rdfs:label><rdfs:label xml:lang="fr">élève</rdfs:label><rdfs:comment xml:lang="en">A person who learns from another, especially one who then teaches others..</rdfs:comment><rdfs:comment xml:lang="fr">Celui qui apprend d’un maître quelque science ou quelque art libéral.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Artist"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Artist"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/beatifiedDate"> + <rdfs:label xml:lang="en">beatified date</rdfs:label><rdfs:label xml:lang="nl">zalig verklaard datum</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Saint"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/areaRank"> + <rdfs:label xml:lang="en">area rank</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/thirdTeam"> + <rdfs:label xml:lang="en">third team</rdfs:label><rdfs:label xml:lang="el">τρίτη ομάδα</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/GrandPrix"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/SportsTeam"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/internationally"> + <rdfs:label xml:lang="en">internationally</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Company"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/olivierAward"> + <rdfs:label xml:lang="en">Olivier Award</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Comedian"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Award"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/alpsGroup"> + <rdfs:label xml:lang="en">Alps group</rdfs:label><rdfs:label xml:lang="el">ομάδα των άλπεων</rdfs:label><rdfs:label xml:lang="it">gruppo alpino</rdfs:label><rdfs:comment xml:lang="en">the Alps group to which the mountain belongs, according to the SOIUSA classification</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Mountain"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/MountainRange"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/event"> + <rdfs:label xml:lang="en">event</rdfs:label><rdfs:label xml:lang="pt">evento</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/Event"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/vehiclesPerDay"> + <rdfs:label xml:lang="en">vehicles per day</rdfs:label><rdfs:label xml:lang="de">Fahrzeuge pro Tag</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/RouteOfTransportation"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/tenant"> + <rdfs:label xml:lang="en">tenant</rdfs:label><rdfs:label xml:lang="nl">huurder</rdfs:label><rdfs:label xml:lang="el">ενοικιαστής</rdfs:label><rdfs:label xml:lang="fr">locataire</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Building"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Organisation"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/regime"> + <rdfs:label xml:lang="en">regime</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Spacecraft"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/tonyAward"> + <rdfs:label xml:lang="en">Tony Award</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Artist"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Award"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/historicalMap"> + <rdfs:label xml:lang="en">historical map</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/sea"> + <rdfs:label xml:lang="en">sea</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Sea"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/currentMember"> + <rdfs:label xml:lang="en">current member</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SportsTeam"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/lunarOrbitTime"> + <rdfs:label xml:lang="en">lunar orbit time (s)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SpaceMission"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/languageRegulator"> + <rdfs:label xml:lang="en">language regulator or academy</rdfs:label><rdfs:label xml:lang="nl">taal instituut</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/Language"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/grossDomesticProduct"> + <rdfs:label xml:lang="en">gross domestic product (GDP) ($)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/blazonLink"> + <rdfs:label xml:lang="en">blazon link</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/projectCoordinator"> + <rdfs:label xml:lang="en">project coordinator</rdfs:label><rdfs:comment xml:lang="en">The coordinating organisation of the project.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/ResearchProject"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Organisation"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/firstPublicationDate"> + <rdfs:label xml:lang="en">first publication date</rdfs:label><rdfs:label xml:lang="nl">eerste publicatiedatum</rdfs:label><rdfs:label xml:lang="de">Datum der Erstausgabe</rdfs:label><rdfs:label xml:lang="pl">data pierwszego wydania</rdfs:label><rdfs:comment xml:lang="en">Date of the first publication.</rdfs:comment><rdfs:comment xml:lang="de">Datum der ersten Veröffentlichung des Periodikums.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/WrittenWork"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/coastLength"> + <rdfs:label xml:lang="en">length of a coast</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#float"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/kabyleSettlementName"> + <rdfs:label xml:lang="en">kabyle settlement name</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/AlgerianSettlement"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/populationUrban"> + <rdfs:label xml:lang="en">population urban</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/productionEndDate"> + <rdfs:label xml:lang="en">production end date</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/originalEndPoint"> + <rdfs:label xml:lang="en">original end point</rdfs:label><rdfs:label xml:lang="el">πρωταρχικό_σημείο_τέλους</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Canal"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Place"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/firstFlightStartDate"> + <rdfs:label xml:lang="en">first flight start date</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SpaceShuttle"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/kindOfCoordinate"> + <rdfs:label xml:lang="en">kind of coordinate</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/militaryBranch"> + <rdfs:label xml:lang="en">military branch</rdfs:label><rdfs:comment xml:lang="en">The service branch (Army, Navy, etc.) a person is part of.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/MilitaryUnit"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/significantBuilding"> + <rdfs:label xml:lang="en">significant building</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Architect"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Building"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/usingCountry"> + <rdfs:label xml:lang="en">using country</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Currency"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Country"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/lccn"> + <rdfs:label xml:lang="en">LCCN</rdfs:label><rdfs:comment xml:lang="en">The Library of Congress Control Number or LCCN is a serially based system of numbering cataloging records in the Library of Congress in the United States. It has nothing to do with the contents of any book, and should not be confused with Library of Congress Classification.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/WrittenWork"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/style"> + <rdfs:label xml:lang="en">style</rdfs:label><rdfs:label xml:lang="de">stil</rdfs:label><rdfs:label xml:lang="it">stile</rdfs:label><rdfs:label xml:lang="es">estilo</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Painting"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberOfGoldMedalsWon"> + <rdfs:label xml:lang="en">number of gold medals won</rdfs:label><rdfs:label xml:lang="fr">nomber de médailles d'or gagnées</rdfs:label><rdfs:label xml:lang="es">cantidad de medallas de oro ganadas</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SportCompetitionResult"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/runningMate"> + <rdfs:label xml:lang="en">running mate</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/co2Emission"> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/><rdfs:label xml:lang="en">CO2 emission (g/km)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/AutomobileEngine"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/port1UndockingDate"> + <rdfs:label xml:lang="en">port1 undocking date</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Spacecraft"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/closed"> + <rdfs:label xml:lang="en">closed</rdfs:label><rdfs:label xml:lang="nl">gesloten</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/EducationalInstitution"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/ist"> + <rdfs:label xml:lang="en">ist</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/colonialName"> + <rdfs:label xml:lang="en">colonial name</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/whaDraftYear"> + <rdfs:label xml:lang="en">wha draft year</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/IceHockeyPlayer"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/blazonCaption"> + <rdfs:label xml:lang="en">BlazonCaption</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Blazon"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/routeJunction"> + <rdfs:label xml:lang="en">route junction</rdfs:label><rdfs:label xml:lang="de">Wegabzweigung</rdfs:label><rdfs:comment xml:lang="en">A junction or cross to another route.</rdfs:comment><rdfs:comment xml:lang="de">Eine Abzweigung oder Kreuzung zu einem anderen Verkehrsweg.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/RouteOfTransportation"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/RouteOfTransportation"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/provost"> + <rdfs:label xml:lang="en">provost</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/University"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberOfMunicipalities"> + <rdfs:label xml:lang="en">Number Of Municipalities</rdfs:label><rdfs:label xml:lang="nl">Aantal gemeenten</rdfs:label><rdfs:label xml:lang="pt">numero de municipios</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/project"> + <rdfs:label xml:lang="en">project</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/totalTracks"> + <rdfs:label xml:lang="en">total tracks</rdfs:label><rdfs:comment xml:lang="en">the total number of tracks contained in the album</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Album"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/conservationStatusSystem"> + <rdfs:label xml:lang="en">conservation status system</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Species"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberOfParticipatingMaleAthletes"> + <rdfs:label xml:lang="en">number of participating male athletes</rdfs:label><rdfs:label xml:lang="fr">nombre d'athlètes masculins participant</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Olympics"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/vehicle"> + <rdfs:label xml:lang="en">vehicle</rdfs:label><rdfs:label xml:lang="el">όχημα</rdfs:label><rdfs:label xml:lang="de">Vehikel</rdfs:label><rdfs:comment xml:lang="en">vehicle that uses a specific automobile platform</rdfs:comment><rdfs:comment xml:lang="el">όχημα που χρησιμοποιεί μια συγκεκριμένη πλατφόρμα αυτοκινήτων</rdfs:comment><rdfs:range rdf:resource="http://dbpedia.org/ontology/Automobile"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/philosophicalSchool"> + <rdfs:label xml:lang="en">philosophicalSchool</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/background"> + <rdfs:label xml:lang="en">background</rdfs:label><rdfs:label xml:lang="el">φόντο</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/center"> + <rdfs:label xml:lang="en">norwegian center</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/NorwaySettlement"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/formationYear"> + <rdfs:label xml:lang="en">formation year</rdfs:label><rdfs:label xml:lang="nl">formatie jaar</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Organisation"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#gYear"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/demolitionYear"> + <rdfs:label xml:lang="en">demolition year</rdfs:label><rdfs:label xml:lang="nl">sloop jaar</rdfs:label><rdfs:comment xml:lang="en">The year the building was demolished.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/ArchitecturalStructure"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#gYear"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/aspectRatio"> + <rdfs:label xml:lang="de">Seitenverhältnis</rdfs:label><rdfs:label xml:lang="en">Aspect Ratio</rdfs:label><rdfs:label xml:lang="el">λόγος</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Software"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/zdb"> + <rdfs:label xml:lang="en">zdb</rdfs:label><rdfs:comment xml:lang="en">Identifier for serial titles. More precise than issn</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PeriodicalLiterature"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/percentageAlcohol"> + <rdfs:label xml:lang="en">percentage of alcohol</rdfs:label><rdfs:label xml:lang="nl">alcoholpercentage</rdfs:label><rdfs:comment xml:lang="en">percentage of alcohol present in a beverage</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Beverage"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/purchasingPowerParityRank"> + <rdfs:label xml:lang="en">purchasing power parity rank</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/redLongDistancePisteNumber"> + <rdfs:label xml:lang="en">red long distance piste number</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/governmentMountain"> + <rdfs:label xml:lang="en">government mountain</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Island"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Mountain"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/subregion"> + <rdfs:label xml:lang="en">subregion</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Place"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/unitaryAuthority"> + <rdfs:label xml:lang="en">unitary authority</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/birthName"> + <rdfs:label xml:lang="en">birth name</rdfs:label><rdfs:label xml:lang="nl">geboortenaam</rdfs:label><rdfs:label xml:lang="de">Geburtsname</rdfs:label><rdfs:label xml:lang="el">όνομα_γέννησης</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/cesarAward"> + <rdfs:label xml:lang="en">Cesar Award</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Artist"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Award"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/follows"> + <rdfs:label xml:lang="en">follows</rdfs:label> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/termPeriod"> + <rdfs:label xml:lang="en">term period</rdfs:label><rdfs:label xml:lang="el">χρονική περίοδος</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/TimePeriod"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/description"> + <rdfs:label xml:lang="en">description</rdfs:label><rdfs:label xml:lang="el">περιγραφή</rdfs:label><rdfs:label xml:lang="de">Beschreibung</rdfs:label><rdfs:label xml:lang="nl">omschrijving</rdfs:label><rdfs:comment xml:lang="en">Short description of a person</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/mouthPlace"> + <rdfs:label xml:lang="en">mouth place</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/River"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/reportingMark"> + <rdfs:label xml:lang="en">reporting mark</rdfs:label><rdfs:comment xml:lang="en">A reporting mark is a two-, three-, or four-letter alphabetic code used to identify owners or lessees of rolling stock and other equipment used on the North American railroad network.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PublicTransitSystem"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/leaderName"> + <rdfs:label xml:lang="en">leader name</rdfs:label><rdfs:label xml:lang="nl">naam leider</rdfs:label><rdfs:label xml:lang="fr">président</rdfs:label><rdfs:label xml:lang="el">όνομα_αρχηγού</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/shareDate"> + <rdfs:label xml:lang="en">share date</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Broadcaster"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#gYearMonth"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/conflict"> + <rdfs:label xml:lang="en">title</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/millsCodeNLVerdwenen"> + <rdfs:label xml:lang="en">mill dissapeared code NL</rdfs:label><rdfs:label xml:lang="nl">verdwenen molen code NL</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Mill"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/tag"> + <rdfs:label xml:lang="en">tag</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/subdivisionLink"> + <rdfs:label xml:lang="en">subdivision link</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/musicComposer"> + <rdfs:label xml:lang="en">music composer</rdfs:label><rdfs:label xml:lang="de">komponist</rdfs:label><rdfs:label xml:lang="nl">componist</rdfs:label><rdfs:label xml:lang="el">μουσική</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Work"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/MusicalArtist"/><owl:equivalentProperty rdf:resource="http://schema.org/musicBy"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberOfLawyers"> + <rdfs:label xml:lang="en">number of lawyers</rdfs:label><rdfs:label xml:lang="de">Anzahl Rechtsanwälte</rdfs:label><rdfs:comment xml:lang="en">Number of lawyers or attorneys in the company.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/LawFirm"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/prospectTeam"> + <rdfs:label xml:lang="en">prospect team</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/IceHockeyPlayer"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/HockeyTeam"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/criteria"> + <rdfs:label xml:lang="en">criteria</rdfs:label><rdfs:label xml:lang="pt">critério</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/hometown"> + <rdfs:label xml:lang="en">home town</rdfs:label><rdfs:label xml:lang="de">Heimatort</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Settlement"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/seasonNumber"> + <rdfs:label xml:lang="en">season number</rdfs:label><rdfs:comment xml:lang="en">The season number to which the TelevisionEpisode belongs.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/TelevisionEpisode"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/scale"> + <rdfs:label xml:lang="en">scale</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/captureDate"> + <rdfs:label xml:lang="en">capture date</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Ship"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/widthQuote"> + <rdfs:label xml:lang="en">width quote</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/administrativeDistrict"> + <rdfs:label xml:lang="en">administrative district</rdfs:label><rdfs:label xml:lang="nl">provincie</rdfs:label><rdfs:label xml:lang="el">δήμος</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Settlement"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/nationalAffiliation"> + <rdfs:label xml:lang="en">national affiliation</rdfs:label><rdfs:label xml:lang="pt">afiliacao nacional</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PoliticalParty"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/geology"> + <rdfs:label xml:lang="en">geology</rdfs:label><rdfs:label xml:lang="el">γεωλογία</rdfs:label><rdfs:label xml:lang="fr">géologie</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/maximumTemperature"> + <rdfs:label xml:lang="en">maximum temperature (K)</rdfs:label><rdfs:label xml:lang="el">μέγιστη θερμοκρασία (K)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Planet"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/soccerLeaguePromoted"> + <rdfs:label xml:lang="en">promoted</rdfs:label><rdfs:label xml:lang="tr">yükselenler</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SoccerLeagueSeason"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/SportsTeam"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/names"> + <rdfs:label xml:lang="en">names</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/openswarm"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/finalFlight"> + <rdfs:label xml:lang="en">final flight</rdfs:label><rdfs:comment xml:lang="en">date of final flight</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Rocket"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/activeYear"> + <rdfs:label xml:lang="en">active year</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/otherWins"> + <rdfs:label xml:lang="en">other wins</rdfs:label><rdfs:label xml:lang="de">Sonstige Siege</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SnookerPlayer"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/subPrefecture"> + <rdfs:label xml:lang="en">subprefecture</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/uses"> + <rdfs:label xml:lang="en">uses</rdfs:label> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/scotsName"> + <rdfs:label xml:lang="en">scots name</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/tattoo"> + <rdfs:label xml:lang="en">tattoo</rdfs:label><rdfs:label xml:lang="el">τατουάζ</rdfs:label><rdfs:label xml:lang="de">Tätowierung</rdfs:label><rdfs:label xml:lang="pt">tatuagem</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/foundingPerson"> + <rdfs:label xml:lang="de">Gründer</rdfs:label><rdfs:label xml:lang="en">founding person</rdfs:label><rdfs:label xml:lang="nl">stichter</rdfs:label><rdfs:label xml:lang="el">Ιδρυτής</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/launches"> + <rdfs:label xml:lang="en">launches</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/LaunchPad"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/fansgroup"> + <rdfs:label xml:lang="en">fansgroup</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SoccerClub"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/war"> + <rdfs:label xml:lang="en">wars</rdfs:label><rdfs:label xml:lang="el">πολέμους</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/MilitaryPerson"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/successor"> + <rdfs:label xml:lang="en">successor</rdfs:label><rdfs:label xml:lang="nl">opvolger</rdfs:label><rdfs:label xml:lang="de">Nachfolger</rdfs:label><rdfs:label xml:lang="ja">後任者</rdfs:label> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberOfSeasons"> + <rdfs:label xml:lang="en">number of seasons</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/TelevisionShow"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/neighbourConstellations"> + <rdfs:label xml:lang="en">neighbour constellations</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Constellation"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/rightTributary"> + <rdfs:label xml:lang="en">right tributary</rdfs:label><rdfs:label xml:lang="el">δεξιοί_παραπόταμοι</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/River"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/River"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/prefix"> + <rdfs:label xml:lang="en">prefix</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/countryWithFirstSpaceflight"> + <rdfs:label xml:lang="en">country with first spaceflight</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/YearInSpaceflight"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Country"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/regionType"> + <rdfs:label xml:lang="en">region type</rdfs:label><rdfs:label xml:lang="nl">regio-type</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/specialist"> + <rdfs:label xml:lang="en">specialist</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/School"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/foundationDate"> + <rdfs:label xml:lang="en">date foundation of a populated place</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/deliveryDate"> + <rdfs:label xml:lang="en">delivery date</rdfs:label><rdfs:label xml:lang="nl">leverdatum</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/purchasingPowerParityYear"> + <rdfs:label xml:lang="en">purchasing power parity year</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/championships"> + <rdfs:label xml:lang="en">championships</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/FormulaOneRacer"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/distanceToCardiff"> + <rdfs:label xml:lang="en">distance to Cardiff (μ)</rdfs:label><rdfs:label xml:lang="el">απόσταση από το Cardiff (μ)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Settlement"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberOfPlayers"> + <rdfs:label xml:lang="en">number of players</rdfs:label><rdfs:label xml:lang="el">αριθμός παιχτών</rdfs:label><rdfs:label xml:lang="fr">nombre de joueurs</rdfs:label><rdfs:label xml:lang="es">numero de jugadores</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Activity"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/league"> + <rdfs:label xml:lang="en">league</rdfs:label><rdfs:label xml:lang="de">Liga</rdfs:label><rdfs:label xml:lang="el">πρωτάθλημα</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/SportsLeague"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/okatoCode"> + <rdfs:label xml:lang="en">okato code</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/touristicSite"> + <rdfs:label xml:lang="en">touristic site</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Place"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/frazioni"> + <rdfs:label xml:lang="en">frazioni</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Settlement"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/codeNationalMonument"> + <rdfs:label xml:lang="en">monument code (national)</rdfs:label><rdfs:label xml:lang="nl">monumentcode rijksmonumenten</rdfs:label><rdfs:comment xml:lang="en">Code is too general. We should be able to distinguish status types since different codes refer to different protection regimes</rdfs:comment><rdfs:comment xml:lang="nl">Code is te algemeen. We moeten soorten codes kunnen onderscheiden al naar gelang het een rijks-, provinciaal of gemeentelijk monument betreft</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/shipCrew"> + <rdfs:label xml:lang="en">crew</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Ship"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/band"> + <rdfs:label xml:lang="en">band</rdfs:label><rdfs:label xml:lang="el">μπάντα</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Protein"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/blueLongDistancePisteNumber"> + <rdfs:label xml:lang="en">blue long distance piste number</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/totalDiscs"> + <rdfs:label xml:lang="en">total discs</rdfs:label><rdfs:comment xml:lang="en">the total number of discs contained in the album</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Album"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/head"> + <rdfs:label xml:lang="en">head</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/EducationalInstitution"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/sharingOutArea"> + <rdfs:label xml:lang="en">sharing out area</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/missionDuration"> + <rdfs:label xml:lang="en">mission duration (s)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SpaceMission"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/modelEndYear"> + <rdfs:label xml:lang="en">model end year</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/MeanOfTransportation"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#gYear"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/commandStructure"> + <rdfs:label xml:lang="en">command structure</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/MilitaryUnit"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/MilitaryUnit"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/wingArea"> + <rdfs:label xml:lang="en">wing area (m2)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Aircraft"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/linkedSpace"> + <rdfs:label xml:lang="en">linked space</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/citizenship"> + <rdfs:label xml:lang="en">citizenship</rdfs:label><rdfs:label xml:lang="nl">burgerschap</rdfs:label><rdfs:label xml:lang="de">Staatsangehörigkeit</rdfs:label><rdfs:label xml:lang="el">υπηκοότητα</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/routeStartLocation"> + <rdfs:label xml:lang="en">route start location</rdfs:label><rdfs:label xml:lang="de">Ort des Weganfangs</rdfs:label><rdfs:comment xml:lang="en">The start location of the route.</rdfs:comment><rdfs:comment xml:lang="de">Der Startort des Verkehrswegs.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/RouteOfTransportation"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Place"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/olympicOathSwornByAthlete"> + <rdfs:label xml:lang="en">olympic oath sworn by athlete</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Olympics"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/depthQuote"> + <rdfs:label xml:lang="en">depth quote</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/winsAtJapan"> + <rdfs:label xml:lang="en">wins at japan</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/GolfPlayer"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/ecNumber"> + <rdfs:label xml:lang="en">EC number</rdfs:label><rdfs:label xml:lang="ja">EC番号</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Biomolecule"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/imageSize"> + <rdfs:label xml:lang="el">μέγεθος εικόνας (px1)</rdfs:label><rdfs:label xml:lang="fr">taille de l'image (px)</rdfs:label><rdfs:label xml:lang="en">image size (px)</rdfs:label><rdfs:label xml:lang="ja">イメージサイズ (px2)</rdfs:label><rdfs:label xml:lang="es">tamaño de la imagen (px)</rdfs:label><rdfs:comment xml:lang="en">the image size expressed in pixels</rdfs:comment><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/jockey"> + <rdfs:label xml:lang="en">jockey</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/RaceHorse"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Jockey"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/wikiPageExternalLink"> + <rdfs:label xml:lang="en">Link from a Wikipage to an external page</rdfs:label><rdfs:comment xml:lang="en">Reserved for DBpedia.</rdfs:comment> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/nextMission"> + <rdfs:label xml:lang="en">next mission</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SpaceMission"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/SpaceMission"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/compiler"> + <rdfs:label xml:lang="en">compiler</rdfs:label><rdfs:comment xml:lang="en">For compilation albums: the person or entity responsible for selecting the album's track listing.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Album"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/domain"> + <rdfs:label xml:lang="en">domain</rdfs:label><rdfs:label xml:lang="nl">domein</rdfs:label><rdfs:label xml:lang="ja">ドメイン_(分類学)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Species"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/kindOfRock"> + <rdfs:label xml:lang="en">kind of rock</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/iataAirlineCode"> + <rdfs:label xml:lang="en">IATA code</rdfs:label><rdfs:comment xml:lang="en">IATA designation for airline companies</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Airline"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/numberOfClassrooms"> + <rdfs:label xml:lang="en">number of classrooms</rdfs:label><rdfs:label xml:lang="el">αριθμός αιθουσών</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/School"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/aSide"> + <rdfs:label xml:lang="en">a side</rdfs:label><rdfs:label xml:lang="el">εξώφυλλο</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Single"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/majorLake"> + <rdfs:label xml:lang="en">major lake</rdfs:label><rdfs:label xml:lang="pt">maior lago</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/NaturalPlace"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/spouse"> + <rdfs:label xml:lang="en">spouse</rdfs:label><rdfs:label xml:lang="nl">echtgenoot</rdfs:label><rdfs:label xml:lang="ja">配偶者</rdfs:label><rdfs:comment xml:lang="en">the person they are married to</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/><owl:equivalentProperty rdf:resource="http://schema.org/spouse"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/trackNumber"> + <rdfs:label xml:lang="en">track number</rdfs:label><rdfs:label xml:lang="el">νούμερο τραγουδιού</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Song"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#positiveInteger"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/sharingOutName"> + <rdfs:label xml:lang="en">sharing out name of a settlement</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Settlement"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/disbanded"> + <rdfs:label xml:lang="en">disbanded</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/MilitaryUnit"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/crewSize"> + <rdfs:label xml:lang="en">crew size</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SpaceMission"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/lcc"> + <rdfs:label xml:lang="en">LCC</rdfs:label><rdfs:comment xml:lang="en">The Library of Congress Classification (LCC) is a system of library classification developed by the Library of Congress.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/WrittenWork"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/battle"> + <rdfs:label xml:lang="en">battle</rdfs:label><rdfs:label xml:lang="nl">veldslag</rdfs:label><rdfs:label xml:lang="de">Schlacht</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/MilitaryConflict"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberOfLines"> + <rdfs:label xml:lang="en">number of lines</rdfs:label><rdfs:label xml:lang="de">Anzahl der Linien</rdfs:label><rdfs:comment xml:lang="en">Number of lines in the transit system.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PublicTransitSystem"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/rightAscension"> + <rdfs:label xml:lang="en">right ascension</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Constellation"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/bodyDiscovered"> + <rdfs:label xml:lang="en">body discovered</rdfs:label><rdfs:label xml:lang="el">ανακάλυψη σώματος</rdfs:label><rdfs:label xml:lang="ja">遺体発見</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/elevatorCount"> + <rdfs:label xml:lang="en">elevator count</rdfs:label><rdfs:label xml:lang="de">Aufzüge</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Building"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/agency"> + <rdfs:label xml:lang="en">agency</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/fuelSystem"> + <rdfs:label xml:lang="en">fuel system</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/AutomobileEngine"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/launchVehicle"> + <rdfs:label xml:lang="en">launch vehicle</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SpaceMission"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/aircraftAttack"> + <rdfs:label xml:lang="en">aircraft attack</rdfs:label><rdfs:label xml:lang="el">επίθεση αεροσκάφους</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/MilitaryUnit"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/MeanOfTransportation"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/institution"> + <rdfs:label xml:lang="en">institution</rdfs:label><rdfs:label xml:lang="nl">institutie</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Organisation"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/club"> + <rdfs:label xml:lang="en">club</rdfs:label><rdfs:label xml:lang="nl">club</rdfs:label><rdfs:label xml:lang="el">ομάδα</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Athlete"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/SportsTeam"/><owl:equivalentProperty rdf:resource="http://dbpedia.org/ontology/team"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/serviceEndYear"> + <rdfs:label xml:lang="en">service end year</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/MilitaryPerson"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#gYear"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/primeMinister"> + <rdfs:label xml:lang="en">prime minister</rdfs:label><rdfs:label xml:lang="nl">minister-president</rdfs:label><rdfs:label xml:lang="de">Premierminister</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/albedo"> + <rdfs:label xml:lang="en">albedo</rdfs:label><rdfs:label xml:lang="el">albedo</rdfs:label><rdfs:comment xml:lang="en">reflection coefficient</rdfs:comment><rdfs:comment xml:lang="el">συντελεστής ανάκλασης</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Planet"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/retirementDate"> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/><rdfs:label xml:lang="en">retirement date</rdfs:label><rdfs:label xml:lang="nl">pensioendatum</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/iso31661Code"> + <rdfs:label xml:lang="en">ISO 3166-1 code</rdfs:label><rdfs:comment xml:lang="en">defines codes for the names of countries, dependent territories, and special areas of geographical interest</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/previousEntity"> + <rdfs:label xml:lang="en">previous entity</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Place"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/features"> + <rdfs:label xml:lang="en">features</rdfs:label><rdfs:label xml:lang="el">χαρακτηριστικό</rdfs:label><rdfs:label xml:lang="nl">kenmerk</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/ArchitecturalStructure"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Work"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/fuelType"> + <rdfs:label xml:lang="en">fuel type</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/AutomobileEngine"/><rdfs:range rdf:resource="http://dbpedia.org/datatype/fuelType"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/oldName"> + <rdfs:label xml:lang="en">old name</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/painter"> + <rdfs:label xml:lang="en">painter</rdfs:label><rdfs:label xml:lang="el">ζωγράφος</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Artwork"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberOfGraduateStudents"> + <rdfs:label xml:lang="en">number of graduate students</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/EducationalInstitution"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/militaryUnit"> + <rdfs:label xml:lang="en">military unit</rdfs:label><rdfs:comment xml:lang="en">For persons who are not notable as commanding officers, the unit (company, battalion, regiment, etc.) in which they served.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/MilitaryPerson"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/MilitaryUnit"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/commander"> + <rdfs:label xml:lang="en">commander</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/dutchName"> + <rdfs:label xml:lang="en">city dutch name</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/BelgiumSettlement"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/youthClub"> + <rdfs:label xml:lang="en">youth club</rdfs:label><rdfs:label xml:lang="nl">jeugdclub</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Athlete"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/SportsTeam"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/floodingDate"> + <rdfs:label xml:lang="en">flooding date</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/musicalArtist"> + <rdfs:label xml:lang="en">musical artist</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Single"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/MusicalArtist"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/perCapitaIncome"> + <rdfs:label xml:lang="en">per capita income ($)</rdfs:label><rdfs:label xml:lang="pt">renda per capita ($)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/annualTemperature"> + <rdfs:label xml:lang="en">annual temperature (K)</rdfs:label><rdfs:label xml:lang="el">ετήσια θερμοκρασία (K)</rdfs:label><rdfs:label xml:lang="nl">jaartemperatuur (K)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/residence"> + <rdfs:label xml:lang="en">residence</rdfs:label><rdfs:label xml:lang="nl">verblijfplaats</rdfs:label><rdfs:label xml:lang="el">κατοικία</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/principalArea"> + <rdfs:label xml:lang="en">principal area</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/elevationQuote"> + <rdfs:label xml:lang="en">elevation quote</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/eloRecord"> + <rdfs:label xml:lang="en">maximum ELO rating</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/ChessPlayer"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/measurements"> + <rdfs:label xml:lang="en">measurements</rdfs:label><rdfs:label xml:lang="pt">medidas</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/sisterCollege"> + <rdfs:label xml:lang="en">sister college</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/College"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/College"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/firstGame"> + <rdfs:label xml:lang="en">first game</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SoccerClub"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/buildingStartDate"> + <rdfs:label xml:lang="en">building start date</rdfs:label><rdfs:label xml:lang="el">Ημερομηνία έναρξης κατασκευής</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/ArchitecturalStructure"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/assembly"> + <rdfs:label xml:lang="en">assembly</rdfs:label><rdfs:label xml:lang="el">συνέλευση</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/MeanOfTransportation"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/result"> + <rdfs:label xml:lang="en">result</rdfs:label><rdfs:label xml:lang="el">αποτέλεσμα</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/MilitaryConflict"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/frontierLength"> + <rdfs:label xml:lang="en">length of a frontier</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#float"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/dean"> + <rdfs:label xml:lang="en">dean</rdfs:label><rdfs:label xml:lang="el">πρύτανης</rdfs:label><rdfs:label xml:lang="nl">decaan</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/EducationalInstitution"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/originalMaximumBoatBeam"> + <rdfs:label xml:lang="en">original maximum boat beam (μ)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Canal"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/phonePrefixLabel"> + <rdfs:label xml:lang="en">phone prefix label of a settlement</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Settlement"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/oldProvince"> + <rdfs:label xml:lang="en">old province</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/drugbank"> + <rdfs:label xml:lang="en">DrugBank</rdfs:label><rdfs:label xml:lang="ja">DrugBank</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/otherLanguage"> + <rdfs:label xml:lang="en">other language of a settlement</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Settlement"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/radius_ly"> + <rdfs:label xml:lang="en">Radius_ly</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Globularswarm"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberOfVisitors"> + <rdfs:label xml:lang="en">number of visitors</rdfs:label><rdfs:label xml:lang="el">αριθμός επισκεπτών</rdfs:label><rdfs:label xml:lang="nl">bezoekersaantal</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/shipDisplacement"> + <rdfs:label xml:lang="en">displacement (g)</rdfs:label><rdfs:comment xml:lang="en">A ship's displacement is its mass at any given time.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Ship"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/runwayDesignation"> + <rdfs:label xml:lang="en">designation of runway</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Airport"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/mouthCountry"> + <rdfs:label xml:lang="en">mouth country</rdfs:label><rdfs:label xml:lang="el">χώρες_λεκάνης</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/River"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Country"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/orbitalPeriod"> + <rdfs:label xml:lang="en">orbital period (s)</rdfs:label><rdfs:label xml:lang="el">Περίοδος περιφοράς (s)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Planet"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/fc"> + <rdfs:label xml:lang="en">FC</rdfs:label><rdfs:label xml:lang="fr">FC</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Cricketer"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/wingspan"> + <rdfs:label xml:lang="en">wingspan (μ)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Aircraft"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/englishName"> + <rdfs:label xml:lang="en">English name</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Settlement"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/alpsMajorSector"> + <rdfs:label xml:lang="en">Alps major sector</rdfs:label><rdfs:label xml:lang="el">σημαντικότερος τομέας των άλπεων</rdfs:label><rdfs:label xml:lang="it">grande settore alpino</rdfs:label><rdfs:comment xml:lang="en">the Alps major sector to which the mountain belongs, according to the SOIUSA classification</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Mountain"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/MountainRange"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/lawCountry"> + <rdfs:label xml:lang="en">law country</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberOfOfficials"> + <rdfs:label xml:lang="en">number of officials</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/OlympicResult"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/callSign"> + <rdfs:label xml:lang="en">call sign</rdfs:label><rdfs:label xml:lang="pt">indicativo de chamada</rdfs:label><rdfs:comment xml:lang="en">A call sign is not the name of a broadcaster! In broadcasting and radio communications, a call sign (also known as a call name or call letters, or abbreviated as a call) is a unique designation for a transmitting station.</rdfs:comment><rdfs:comment xml:lang="pt">Indicativo de chamada (também chamado de call-sign, call letters ou simplesmente call) é uma designação única de uma estação de transmissão de rádio. Também é conhecido, de forma errônea, como prefixo.</rdfs:comment><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/serviceStartYear"> + <rdfs:label xml:lang="en">service start year</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/MilitaryPerson"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#gYear"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/internationalPhonePrefixLabel"> + <rdfs:label xml:lang="en">international phone prefix label</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/usk"> + <rdfs:label xml:lang="en">approved rating of the Entertainment Software Self-Regulation Body in Germany</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/lastFlightEndDate"> + <rdfs:label xml:lang="en">last flight end date</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SpaceShuttle"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/leftChild"> + <rdfs:label xml:lang="en">left child</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Island"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Island"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/managerClub"> + <rdfs:label xml:lang="en">manager club</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SoccerPlayer"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/SportsTeam"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/aircraftElectronic"> + <rdfs:label xml:lang="en">aircraft electronic</rdfs:label><rdfs:label xml:lang="el">ηλεκτρονικό αεροσκάφος</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/MilitaryUnit"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/MeanOfTransportation"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberOfNeighbourhood"> + <rdfs:label xml:lang="en">number of neighbourhood</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/GermanSettlement"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/overallRecord"> + <rdfs:label xml:lang="en">overall record</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/CollegeCoach"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/bird"> + <rdfs:label xml:lang="en">bird</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/JapanPrefecture"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/rebuilder"> + <rdfs:label xml:lang="en">rebuilder</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/MeanOfTransportation"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/restingPlace"> + <rdfs:label xml:lang="en">resting place</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Place"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/geologicPeriod"> + <rdfs:label xml:lang="en">geologic period</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/largestCity"> + <rdfs:label xml:lang="en">largest city</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/secondLeader"> + <rdfs:label xml:lang="en">secondLeader</rdfs:label><rdfs:label xml:lang="nl">vice-voorzitter</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/hairs"> + <rdfs:label xml:lang="en">hairs</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/FictionalCharacter"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/flower"> + <rdfs:label xml:lang="en">flower</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/JapanPrefecture"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/productionStartDate"> + <rdfs:label xml:lang="en">production start date</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/rank"> + <rdfs:label xml:lang="en">rank</rdfs:label><rdfs:label xml:lang="de">Platzierung</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberOfCounties"> + <rdfs:label xml:lang="en">number of counties</rdfs:label><rdfs:label xml:lang="pt">número de condados</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/bandMember"> + <rdfs:label xml:lang="en">band member</rdfs:label><rdfs:label xml:lang="nl">bandlid</rdfs:label><rdfs:label xml:lang="el">μέλος μπάντας</rdfs:label><rdfs:comment xml:lang="en">A member of the band.</rdfs:comment><rdfs:comment xml:lang="el">Ένα μέλος της μπάντας.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Band"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/port2UndockingDate"> + <rdfs:label xml:lang="en">port2 undocking date</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Spacecraft"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/commonName"> + <rdfs:label xml:lang="en">common name</rdfs:label><rdfs:comment xml:lang="en">The common name of an entity. Frequently, foaf:name is used for all of the different names of a person; this property just defines the most commonly used name.</rdfs:comment><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/mergerDate"> + <rdfs:label xml:lang="en">merger date</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/influencedBy"> + <rdfs:label xml:lang="en">influenced by</rdfs:label><rdfs:label xml:lang="fr">influencé par</rdfs:label><rdfs:label xml:lang="el">επιρροές</rdfs:label><rdfs:label xml:lang="nl">beïnvloed door</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/winsInEurope"> + <rdfs:label xml:lang="en">wins in Europe</rdfs:label><rdfs:label xml:lang="de">Siege in Europa</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/GolfPlayer"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/fareZone"> + <rdfs:label xml:lang="en">fare zone</rdfs:label><rdfs:label xml:lang="de">Tarifzone</rdfs:label><rdfs:comment xml:lang="en">The fare zone in which station is located.</rdfs:comment><rdfs:comment xml:lang="de">Die Tarifzone zu der die Station gehört.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Station"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/municipalityCode"> + <rdfs:label xml:lang="en">municipality code</rdfs:label><rdfs:label xml:lang="nl">gemeente-code</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/artery"> + <rdfs:label xml:lang="en">artery</rdfs:label><rdfs:label xml:lang="el">αρτηρία</rdfs:label><rdfs:label xml:lang="nl">ader</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/AnatomicalStructure"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Artery"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/suppreddedDate"> + <rdfs:label xml:lang="en">suppredded date</rdfs:label><rdfs:label xml:lang="nl">oppressie datum</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Saint"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/railwayRollingStock"> + <rdfs:label xml:lang="en">railway rolling stock</rdfs:label><rdfs:label xml:lang="de">Operierende Schienenfahrzeuge</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/RouteOfTransportation"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/istat"> + <rdfs:label xml:lang="en">code istat</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/extinctionYear"> + <rdfs:label xml:lang="en">extinction year</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Organisation"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#gYear"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/governmentType"> + <rdfs:label xml:lang="de">Staatsform</rdfs:label><rdfs:label xml:lang="en">government type</rdfs:label><rdfs:label xml:lang="nl">staatsvorm</rdfs:label><rdfs:label xml:lang="pt">tipo de governo</rdfs:label><rdfs:comment xml:lang="en">broadly, the type of structure of its government</rdfs:comment><rdfs:range rdf:resource="http://dbpedia.org/ontology/GovernmentType"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/dateOfAbandonment"> + <rdfs:label xml:lang="en">date of abandonment</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/soccerTournamentMostSteady"> + <rdfs:label xml:lang="en">most steady</rdfs:label><rdfs:label xml:lang="tr">en istikrarlı</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SoccerTournament"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/SoccerClub"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/launchDate"> + <rdfs:label xml:lang="en">launch date</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SpaceMission"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/countryWithFirstAstronaut"> + <rdfs:label xml:lang="en">country with first astronaut</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/YearInSpaceflight"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Country"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/feastDay"> + <rdfs:label xml:lang="en">feast day</rdfs:label><rdfs:label xml:lang="nl">feestdag</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Saint"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/functionStartDate"> + <rdfs:label xml:lang="en">function start date</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PersonFunction"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/previousEditor"> + <rdfs:label xml:lang="en">previous editor</rdfs:label><rdfs:label xml:lang="el">πρώην συντάκτης</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Magazine"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/hraState"> + <rdfs:label xml:lang="en">hra state</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/governmentElevation"> + <rdfs:label xml:lang="en">government elevation (μ)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Island"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/visitorsTotal"> + <rdfs:label xml:lang="en">visitors total</rdfs:label><rdfs:label xml:lang="el">επιβατική κίνηση</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/ArchitecturalStructure"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/countryOrigin"> + <rdfs:label xml:lang="en">country origin</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Rocket"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Country"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/currentSeason"> + <rdfs:label xml:lang="en">current season</rdfs:label><rdfs:label xml:lang="el">Τρέχον Περίοδος</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SportsLeague"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/otherChannel"> + <rdfs:label xml:lang="en">other channel</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Broadcaster"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/isPartOfRoute"> + <rdfs:label xml:lang="en">is part of route</rdfs:label><rdfs:comment xml:lang="en">Name of another route from which the route is part of. Infobox property values are mostly given as plain text, therefore range is xsd:string.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/RouteOfTransportation"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/beltwayCity"> + <rdfs:label xml:lang="en">beltway city</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Road"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/City"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/managementMountain"> + <rdfs:label xml:lang="en">management mountain</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/Mountain"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/vicePrincipalLabel"> + <rdfs:label xml:lang="en">vice principal label</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/School"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberOfIslands"> + <rdfs:label xml:lang="en">number of islands</rdfs:label><rdfs:label xml:lang="el">αριθμός νησιών</rdfs:label><rdfs:label xml:lang="nl">aantal eilanden</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Island"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/refgeo"> + <rdfs:label xml:lang="en">reference for geographic data</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/abstract"> + <rdfs:label xml:lang="en">has abstract</rdfs:label><rdfs:label xml:lang="el">έχει περίληψη</rdfs:label><rdfs:comment xml:lang="en">Reserved for DBpedia.</rdfs:comment><rdfs:comment xml:lang="el">Προορίζεται για την DBpedia.</rdfs:comment><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/floorArea"> + <rdfs:label xml:lang="en">floor area (m2)</rdfs:label><rdfs:label xml:lang="nl">vloeroppervlak (m2)</rdfs:label><rdfs:label xml:lang="el">περιοχή ορόφων (m2)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Building"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/serviceStartDate"> + <rdfs:label xml:lang="en">service start date</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/MilitaryPerson"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/apskritis"> + <rdfs:label xml:lang="en">apskritis</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/nobelLaureates"> + <rdfs:label xml:lang="en">nobel laureates</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/School"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/demonym"> + <rdfs:label xml:lang="en">demonym</rdfs:label><rdfs:label xml:lang="el">τοπονύμιο_πληθυσμού</rdfs:label><rdfs:label xml:lang="fr">démonyme</rdfs:label><rdfs:label xml:lang="nl">naam bevolkingsgroep</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/commandant"> + <rdfs:label xml:lang="en">commandant</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/mapCaption"> + <rdfs:label xml:lang="en">map caption</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/firstLaunch"> + <rdfs:label xml:lang="en">first launch</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/YearInSpaceflight"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/mergedIntoParty"> + <rdfs:label xml:lang="en">merged into party</rdfs:label><rdfs:label xml:lang="de">Aufgegangen in Partei</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PoliticalParty"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/PoliticalParty"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/maximumInclination"> + <rdfs:label xml:lang="en">maximum inclination</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/LaunchPad"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#float"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/lyrics"> + <rdfs:label xml:lang="en">lyrics</rdfs:label><rdfs:label xml:lang="el">στίχοι</rdfs:label><rdfs:label xml:lang="fr">parolier</rdfs:label><rdfs:label xml:lang="ja">歌詞</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Musical"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/maximumDischarge"> + <rdfs:label xml:lang="en">maximum discharge (m³/s)</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/allegiance"> + <rdfs:label xml:lang="en">allegiance</rdfs:label><rdfs:label xml:lang="el">υποταγή</rdfs:label><rdfs:comment xml:lang="en">The country or other power the person served. Multiple countries may be indicated together with the corresponding dates. This field should not be used to indicate a particular service branch, which is better indicated by the branch field.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/termOfOffice"> + <rdfs:label xml:lang="en">term of office</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/isoCodeRegion"> + <rdfs:label xml:lang="en">ISO region code</rdfs:label><rdfs:label xml:lang="nl">ISO regiocode</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Settlement"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/countySeat"> + <rdfs:label xml:lang="en">county seat</rdfs:label><rdfs:label xml:lang="nl">provincie zetel</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberOfVineyards"> + <rdfs:label xml:lang="en">number of vineyards</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/WineRegion"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/rotationPeriod"> + <rdfs:label xml:lang="en">rotation period (s)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Planet"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/activeYearsEndDate"> + <rdfs:label xml:lang="en">active years end date</rdfs:label><rdfs:label xml:lang="el">ενεργή ημερομηνία λήξης χρόνου</rdfs:label><rdfs:label xml:lang="nl">actieve jaren einddatum</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/careerPrizeMoney"> + <rdfs:label xml:lang="en">career prize money ($)</rdfs:label><rdfs:label xml:lang="nl">prijzengeld loopbaan ($)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/TennisPlayer"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberOfCollectionItems"> + <rdfs:label xml:lang="en">number of items in collection</rdfs:label><rdfs:label xml:lang="nl">aantal titels/items</rdfs:label><rdfs:comment xml:lang="en">Indication as to the size of the collection of this library</rdfs:comment><rdfs:comment xml:lang="nl">Aanduiding van omvang van de collectie van deze bibliotheek</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Library"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/poorestCountry"> + <rdfs:label xml:lang="en">poorest country</rdfs:label><rdfs:label xml:lang="pt">país mais pobre</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Country"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Country"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/signName"> + <rdfs:label xml:lang="en">sign name of a hungarian settlement</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/HungarySettlement"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/belgiumReffBourgmestre"> + <rdfs:label xml:lang="en">referent bourgmestre</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/BelgiumSettlement"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/unlcCode"> + <rdfs:label xml:lang="en">unlc code</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/musicalKey"> + <rdfs:label xml:lang="en">musical key</rdfs:label><rdfs:label xml:lang="el">μουσικό κλειδί</rdfs:label><rdfs:label xml:lang="nl">toonsoort</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/MusicalWork"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/award"> + <rdfs:label xml:lang="el">διακρίσεις</rdfs:label><rdfs:label xml:lang="fr">récompense</rdfs:label><rdfs:label xml:lang="en">award</rdfs:label><rdfs:label xml:lang="ja">受賞</rdfs:label><rdfs:label xml:lang="nl">onderscheiding</rdfs:label><rdfs:label xml:lang="de">Auszeichnung</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Award"/><owl:equivalentProperty rdf:resource="http://schema.org/awards"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/ethnicGroup"> + <rdfs:label xml:lang="en">ethnic group</rdfs:label><rdfs:label xml:lang="de">ethnie</rdfs:label><rdfs:label xml:lang="it">etnia</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/EthnicGroup"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/productionCompany"> + <rdfs:label xml:lang="en">production company</rdfs:label><rdfs:label xml:lang="nl">productiebedrijf</rdfs:label><rdfs:comment xml:lang="en">the company that produced the work e.g. Film, MusicalWork, Software</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Work"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Company"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/movie"> + <rdfs:label xml:lang="en">movie</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/FictionalCharacter"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Film"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/airDate"> + <rdfs:label xml:lang="en">airdate</rdfs:label><rdfs:label xml:lang="el">ημερομηνία αέρα</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/RadioStation"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/currentTeamMember"> + <rdfs:label xml:lang="en">current team member</rdfs:label><rdfs:comment xml:lang="en">A current member of an athletic team.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SportsTeam"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/TeamMember"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/winsAtLET"> + <rdfs:label xml:lang="en">wins at LET</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/GolfPlayer"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/crew"> + <rdfs:label xml:lang="de">Crew</rdfs:label><rdfs:label xml:lang="el">πλήρωμα</rdfs:label><rdfs:label xml:lang="en">crew</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Spacecraft"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/SpaceMission"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/rector"> + <rdfs:label xml:lang="en">rector</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/EducationalInstitution"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/activeYearsStartYear"> + <rdfs:label xml:lang="en">active years start year</rdfs:label><rdfs:label xml:lang="el">ενεργός χρόνος έτος λειτουργίας</rdfs:label><rdfs:label xml:lang="nl">actieve jaren start jaar</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#gYear"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/office"> + <rdfs:label xml:lang="en">office</rdfs:label><rdfs:label xml:lang="el">υπηρεσία</rdfs:label><rdfs:label xml:lang="de">Büro</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/localizationThumbnail"> + <rdfs:label xml:lang="en">thumbnail localization</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberOfSuites"> + <rdfs:label xml:lang="en">number of suites</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Hotel"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/drainsFrom"> + <rdfs:label xml:lang="en">drains from</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/AnatomicalStructure"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/AnatomicalStructure"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/temperature"> + <rdfs:label xml:lang="en">temperature (K)</rdfs:label><rdfs:label xml:lang="el">θερμοκρασία (K)</rdfs:label><rdfs:label xml:lang="fr">température (K)</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/information"> + <rdfs:label xml:lang="en">information</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberOfNewlyIntroducedSports"> + <rdfs:label xml:lang="en">number of newly introduced sports</rdfs:label><rdfs:label xml:lang="fr">numbre de sports nouvellement ajoutés</rdfs:label><rdfs:label xml:lang="es">numero de deportes nuevamente añadidos</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Olympics"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/governmentCountry"> + <rdfs:label xml:lang="en">government country</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Island"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Country"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/originalTitle"> + <rdfs:label xml:lang="en">original title</rdfs:label><rdfs:label xml:lang="nl">oorspronkelijke titel</rdfs:label><rdfs:comment xml:lang="en">The original title of the work, most of the time in the original language as well</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Work"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/muteCharacterInPlay"> + <rdfs:label xml:lang="en">mute character in play</rdfs:label><rdfs:comment xml:lang="en">Name of a mute character in play.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Play"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/filmPolskiId"> + <rdfs:label xml:lang="en">FilmPolski.pl id</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Film"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/campusType"> + <rdfs:label xml:lang="en">campus type</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/School"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/developer"> + <rdfs:label xml:lang="en">developer</rdfs:label><rdfs:label xml:lang="nl">ontwikkelaar</rdfs:label><rdfs:label xml:lang="de">Entwickler</rdfs:label><rdfs:label xml:lang="fr">développeur</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/Company"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/blueSkiPisteNumber"> + <rdfs:label xml:lang="en">blue ski piste number</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/geneLocationStart"> + <rdfs:label xml:lang="en">gene location start</rdfs:label><rdfs:label xml:lang="ja">遺伝子座のスタート座標</rdfs:label><rdfs:comment xml:lang="en">the start of the gene coordinates</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/GeneLocation"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/capitalCoordinates"> + <rdfs:label xml:lang="en">capital coordinates</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/casSupplemental"> + <rdfs:label xml:lang="en">CAS supplemental</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/canonizedDate"> + <rdfs:label xml:lang="en">canonized date</rdfs:label><rdfs:label xml:lang="nl">heiligverklaring datum</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Saint"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/licenceLetter"> + <rdfs:label xml:lang="en">licence letter of a german settlement</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/GermanSettlement"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/winsAtProTournaments"> + <rdfs:label xml:lang="en">wins at pro tournaments</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/GolfPlayer"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/alemmanicName"> + <rdfs:label xml:lang="en">city allemmanic name</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/canonizedBy"> + <rdfs:label xml:lang="en">canonized by</rdfs:label><rdfs:label xml:lang="nl">heilig verklaard door</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Saint"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/provides"> + <rdfs:label xml:lang="en">provides</rdfs:label> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/highestState"> + <rdfs:label xml:lang="en">highest state</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Island"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/latestReleaseVersion"> + <rdfs:label xml:lang="en">latest release version</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Software"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/medlineplus"> + <rdfs:label xml:lang="en">MedlinePlus</rdfs:label><rdfs:label xml:lang="nl">MedlinePlus</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Disease"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/lowestPosition"> + <rdfs:label xml:lang="en">lowest position</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/aircraftTrainer"> + <rdfs:label xml:lang="en">aircraft trainer</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/MilitaryUnit"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/MeanOfTransportation"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/river"> + <rdfs:label xml:lang="en">river</rdfs:label><rdfs:label xml:lang="el">ποτάμι</rdfs:label><rdfs:label xml:lang="fr">rivière</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/River"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/gagaouze"> + <rdfs:label xml:lang="en">gagaouze</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/espnId"> + <rdfs:label xml:lang="en">ESPN id</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Athlete"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/notableWine"> + <rdfs:label xml:lang="en">notable wine</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Grape"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/retired"> + <rdfs:label xml:lang="en">retired</rdfs:label><rdfs:label xml:lang="el">συνταξιούχος</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/administrator"> + <rdfs:label xml:lang="en">administrator</rdfs:label><rdfs:label xml:lang="el">διαχειριστής</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/School"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/locationCity"> + <rdfs:label xml:lang="en">location city</rdfs:label><rdfs:label xml:lang="nl">locatie stad</rdfs:label><rdfs:label xml:lang="fr">ville</rdfs:label><rdfs:comment xml:lang="en">City the thing is located.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Organisation"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/City"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberOfCapitalDeputies"> + <rdfs:label xml:lang="en">Number Of Capital Deputies</rdfs:label><rdfs:label xml:lang="pt">numero de deputados distritais</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/areaOfCatchmentQuote"> + <rdfs:label xml:lang="en">area of catchment quote</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/premiereYear"> + <rdfs:label xml:lang="en">premiere year</rdfs:label><rdfs:comment xml:lang="en">Year the play was first performed.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Play"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#gYear"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/employer"> + <rdfs:label xml:lang="en">employer</rdfs:label><rdfs:label xml:lang="ja">雇用者</rdfs:label><rdfs:label xml:lang="el">θέσεις_εργασίας</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Organisation"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/mainBuilding"> + <rdfs:label xml:lang="en">main building</rdfs:label><rdfs:label xml:lang="ja">本殿</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Shrine"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/bowlRecord"> + <rdfs:label xml:lang="en">bowl record</rdfs:label><rdfs:label xml:lang="el">ρεκόρ μπόουλινγκ</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/CollegeCoach"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/height"> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/><rdfs:label xml:lang="el">ύψος (μ)</rdfs:label><rdfs:label xml:lang="fr">hauteur (μ)</rdfs:label><rdfs:label xml:lang="en">height (μ)</rdfs:label><rdfs:label xml:lang="ja">身長 (μ)</rdfs:label><rdfs:label xml:lang="nl">hoogte (μ)</rdfs:label><rdfs:label xml:lang="sl">višina (μ)</rdfs:label><rdfs:label xml:lang="pt">altura (μ)</rdfs:label><rdfs:label xml:lang="de">Höhe (μ)</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/flagBorder"> + <rdfs:label xml:lang="en">flag border</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/presidentGeneralCouncil"> + <rdfs:label xml:lang="en">president of the general council</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/ingredient"> + <rdfs:label xml:lang="en">ingredient</rdfs:label><rdfs:label xml:lang="de">Zutat</rdfs:label><rdfs:comment xml:lang="en">An ingredient is a substance that forms part of a mixture (in a general sense). Here it is used in the context of recipes that specify which ingredients are used to prepare a specific dish or drink.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Food"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/aircraftHelicopterCargo"> + <rdfs:label xml:lang="en">aircraft helicopter cargo</rdfs:label><rdfs:label xml:lang="el">φορτίο ελικοφόρου αεροσκάφους</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/MilitaryUnit"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/MeanOfTransportation"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/spacecraft"> + <rdfs:label xml:lang="en">spacecraft</rdfs:label><rdfs:label xml:lang="el">διαστημόπλοιο</rdfs:label><rdfs:label xml:lang="fr">véhicule spatial</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SpaceMission"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Spacecraft"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/refseqmrna"> + <rdfs:label xml:lang="en">refseq mRNA</rdfs:label><rdfs:label xml:lang="ja">refseq mRNA</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Biomolecule"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/distanceToCapital"> + <rdfs:label xml:lang="el">απόσταση από την πρωτεύουσα (μ)</rdfs:label><rdfs:label xml:lang="en">distance to capital (μ)</rdfs:label><rdfs:label xml:lang="it">distanza alla capitale (μ)</rdfs:label><rdfs:label xml:lang="pt">distância até a capital (μ)</rdfs:label><rdfs:label xml:lang="de">entfernung zur hauptstadt (μ)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Settlement"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/originalMaximumBoatLength"> + <rdfs:label xml:lang="en">original maximum boat length (μ)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Canal"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/previousMission"> + <rdfs:label xml:lang="en">previous mission</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SpaceMission"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/SpaceMission"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/managementPosition"> + <rdfs:label xml:lang="en">management position</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/governingBody"> + <rdfs:label xml:lang="en">governing body</rdfs:label><rdfs:label xml:lang="nl">bestuursorgaan</rdfs:label><rdfs:label xml:lang="de">Verwaltungsgremium</rdfs:label><rdfs:comment xml:lang="en">Body that owns/operates the Place.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Organisation"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/polishFilmAward"> + <rdfs:label xml:lang="en">Polish Film Award</rdfs:label><rdfs:label xml:lang="pl">Polska Nagroda Filmowa (Orzeł)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Artist"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Award"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/meshNumber"> + <rdfs:label xml:lang="en">MeSH number</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/AnatomicalStructure"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/entourage"> + <rdfs:label xml:lang="en">entourage</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/FictionalCharacter"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Species"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/keyPerson"> + <rdfs:label xml:lang="en">key person</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/declination"> + <rdfs:label xml:lang="en">declination</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Constellation"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/lieutenancyArea"> + <rdfs:label xml:lang="en">Lieutenancy area</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/forces"> + <rdfs:label xml:lang="fr">forces</rdfs:label><rdfs:label xml:lang="en">forces</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/voice"> + <rdfs:label xml:lang="en">voice</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/TelevisionShow,_FictionalCharacter"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/governmentRegion"> + <rdfs:label xml:lang="en">government region</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Island"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/authorityMandate"> + <rdfs:label xml:lang="en">authority mandate</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/connotation"> + <rdfs:label xml:lang="en">connotation</rdfs:label><rdfs:comment xml:lang="en">A meaning of a word or phrase that is suggested or implied, as opposed to a denotation, or literal meaning.</rdfs:comment> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/ruling"> + <rdfs:label xml:lang="en">ruling</rdfs:label><rdfs:label xml:lang="nl">relevante regelgeving</rdfs:label><rdfs:comment xml:lang="en">Ruling referred to in this legal case</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/LegalCase"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/contractAward"> + <rdfs:label xml:lang="en">contract award</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SpaceShuttle"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/budgetYear"> + <rdfs:label xml:lang="en">budget year</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/rgbCoordinateRed"> + <rdfs:label xml:lang="en">red coordinate in the RGB space</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Colour"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/legalArrondissement"> + <rdfs:label xml:lang="en">legal arrondissement</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/BelgiumSettlement"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/hallOfFame"> + <rdfs:label xml:lang="en">hall of fame</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/IceHockeyPlayer"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/languageCode"> + <rdfs:label xml:lang="en">language code</rdfs:label><rdfs:label xml:lang="pl">kod językowy</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Language"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/eurobabeIndexId"> + <rdfs:label xml:lang="en">eurobabe index id</rdfs:label><rdfs:label xml:lang="el">eurobabeindex id</rdfs:label><rdfs:label xml:lang="pt">código no eurobabeindex</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Film"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/millsCodeBE"> + <rdfs:label xml:lang="en">mill code BE</rdfs:label><rdfs:label xml:lang="nl">molen code BE</rdfs:label><rdfs:comment xml:lang="en">mills code from the Belgian database on mills</rdfs:comment><rdfs:comment xml:lang="nl">unieke code voor molens in database www.molenechos.org</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Mill"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/endowment"> + <rdfs:label xml:lang="en">endowment ($)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Organisation"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/totalCargo"> + <rdfs:label xml:lang="en">total cargo (g)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Spacecraft"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/tvComId"> + <rdfs:label xml:lang="en">tv.com id</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/TelevisionShow"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/greenSkiPisteNumber"> + <rdfs:label xml:lang="en">green ski piste number</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/youthWing"> + <rdfs:label xml:lang="en">youth wing</rdfs:label><rdfs:label xml:lang="pt">ala jovem</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PoliticalParty"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/statisticValue"> + <rdfs:label xml:lang="en">statistic value</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/BaseballPlayer"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#float"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/currentWorldChampion"> + <rdfs:label xml:lang="en">current world champion</rdfs:label><rdfs:label xml:lang="fr">champion du monde actuel</rdfs:label><rdfs:label xml:lang="es">actual Campeón del mundo</rdfs:label><rdfs:label xml:lang="nl">huidig wereldkampioen</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Sport"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Agent"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/watershed"> + <rdfs:label xml:lang="en">watershed (m2)</rdfs:label><rdfs:label xml:lang="nl">waterscheiding (m2)</rdfs:label><rdfs:label xml:lang="es">cuenca hidrográfica (m2)</rdfs:label><rdfs:label xml:lang="el">λεκάνη_απορροής (m2)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Stream"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/careerStation"> + <rdfs:label xml:lang="en">career station</rdfs:label><rdfs:label xml:lang="de">Karrierestation</rdfs:label><rdfs:label xml:lang="nl">carrièrestap</rdfs:label><rdfs:comment xml:lang="en">this property links to a step in the career of a person, e.g. a soccer player, holding information on the time span, matches and goals he or she achieved at a club.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/CareerStation"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/governmentPosition"> + <rdfs:label xml:lang="en">government position</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Island"/><rdfs:range rdf:resource="http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/credit"> + <rdfs:label xml:lang="en">credit</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/openswarm"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/composer"> + <rdfs:label xml:lang="el">συνθέτης</rdfs:label><rdfs:label xml:lang="fr">compositeur</rdfs:label><rdfs:label xml:lang="en">composer</rdfs:label><rdfs:label xml:lang="nl">componist</rdfs:label><rdfs:label xml:lang="de">Komponist</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/openingFilm"> + <rdfs:label xml:lang="en">opening film</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/FilmFestival"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Film"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/training"> + <rdfs:label xml:lang="en">training</rdfs:label><rdfs:label xml:lang="el">προπόνηση</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Artist"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/EducationalInstitution"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/christeningDate"> + <rdfs:label xml:lang="en">date of christening</rdfs:label><rdfs:label xml:lang="nl">doopdatum</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Ship"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/innervates"> + <rdfs:label xml:lang="en">innervates</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Nerve"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/AnatomicalStructure"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberOfSilverMedalsWon"> + <rdfs:label xml:lang="en">number of silver medals won</rdfs:label><rdfs:label xml:lang="fr">nomber de médailles d'argent gagnées</rdfs:label><rdfs:label xml:lang="es">cantidad de medallas de plata ganadas</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SportCompetitionResult"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/draft"> + <rdfs:label xml:lang="en">draft</rdfs:label><rdfs:label xml:lang="de">Entwurf</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/soccerTournamentClosingSeason"> + <rdfs:label xml:lang="en">closing season</rdfs:label><rdfs:label xml:lang="tr">kapanış sezonu</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SoccerTournament"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/SoccerTournament"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/builder"> + <rdfs:label xml:lang="en">builder</rdfs:label><rdfs:label xml:lang="nl">bouwer</rdfs:label><rdfs:label xml:lang="el">οικοδόμος</rdfs:label> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/topSpeed"> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/><rdfs:label xml:lang="en">top speed (kmh)</rdfs:label><rdfs:label xml:lang="de">Höchstgeschwindigkeit (kmh)</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/assistantPrincipal"> + <rdfs:label xml:lang="en">assistant principal</rdfs:label><rdfs:label xml:lang="el">κύριος βοηθός</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/School"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberOfTerritories"> + <rdfs:label xml:lang="en">number of territories</rdfs:label><rdfs:label xml:lang="pt">número de territórios</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/AdministrativeRegion"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#positiveInteger"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/previousWork"> + <rdfs:label xml:lang="en">previous work</rdfs:label><rdfs:label xml:lang="nl">vorig werk</rdfs:label><rdfs:label xml:lang="el">προηγούμενη δημιουργία</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Work"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Work"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/year"> + <rdfs:label xml:lang="el">έτος</rdfs:label><rdfs:label xml:lang="fr">année</rdfs:label><rdfs:label xml:lang="en">year</rdfs:label><rdfs:label xml:lang="it">anno</rdfs:label><rdfs:label xml:lang="nl">jaar</rdfs:label><rdfs:label xml:lang="es">año</rdfs:label><rdfs:label xml:lang="de">Jahr</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Sales"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#gYear"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/startYearOfInsertion"> + <rdfs:label xml:lang="en">start year of insertion</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/AutomobileEngine"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#gYear"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/procedure"> + <rdfs:label xml:lang="en">procedure</rdfs:label><rdfs:label xml:lang="nl">procedure</rdfs:label><rdfs:comment xml:lang="en">The name designating a formal collection of steps to be taken to complete the case</rdfs:comment><rdfs:comment xml:lang="nl">De naam die verwijst naar de formele definitie van een verzameling stappen die in de juiste volgorde leiden tot de afronding van de zaak</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Case"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/portrayer"> + <rdfs:label xml:lang="en">portrayer</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/FictionalCharacter"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/humanDevelopmentIndexRankingCategory"> + <rdfs:label xml:lang="en">human development index (HDI) category</rdfs:label><rdfs:label xml:lang="pt">categoria do indice de desenvolvimento humano (IDH)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/regency"> + <rdfs:label xml:lang="en">regency</rdfs:label><rdfs:label xml:lang="id">kabupaten</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/mainIslands"> + <rdfs:label xml:lang="en">main islands</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Island"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/periapsis"> + <rdfs:label xml:lang="en">periapsis (μ)</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/europeanUnionEntranceDate"> + <rdfs:label xml:lang="en">european union entrance date</rdfs:label><rdfs:label xml:lang="pt">data de entrada na uniao europeia</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Country"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/priceMoney"> + <rdfs:label xml:lang="en">price money ($)</rdfs:label><rdfs:label xml:lang="de">Preisgeld ($)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SnookerPlayer"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/moldavianName"> + <rdfs:label xml:lang="en">moldavian name</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/industry"> + <rdfs:label xml:lang="en">industry</rdfs:label><rdfs:label xml:lang="fr">industrie</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Company"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/distanceToDouglas"> + <rdfs:label xml:lang="en">distance to Douglas (μ)</rdfs:label><rdfs:label xml:lang="el">απόσταση από το Douglas (μ)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Settlement"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/penaltiesTeamA"> + <rdfs:label xml:lang="en">Penalties Team A</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PenaltyShootOut"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/diploma"> + <rdfs:label xml:lang="en">diploma</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/flora"> + <rdfs:label xml:lang="en">flora</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/signature"> + <rdfs:label xml:lang="en">signature</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/judge"> + <rdfs:label xml:lang="en">judge</rdfs:label><rdfs:label xml:lang="nl">rechter</rdfs:label><rdfs:comment xml:lang="en">leading judge</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/LegalCase"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Judge"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/poleDriverCountry"> + <rdfs:label xml:lang="en">pole driver country</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/GrandPrix"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Country"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/coronationDate"> + <rdfs:label xml:lang="en">coronation date</rdfs:label><rdfs:label xml:lang="nl">kroningsdatum</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Royalty"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/cosparId"> + <rdfs:label xml:lang="en">COSPAR id</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/visitorsPerDay"> + <rdfs:label xml:lang="en">visitors per day</rdfs:label><rdfs:label xml:lang="de">Besucher pro Tag</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/ArchitecturalStructure"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/alternativeTitle"> + <rdfs:label xml:lang="en">alternative title</rdfs:label><rdfs:label xml:lang="nl">alternatieve titel</rdfs:label><rdfs:comment xml:lang="en">The alternative title attributed to a work</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Work"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/localizationThumbnailCaption"> + <rdfs:label xml:lang="en">legend thumbnail localization</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/presidentGeneralCouncilMandate"> + <rdfs:label xml:lang="en">mandate of the president of the general council</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/gross"> + <rdfs:label xml:lang="en">gross ($)</rdfs:label><rdfs:label xml:lang="el">ακαθάριστα ($)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Film"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/broadcastTranslator"> + <rdfs:label xml:lang="en">broadcast translator</rdfs:label><rdfs:label xml:lang="el">αναμετάδοση μεταφραστή</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Broadcaster"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/dateLastUpdated"> + <rdfs:label xml:lang="en">Date Last Updated</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Document"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/associate"> + <rdfs:label xml:lang="en">associate</rdfs:label><rdfs:label xml:lang="el">συνεργάτης</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/dfE"> + <rdfs:label xml:lang="en">DfE</rdfs:label><rdfs:comment xml:lang="en">DfE number of a school in England or Wales</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/School"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/bigestCity"> + <rdfs:label xml:lang="en">bigest city</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/runwaySurface"> + <rdfs:label xml:lang="en">surface of runway</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Airport"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/birthYear"> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/><rdfs:label xml:lang="el">έτος γέννησης</rdfs:label><rdfs:label xml:lang="en">birth year</rdfs:label><rdfs:label xml:lang="ja">生年</rdfs:label><rdfs:label xml:lang="nl">geboortejaar</rdfs:label><rdfs:label xml:lang="de">Geburtsjahr</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#gYear"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/council"> + <rdfs:label xml:lang="en">council of a liechtenstein settlement</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/LiechtensteinSettlement"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/debutTeam"> + <rdfs:label xml:lang="en">debut team</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Athlete"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/SportsTeam"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/headLabel"> + <rdfs:label xml:lang="en">head label</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/School"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/continentRank"> + <rdfs:label xml:lang="en">continent rank</rdfs:label><rdfs:label xml:lang="de">Rang Kontinent</rdfs:label><rdfs:comment xml:lang="en">Place of the building in the list of the highest buildings in the continent</rdfs:comment><rdfs:comment xml:lang="de">Der Platz des Gebäudes in der Liste der höchsten Gebäude des Kontinents</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Skyscraper"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/musicalBand"> + <rdfs:label xml:lang="en">musical band</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Single"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Band"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/politicGovernmentDepartment"> + <rdfs:label xml:lang="en">politic government department</rdfs:label><rdfs:label xml:lang="pt">ministerio do politico</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/hgncid"> + <rdfs:label xml:lang="en">HGNCid</rdfs:label><rdfs:label xml:lang="ja">HGNCid</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Biomolecule"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/mouthMountain"> + <rdfs:label xml:lang="en">mouth mountain</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/River"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Mountain"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/linkedTo"> + <rdfs:label xml:lang="en">linked to</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SkiResort"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Place"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/highestRegion"> + <rdfs:label xml:lang="en">highest region</rdfs:label><rdfs:label xml:lang="nl">hoogste regio</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Island"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/lengthQuote"> + <rdfs:label xml:lang="en">length quote</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/tuition"> + <rdfs:label xml:lang="en">tuition ($)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/School"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberOfPages"> + <rdfs:label xml:lang="en">number of pages</rdfs:label><rdfs:label xml:lang="nl">aantal pagina's</rdfs:label><rdfs:label xml:lang="de">Anzahl der Seiten</rdfs:label><rdfs:comment xml:lang="en">The books number of pages.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Book"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#positiveInteger"/><owl:equivalentProperty rdf:resource="http://schema.org/numberOfPages"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/zipCode"> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/><rdfs:label xml:lang="en">zip code</rdfs:label><rdfs:label xml:lang="nl">postcode</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/individualisedPnd"> + <rdfs:label xml:lang="en">individualised PND number</rdfs:label><rdfs:label xml:lang="de">Personennamendatei</rdfs:label><rdfs:comment xml:lang="en">PND (Personennamendatei) data about a person. PND is published by the German National Library. For each person there is a record with her/his name, birth and occupation connected with a unique identifier, the PND number.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/soccerTournamentOpeningSeason"> + <rdfs:label xml:lang="en">opening season</rdfs:label><rdfs:label xml:lang="tr">açılış sezonu</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SoccerTournament"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/SoccerTournament"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/notableFeatures"> + <rdfs:label xml:lang="en">notable features</rdfs:label><rdfs:label xml:lang="tr">notlar</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Galaxy"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/militaryGovernment"> + <rdfs:label xml:lang="en">military government</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/provinceIsoCode"> + <rdfs:label xml:lang="en">iso code of a province</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/discharge"> + <rdfs:label xml:lang="en">discharge (m³/s)</rdfs:label><rdfs:label xml:lang="el">εκροή (m³/s)</rdfs:label><rdfs:label xml:lang="nl">uitstoot (m³/s)</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/regionIsoCode"> + <rdfs:label xml:lang="en">iso code of a region</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/spokenIn"> + <rdfs:label xml:lang="en">spoken in</rdfs:label><rdfs:label xml:lang="nl">gesproken in</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Language"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/suborbitalFlights"> + <rdfs:label xml:lang="en">suborbital flights</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/YearInSpaceflight"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/variantOf"> + <rdfs:label xml:lang="en">variant or variation</rdfs:label><rdfs:label xml:lang="nl">variant</rdfs:label><rdfs:comment xml:lang="en">variant or variation of something, for example the variant of a car</rdfs:comment> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/networth"> + <rdfs:label xml:lang="en">networth ($)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/stateOfOrigin"> + <rdfs:label xml:lang="en">state of origin</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Country"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberOfOrbits"> + <rdfs:label xml:lang="en">number of orbits</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SpaceMission"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/deathDate"> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/><rdfs:label xml:lang="el">ημερομηνία_θανάτου</rdfs:label><rdfs:label xml:lang="fr">date de décès</rdfs:label><rdfs:label xml:lang="en">death date</rdfs:label><rdfs:label xml:lang="ja">没年月日</rdfs:label><rdfs:label xml:lang="nl">sterfdatum</rdfs:label><rdfs:label xml:lang="de">Sterbedatum</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/><owl:equivalentProperty rdf:resource="http://schema.org/deathDate"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/aircraftRecon"> + <rdfs:label xml:lang="en">aircraft recon</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/MilitaryUnit"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/MeanOfTransportation"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/provinceLink"> + <rdfs:label xml:lang="en">province link</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Province"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/barPassRate"> + <rdfs:label xml:lang="en">bar pass rate</rdfs:label><rdfs:label xml:lang="el">ποσοστό επιτυχίας</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/School"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#float"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/associateEditor"> + <rdfs:label xml:lang="en">associate editor</rdfs:label><rdfs:label xml:lang="el">συνεργαζόμενος συντάκτης</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Newspaper"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/managingEditor"> + <rdfs:label xml:lang="en">managing editor</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Newspaper"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberOfUndergraduateStudents"> + <rdfs:label xml:lang="en">number of undergraduate students</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/EducationalInstitution"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/strength"> + <rdfs:label xml:lang="en">strength</rdfs:label><rdfs:label xml:lang="el">δύναμη</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/MilitaryConflict"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/circuitName"> + <rdfs:label xml:lang="en">circuit name</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/FormulaOneRacing"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/rankAgreement"> + <rdfs:label xml:lang="en">rank of an agreement</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/officialSchoolColour"> + <rdfs:label xml:lang="en">official school colour</rdfs:label><rdfs:label xml:lang="de">offizielle Schulfarbe</rdfs:label><rdfs:comment xml:lang="en">The official colour of the EducationalInstitution represented by the colour name (e.g.: red or green).</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/EducationalInstitution"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/currentPartner"> + <rdfs:label xml:lang="en">current partner</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/FigureSkater"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/officialName"> + <rdfs:label xml:lang="en">official name of a switzerland settlement</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SwitzerlandSettlement"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/country"> + <rdfs:label xml:lang="el">χώρα</rdfs:label><rdfs:label xml:lang="fr">pays</rdfs:label><rdfs:label xml:lang="en">country</rdfs:label><rdfs:label xml:lang="nl">land</rdfs:label><rdfs:label xml:lang="pt">país</rdfs:label><rdfs:label xml:lang="es">país</rdfs:label><rdfs:label xml:lang="de">Land</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/Country"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/subprefecture"> + <rdfs:label xml:lang="en">subprefecture</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Department"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/fastestDriverCountry"> + <rdfs:label xml:lang="en">fastest driver country</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/GrandPrix"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Country"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/executiveHeadteacher"> + <rdfs:label xml:lang="en">executive headteacher</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/School"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/vehicleCode"> + <rdfs:label xml:lang="de">KFZ-Kennzeichen</rdfs:label><rdfs:label xml:lang="en">vehicle code</rdfs:label><rdfs:label xml:lang="nl">voertuig code</rdfs:label><rdfs:comment xml:lang="en">Region related vehicle code on the vehicle plates.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/twinCity"> + <rdfs:label xml:lang="en">twin city</rdfs:label><rdfs:label xml:lang="nl">tweeling stad</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Settlement"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Settlement"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/ageRange"> + <rdfs:label xml:lang="en">age range</rdfs:label><rdfs:label xml:lang="el">εύρος ηλικίας</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/School"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/retentionTime"> + <rdfs:label xml:lang="en">relation time</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/dubber"> + <rdfs:label xml:lang="en">dubber</rdfs:label><rdfs:comment xml:lang="en">the person who dubs another person e.g. an actor or a fictional character in movies</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/fauna"> + <rdfs:label xml:lang="en">fauna</rdfs:label><rdfs:label xml:lang="nl">fauna</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/fcRuns"> + <rdfs:label xml:lang="en">FC runs</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Cricketer"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/personFunction"> + <rdfs:label xml:lang="en">person function</rdfs:label><rdfs:label xml:lang="nl">persoon functie</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/PersonFunction"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/fuelCapacity"> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/><rdfs:label xml:lang="en">fuel capacity (μ³)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Automobile"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/deathPlace"> + <rdfs:label xml:lang="el">τόπος_θανάτου</rdfs:label><rdfs:label xml:lang="fr">lieu de décès</rdfs:label><rdfs:label xml:lang="en">death place</rdfs:label><rdfs:label xml:lang="ja">死没地</rdfs:label><rdfs:label xml:lang="nl">plaats van overlijden</rdfs:label><rdfs:label xml:lang="de">Sterbeort</rdfs:label><rdfs:comment xml:lang="en">the place where they died</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Place"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/layingDown"> + <rdfs:label xml:lang="en">laying down</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Ship"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberOfStateDeputies"> + <rdfs:label xml:lang="en">Number Of State Deputies</rdfs:label><rdfs:label xml:lang="pt">numero de deputados estaduais</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/locationIdentifier"> + <rdfs:label xml:lang="en">Location Identifier</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Airport"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/nearestCity"> + <rdfs:label xml:lang="en">nearest city</rdfs:label><rdfs:label xml:lang="nl">dichtstbijzijnde stad</rdfs:label><rdfs:label xml:lang="el">πόλη</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/summerTemperature"> + <rdfs:label xml:lang="en">summer temperature (K)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Settlement"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/mouthPosition"> + <rdfs:label xml:lang="en">mouth position</rdfs:label><rdfs:label xml:lang="es">lugar de desembocadura</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/River"/><rdfs:range rdf:resource="http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/automobilePlatform"> + <rdfs:label xml:lang="en">automobile platform</rdfs:label><rdfs:label xml:lang="el">πλατφόρμα αυτοκινήτων</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Automobile"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Automobile"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/fuel"> + <rdfs:label xml:lang="el">καύσιμα</rdfs:label><rdfs:label xml:lang="fr">carburant</rdfs:label><rdfs:label xml:lang="en">fuel</rdfs:label><rdfs:label xml:lang="nl">brandstof</rdfs:label><rdfs:label xml:lang="de">Treibstoff</rdfs:label> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/leader"> + <rdfs:label xml:lang="en">leader</rdfs:label><rdfs:label xml:lang="nl">leider</rdfs:label><rdfs:label xml:lang="el">ηγέτης</rdfs:label><rdfs:label xml:lang="pt">lider</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/rocketStages"> + <rdfs:label xml:lang="en">number of rocket stages</rdfs:label><rdfs:comment xml:lang="en">number of stages, not including boosters</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Rocket"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/testaverage"> + <rdfs:label xml:lang="en">testaverage</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/School"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#float"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/aircraftHelicopterTransport"> + <rdfs:label xml:lang="en">aircraft helicopter transport</rdfs:label><rdfs:label xml:lang="el">μεταφορές που πραγματοποιούνται με ελικοφόρο αεροσκάφος</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/MilitaryUnit"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/MeanOfTransportation"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/sovereignCountry"> + <rdfs:label xml:lang="en">sovereignn country</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/discoverer"> + <rdfs:label xml:lang="en">discoverer</rdfs:label><rdfs:label xml:lang="el">Ανακαλύφθηκε από</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/magazine"> + <rdfs:label xml:lang="en">magazine</rdfs:label><rdfs:label xml:lang="el">περιοδικό</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/WrittenWork"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Magazine"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/firstFlight"> + <rdfs:label xml:lang="en">first flight</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SpaceShuttle"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/SpaceMission"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/teachingStaff"> + <rdfs:label xml:lang="en">teaching staff</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/School"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/supplementalDraftRound"> + <rdfs:label xml:lang="en">supplemental draft round</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Athlete"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/beatifiedBy"> + <rdfs:label xml:lang="en">beatified by</rdfs:label><rdfs:label xml:lang="nl">zalig verklaard door</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Saint"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/acquirementDate"> + <rdfs:label xml:lang="en">date of acquirement</rdfs:label><rdfs:label xml:lang="el">ημερομηνία απόκτησης</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Ship"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/dutchMIPCode"> + <rdfs:label xml:lang="en">monument code for the Monuments Inventory Project</rdfs:label><rdfs:label xml:lang="nl">monumentcode voor het Monumenten Inventarisatie Project</rdfs:label><rdfs:comment xml:lang="en">The Dutch MIP project was meant to take stock of all kinds of monuments</rdfs:comment><rdfs:comment xml:lang="nl">Code voor alle soorten monumenten gebezigd door het MI-project</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/ArchitecturalStructure,_Monument"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/giniCoefficient"> + <rdfs:label xml:lang="en">gini coefficient</rdfs:label><rdfs:label xml:lang="pt">coeficiente de Gini</rdfs:label><rdfs:comment xml:lang="en">is a measure of the inequality of a distribution. It is commonly used as a measure of inequality of income or wealth.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#float"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/spacewalkBegin"> + <rdfs:label xml:lang="en">spacewalk begin</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SpaceMission"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/firstDriver"> + <rdfs:label xml:lang="en">first driver</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/GrandPrix"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/command"> + <rdfs:label xml:lang="en">command</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/MilitaryPerson"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/cinematography"> + <rdfs:label xml:lang="en">cinematography</rdfs:label><rdfs:label xml:lang="nl">cinematografie</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Film"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/localAuthority"> + <rdfs:label xml:lang="en">local authority</rdfs:label> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/geolocDepartment"> + <rdfs:label xml:lang="en">geolocDepartment</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Settlement"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/oilSystem"> + <rdfs:label xml:lang="en">oil system</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/AutomobileEngine"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/partner"> + <rdfs:label xml:lang="en">partner</rdfs:label><rdfs:label xml:lang="nl">partner</rdfs:label><rdfs:label xml:lang="el">συνέταιρος</rdfs:label><rdfs:label xml:lang="de">Partner</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/nationalTopographicSystemMapNumber"> + <rdfs:label xml:lang="en">National Topographic System map number</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/freeLabel"> + <rdfs:label xml:lang="en">freeLabel</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/FictionalCharacter"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/percentageOfAreaWater"> + <rdfs:label xml:lang="en">percentage of area water</rdfs:label><rdfs:label xml:lang="el">ποσοστό_υδάτων</rdfs:label><rdfs:label xml:lang="nl">percentage wateroppervlak</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#float"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/goldenRaspberryAward"> + <rdfs:label xml:lang="en">Golden Raspberry Award</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Actor"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Award"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/sourceConfluenceState"> + <rdfs:label xml:lang="en">source confluence state</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/River"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/totalPopulation"> + <rdfs:label xml:lang="en">total population</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/EthnicGroup"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/latestPreviewVersion"> + <rdfs:label xml:lang="en">latest preview version</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Software"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/nationalOlympicCommittee"> + <rdfs:label xml:lang="en">National Olympic Committee</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/OlympicResult"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberOfPeopleLicensed"> + <rdfs:label xml:lang="en">number of licensed</rdfs:label><rdfs:label xml:lang="fr">nombre de licenciés</rdfs:label><rdfs:comment xml:lang="en">nombre de personnes ayant une license pour pratiquer cette activité</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Activity"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/satScore"> + <rdfs:label xml:lang="en">SAT score</rdfs:label><rdfs:comment xml:lang="en">most recent average SAT scores</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/School"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/fipsCode"> + <rdfs:label xml:lang="en">fips code</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/port2DockedTime"> + <rdfs:label xml:lang="en">port2 docked time (s)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Spacecraft"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/season"> + <rdfs:label xml:lang="en">season</rdfs:label><rdfs:label xml:lang="el">σαιζόν</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SoccerClub"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/cmykCoordinateMagenta"> + <rdfs:label xml:lang="en">magenta coordinate in the CMYK space</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Colour"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/headAlloy"> + <rdfs:label xml:lang="en">head alloy</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/AutomobileEngine"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/tamazightSettlementName"> + <rdfs:label xml:lang="en">tamazight settlement name</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/AlgerianSettlement"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/computingMedia"> + <rdfs:label xml:lang="en">Computing Media</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Software"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/capitalDistrict"> + <rdfs:label xml:lang="en">capital district</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Island"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/followingEvent"> + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/Event"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Event"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/congressionalDistrict"> + <rdfs:label xml:lang="en">congressional district</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/AdministrativeRegion"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/distanceTraveled"> + <rdfs:label xml:lang="en">distance traveled (μ)</rdfs:label><rdfs:label xml:lang="nl">afgelegde afstand (μ)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SpaceMission"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/winsAtChallenges"> + <rdfs:label xml:lang="en">wins at challenges</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/GolfPlayer"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/totalTravellers"> + <rdfs:label xml:lang="en">total travellers</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/YearInSpaceflight"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/podiums"> + <rdfs:label xml:lang="en">podiums</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/FormulaOneRacer"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/seatingCapacity"> + <rdfs:label xml:lang="en">seating capacity</rdfs:label><rdfs:label xml:lang="nl">zitplaatsen</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Building"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/distanceToLondon"> + <rdfs:label xml:lang="en">distance to London (μ)</rdfs:label><rdfs:label xml:lang="el">απόσταση από το Λονδίνο (μ)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Settlement"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/creator"> + <rdfs:label xml:lang="en">creator</rdfs:label><rdfs:label xml:lang="nl">maker</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Work"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/age"> + <rdfs:label xml:lang="en">age</rdfs:label><rdfs:label xml:lang="el">ηλικία</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Agent"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/amgid"> + <rdfs:label xml:lang="en">amgId</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Film"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberOfVehicles"> + <rdfs:label xml:lang="en">number of vehicles</rdfs:label><rdfs:label xml:lang="de">Anzahl der Fahrzeuge</rdfs:label><rdfs:comment xml:lang="en">Number of vehicles used in the transit system.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PublicTransitSystem"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/foundingDate"> + <rdfs:label xml:lang="el">ημερομηνία ίδρυσης</rdfs:label><rdfs:label xml:lang="en">founding date</rdfs:label><rdfs:label xml:lang="ja">創立日</rdfs:label><rdfs:label xml:lang="pl">data założenia</rdfs:label><rdfs:label xml:lang="de">Gründungsdatum</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/effectiveRadiatedPower"> + <rdfs:label xml:lang="en">effectiveRadiatedPower (W)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Broadcaster"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/owningCompany"> + <rdfs:label xml:lang="en">owning company</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/Company"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/achievement"> + <rdfs:label xml:lang="en">achievement</rdfs:label><rdfs:label xml:lang="el">κατόρθωμα</rdfs:label><rdfs:label xml:lang="fr">haut fait, accomplissement</rdfs:label><rdfs:label xml:lang="es">logro</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/groupCommemorated"> + <rdfs:label xml:lang="en">group commemorated</rdfs:label><rdfs:label xml:lang="nl">groep mensen herdacht</rdfs:label><rdfs:comment xml:lang="en">Designates the category of people commemorated by a monument</rdfs:comment><rdfs:comment xml:lang="nl">Aanduiding van de categorie mensen die door dit monument worden herdacht</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Monument"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/building"> + <rdfs:label xml:lang="en">building</rdfs:label><rdfs:label xml:lang="nl">gebouw</rdfs:label><rdfs:label xml:lang="el">κτίριο</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Island"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Building"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/atcSupplemental"> + <rdfs:label xml:lang="en">ATC supplemental</rdfs:label><rdfs:label xml:lang="el">ATC συμπληρωματικό</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/service"> + <rdfs:label xml:lang="en">service</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Company"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/phylum"> + <rdfs:label xml:lang="en">門_(分類学)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Species"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/brand"> + <rdfs:label xml:lang="en">brand</rdfs:label><rdfs:label xml:lang="el">μάρκα</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/WrestlingEvent"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/TelevisionShow"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/comic"> + <rdfs:label xml:lang="en">comic</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/FictionalCharacter"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Comic"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/mandate"> + <rdfs:label xml:lang="en">political mandate</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/latestReleaseDate"> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/><rdfs:label xml:lang="en">latest release date</rdfs:label><rdfs:label xml:lang="fr">date de dernière version</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Software"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/crews"> + <rdfs:label xml:lang="en">crews</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SpaceShuttle"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/totalMass"> + <rdfs:label xml:lang="en">total mass (g)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Spacecraft"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/governmentPlace"> + <rdfs:label xml:lang="en">government place</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Island"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/notifyDate"> + <rdfs:label xml:lang="en">notify date</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SiteOfSpecialScientificInterest"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/cuisine"> + <rdfs:label xml:lang="en">cuisine</rdfs:label><rdfs:label xml:lang="nl">keuken</rdfs:label><rdfs:label xml:lang="el">κουζίνα</rdfs:label><rdfs:label xml:lang="fr">cuisine</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Restaurant"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/demographicsAsOf"> + <rdfs:label xml:lang="en">demographics as of</rdfs:label><rdfs:label xml:lang="pt">indicadores demograficos em</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/coachedTeam"> + <rdfs:label xml:lang="en">coached team</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/CollegeCoach"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/SportsTeam"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/editorTitle"> + <rdfs:label xml:lang="en">editor title</rdfs:label><rdfs:label xml:lang="el">τίτλος συντάκτη</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Magazine"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/kingdom"> + <rdfs:label xml:lang="el">βασίλειο</rdfs:label><rdfs:label xml:lang="en">kingdom</rdfs:label><rdfs:label xml:lang="it">regno</rdfs:label><rdfs:label xml:lang="ja">界_(分類学)</rdfs:label><rdfs:label xml:lang="nl">rijk</rdfs:label><rdfs:label xml:lang="de">reich</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Species"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/committee"> + <rdfs:label xml:lang="en">committee</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/unitCost"> + <rdfs:label xml:lang="en">unit cost ($)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Aircraft"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/atcSuffix"> + <rdfs:label xml:lang="en">ATC suffix</rdfs:label><rdfs:label xml:lang="el">ATC κατάληξη</rdfs:label><rdfs:label xml:lang="fr">suffix ATC</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/leaderFunction"> + <rdfs:label xml:lang="en">leaderFunction</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Organisation"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/PersonFunction"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/managementElevation"> + <rdfs:label xml:lang="en">management elevation (μ)</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/bustSize"> + <rdfs:label xml:lang="en">bust size (μ)</rdfs:label><rdfs:label xml:lang="el">Μέγεθος προτομής (μ)</rdfs:label><rdfs:label xml:lang="ja">バスト (μ)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/italianName"> + <rdfs:label xml:lang="en">city italian name</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/sharingOut"> + <rdfs:label xml:lang="en">sharing out</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/work"> + <rdfs:label xml:lang="en">work</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/FictionalCharacter"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/musicType"> + <rdfs:label xml:lang="en">musicType</rdfs:label><rdfs:label xml:lang="nl">soort muziekwerk</rdfs:label><rdfs:comment xml:lang="en">Type is too general. We should be able to distinguish types of music from types of architecture</rdfs:comment><rdfs:comment xml:lang="nl">Type is te algemeen. We moeten soorten muziek van soorten gebouwen kunnen onderscheiden</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/MusicalWork"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/phonePrefixName"> + <rdfs:label xml:lang="en">phone prefix name</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/wikiPageWikiLink"> + <rdfs:label xml:lang="en">Link from a Wikipage to another Wikipage</rdfs:label><rdfs:comment xml:lang="en">Reserved for DBpedia.</rdfs:comment> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/averageClassSize"> + <rdfs:label xml:lang="en">average class size</rdfs:label><rdfs:label xml:lang="el">μέσο μέγεθος τάξης</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/School"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#float"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/affair"> + <rdfs:label xml:lang="en">affair</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/passengersPerYear"> + <rdfs:label xml:lang="en">passengers per year</rdfs:label><rdfs:label xml:lang="nl">passagiers per jaar</rdfs:label><rdfs:label xml:lang="de">Passagiere pro Jahr</rdfs:label><rdfs:comment xml:lang="en">Number of passengers per year.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Infrastructure"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/setDesigner"> + <rdfs:label xml:lang="en">set designer</rdfs:label><rdfs:label xml:lang="it">scenografo</rdfs:label><rdfs:comment xml:lang="en">the person who is responsible for the film set design</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Film"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/routeEndDirection"> + <rdfs:label xml:lang="en">road end direction</rdfs:label><rdfs:label xml:lang="de">Himmelsrichtung des Wegendes</rdfs:label><rdfs:comment xml:lang="en">End of the route. The opposite of OntologyProperty:routeStartDirection.</rdfs:comment><rdfs:comment xml:lang="de">Himmelsrichtung des Endes des Verkehrsweges. Der Gegensatz zur OntologyProperty:routeStartDirection.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/RouteOfTransportation"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/averageDepth"> + <rdfs:label xml:lang="en">average depth</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/lounge"> + <rdfs:label xml:lang="en">lounge</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Airline"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/alpsSoiusaCode"> + <rdfs:label xml:lang="en">Alps SOIUSA code</rdfs:label><rdfs:label xml:lang="el">κώδικας SOIUSA των άλπεων</rdfs:label><rdfs:label xml:lang="it">codice SOIUSA</rdfs:label><rdfs:comment xml:lang="en">the Alps SOIUSA code corresponding to the mountain, according to the SOIUSA classification</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Mountain"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/cmykCoordinateYellow"> + <rdfs:label xml:lang="en">yellow coordinate in the CMYK space</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Colour"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/volumes"> + <rdfs:label xml:lang="en">volumes</rdfs:label><rdfs:label xml:lang="nl">delen</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/MultiVolumePublication"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/WrittenWork"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/codeProvincialMonument"> + <rdfs:label xml:lang="en">monument code (provinciall)</rdfs:label><rdfs:label xml:lang="nl">monumentcode provinciale monumenten</rdfs:label><rdfs:comment xml:lang="en">Code is too general. We should be able to distinguish status types since different codes refer to different protection regimes</rdfs:comment><rdfs:comment xml:lang="nl">Code is te algemeen. We moeten soorten codes kunnen onderscheiden al naar gelang het een rijks-, provinciaal of gemeentelijk monument betreft</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/riverBranchOf"> + <rdfs:label xml:lang="en">branch of</rdfs:label><rdfs:label xml:lang="el">διακλάδωση_του</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/River"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/River"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/synonym"> + <rdfs:label xml:lang="en">synonym</rdfs:label><rdfs:label xml:lang="el">συνώνυμο</rdfs:label><rdfs:label xml:lang="ja">シノニム</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/piercing"> + <rdfs:label xml:lang="en">piercing</rdfs:label><rdfs:label xml:lang="pt">piercing</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/handedness"> + <rdfs:label xml:lang="en">handedness</rdfs:label><rdfs:label xml:lang="pt">habilidade com a mao</rdfs:label><rdfs:comment xml:lang="en">an attribute of humans defined by their unequal distribution of fine motor skill between the left and right hands.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/dryCargo"> + <rdfs:label xml:lang="en">dry cargo (g)</rdfs:label><rdfs:label xml:lang="nl">droge last (g)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Spacecraft"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/division"> + <rdfs:label xml:lang="en">division</rdfs:label><rdfs:label xml:lang="nl">verdeling</rdfs:label> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/visitorsPercentageChange"> + <rdfs:label xml:lang="en">visitor percentage change</rdfs:label><rdfs:label xml:lang="de">prozentuale Veränderung der Besucherzahl</rdfs:label><rdfs:comment xml:lang="en">Percentage increase or decrease.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/ArchitecturalStructure"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/pastMember"> + <rdfs:label xml:lang="en">past member</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/iftaAward"> + <rdfs:label xml:lang="en">IFTA Award</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Actor"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Award"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/associatedMusicalArtist"> + <rdfs:label xml:lang="en">associated musical artist</rdfs:label><rdfs:label xml:lang="el">συνεργάτης-μουσικός καλλιτέχνης</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/MusicalArtist"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/army"> + <rdfs:label xml:lang="en">army</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/soccerLeagueRelegated"> + <rdfs:label xml:lang="en">relegated teams</rdfs:label><rdfs:label xml:lang="tr">düşenler</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SoccerLeagueSeason"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/SportsTeam"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/port2DockingDate"> + <rdfs:label xml:lang="en">port2 docking date</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Spacecraft"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/smallestCountry"> + <rdfs:label xml:lang="en">smallest country</rdfs:label><rdfs:label xml:lang="pt">menor país</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/gaudiAward"> + <rdfs:label xml:lang="en">Gaudí Award</rdfs:label><rdfs:label xml:lang="ca">Premis Gaudí</rdfs:label><rdfs:comment xml:lang="en">Awards of the Catalan Academy of Cinema</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Artist"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Award"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/meetingBuilding"> + <rdfs:label xml:lang="en">meeting building</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Legislature"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Building"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/lastAppearance"> + <rdfs:label xml:lang="en">last appearance</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/FictionalCharacter"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberOfLaps"> + <rdfs:label xml:lang="en">number of laps</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/FormulaOneRacing"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/patron"> + <rdfs:label xml:lang="en">patron</rdfs:label><rdfs:label xml:lang="pt">patrono</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/MilitaryUnit"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/raceLength"> + <rdfs:label xml:lang="en">race length (μ)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/FormulaOneRacing"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/continent"> + <rdfs:label xml:lang="en">continent</rdfs:label><rdfs:label xml:lang="it">continente</rdfs:label><rdfs:comment xml:lang="en">links a country to the continent it belongs</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Country"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Continent"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/geolocDual"> + <rdfs:label xml:lang="en">geolocdual</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/animal"> + <rdfs:label xml:lang="el">ζώο</rdfs:label><rdfs:label xml:lang="fr">animal</rdfs:label><rdfs:label xml:lang="en">animal</rdfs:label><rdfs:label xml:lang="ja">動物</rdfs:label><rdfs:label xml:lang="nl">beest</rdfs:label><rdfs:label xml:lang="de">Tier</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/Animal"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/dateBudget"> + <rdfs:label xml:lang="en">date budget</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/landArea"> + <rdfs:label xml:lang="en">area of a land (m2)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/><owl:equivalentProperty rdf:resource="http://dbpedia.org/ontology/area"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/startYear"> + <rdfs:label xml:lang="en">start year</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/raceHorse"> + <rdfs:label xml:lang="en">race horse</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/RaceHorse"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/highestPosition"> + <rdfs:label xml:lang="en">highest position</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/flagSize"> + <rdfs:label xml:lang="en">flagSize</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Flag"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/currentRank"> + <rdfs:label xml:lang="en">current rank</rdfs:label><rdfs:label xml:lang="de">aktueller Ranglistenplatz</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SnookerPlayer"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/arm"> + <rdfs:label xml:lang="en">arm</rdfs:label><rdfs:label xml:lang="el">ώμος</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Protein"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/municipalityType"> + <rdfs:label xml:lang="en">type of municipality</rdfs:label><rdfs:label xml:lang="nl">type gemeente</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Municipality"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/soccerTournamentThisSeason"> + <rdfs:label xml:lang="en">this season</rdfs:label><rdfs:label xml:lang="tr">bu sezon</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SoccerTournament"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/SoccerTournament"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/landtag"> + <rdfs:label xml:lang="en">austrian land tag</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/AustrianAdministrativeRegion"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/neighbourRegion"> + <rdfs:label xml:lang="en">neighbour region</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/individualisedGnd"> + <rdfs:label xml:lang="en">individualised GND number</rdfs:label><rdfs:label xml:lang="de">Gemeinsame Normdatei</rdfs:label><rdfs:comment xml:lang="en">GND (Gemeinsame Normdatei) is an international authority file for the organisation of personal names, subject headings and corporate bodies from catalogues. It is used mainly for documentation in libraries and archives. The GND is managed by the German National Library in cooperation with various library networks. The GND falls under the Creative Commons Zero(CC0) license.</rdfs:comment><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/sex"> + <rdfs:label xml:lang="en">sex</rdfs:label><rdfs:label xml:lang="el">φύλο</rdfs:label><rdfs:label xml:lang="de">Geschlecht</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/legalForm"> + <rdfs:label xml:lang="en">legal form</rdfs:label><rdfs:label xml:lang="nl">rechtsvorm</rdfs:label><rdfs:label xml:lang="de">Rechtsform</rdfs:label><rdfs:comment xml:lang="en">There are many types of business entity defined in the legal systems of various countries. These include corporations, cooperatives, partnerships, sole traders, limited liability company and other specialized types of organization.</rdfs:comment><rdfs:comment xml:lang="de">Die Rechtsform definiert die juristischen Rahmenbedingungen einer Organisation bzw. Unternehmens.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Organisation"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/iso6391Code"> + <rdfs:label xml:lang="en">ISO 639-1 code</rdfs:label><rdfs:label xml:lang="nl">ISO 639-1 code</rdfs:label><rdfs:label xml:lang="pl">kod ISO 639-1</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Language"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/perCapitaIncomeRank"> + <rdfs:label xml:lang="en">per capital income rank</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/secretaryGeneral"> + <rdfs:label xml:lang="en">secretary</rdfs:label><rdfs:label xml:lang="nl">secretaris</rdfs:label><rdfs:label xml:lang="pt">secretario</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Organisation"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/satellite"> + <rdfs:label xml:lang="en">satellite</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Planet"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/quote"> + <rdfs:label xml:lang="en">quote</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/purpose"> + <rdfs:label xml:lang="en">purpose</rdfs:label><rdfs:label xml:lang="nl">doel</rdfs:label><rdfs:label xml:lang="fr">objectif</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/lieutenant"> + <rdfs:label xml:lang="en">lieutenant</rdfs:label><rdfs:label xml:lang="fr">lieutenant</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/mayorArticle"> + <rdfs:label xml:lang="en">mayor article</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/lowestState"> + <rdfs:label xml:lang="en">lowest state</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Island"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/accessDate"> + <rdfs:label xml:lang="en">access date</rdfs:label><rdfs:label xml:lang="el">ημερομηνία πρόσβασης</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#gYear"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/headteacher"> + <rdfs:label xml:lang="en">head teacher</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/School"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/pluviometry"> + <rdfs:label xml:lang="en">pluviometry</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/endYearOfSales"> + <rdfs:label xml:lang="en">end year of sales</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Sales"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#gYear"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/frequencyOfPublication"> + <rdfs:label xml:lang="en">frequency of publication</rdfs:label><rdfs:label xml:lang="nl">frequentie van publicatie</rdfs:label><rdfs:label xml:lang="de">Erscheinungsweise</rdfs:label><rdfs:comment xml:lang="en">The frequency of periodical publication (eg. Weekly, Bimonthly).</rdfs:comment><rdfs:comment xml:lang="de">Die Häufigkeit der Erscheinungen des Periodikums (z.B. wöchentlich, monatlich).</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PeriodicalLiterature"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/toll"> + <rdfs:label xml:lang="en">toll ($)</rdfs:label><rdfs:label xml:lang="de">Maut ($)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/RouteOfTransportation"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/sourcePosition"> + <rdfs:label xml:lang="en">source position</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/thumbnail"> + <rdfs:label xml:lang="en">thumbnail</rdfs:label><rdfs:comment xml:lang="en">Reserved for DBpedia.</rdfs:comment> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/meetingCity"> + <rdfs:label xml:lang="en">meeting city</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Legislature"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Settlement"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/productionStartYear"> + <rdfs:label xml:lang="en">production start year</rdfs:label><rdfs:label xml:lang="nl">productie beginjaar</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#gYear"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/pronunciation"> + <rdfs:label xml:lang="en">pronunciation</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/genereviewsid"> + <rdfs:label xml:lang="en">GeneReviewsID</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Disease"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/unknownOutcomes"> + <rdfs:label xml:lang="en">unknown outcomes</rdfs:label><rdfs:comment xml:lang="en">number of launches with unknown outcomes (or in progress)</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Rocket"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberOfIsland"> + <rdfs:label xml:lang="en">number of islands</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/aircraftHelicopterUtility"> + <rdfs:label xml:lang="en">aircraft helicopter utility</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/MilitaryUnit"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/MeanOfTransportation"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberOfTracks"> + <rdfs:label xml:lang="en">number of tracks</rdfs:label><rdfs:label xml:lang="de">Anzahl der Gleise</rdfs:label><rdfs:comment xml:lang="en">Number of tracks of a railway or railway station.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Infrastructure"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/postalCode"> + <rdfs:label xml:lang="el">ταχυδρομικός κώδικας</rdfs:label><rdfs:label xml:lang="fr">code postal</rdfs:label><rdfs:label xml:lang="en">postal code</rdfs:label><rdfs:label xml:lang="nl">postcode</rdfs:label><rdfs:label xml:lang="pt">código postal</rdfs:label><rdfs:label xml:lang="de">Postleitzahl</rdfs:label><rdfs:comment xml:lang="en">A postal code (known in various countries as a post code, postcode, or ZIP code) is a series of letters and/or digits appended to a postal address for the purpose of sorting mail.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/reservations"> + <rdfs:label xml:lang="en">reservations</rdfs:label><rdfs:comment xml:lang="en">Are reservations required for the establishment or event?</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Restaurant"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/code"> + <rdfs:label xml:lang="en">code</rdfs:label><rdfs:label xml:lang="nl">code</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/slogan"> + <rdfs:label xml:lang="en">slogan</rdfs:label><rdfs:label xml:lang="nl">slogan</rdfs:label><rdfs:label xml:lang="de">Slogan</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Organisation"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/museum"> + <rdfs:label xml:lang="en">museum</rdfs:label><rdfs:label xml:lang="el">μουσείο</rdfs:label><rdfs:label xml:lang="de">museum</rdfs:label><rdfs:label xml:lang="ja">博物館</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Artwork"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Museum"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/emmyAward"> + <rdfs:label xml:lang="en">Emmy Award</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Artist"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Award"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/inflow"> + <rdfs:label xml:lang="en">inflow</rdfs:label><rdfs:label xml:lang="el">εισροή</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Lake"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/River"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/secondTeam"> + <rdfs:label xml:lang="en">second team</rdfs:label><rdfs:label xml:lang="el">δεύτερη ομάδα</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/GrandPrix"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/SportsTeam"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/buriedPlace"> + <rdfs:label xml:lang="en">buried place</rdfs:label><rdfs:label xml:lang="nl">begraafplaats</rdfs:label><rdfs:label xml:lang="el">τόπος θαψίματος</rdfs:label><rdfs:comment xml:lang="en">The place where the person has been buried.</rdfs:comment><rdfs:comment xml:lang="el">Ο τόπος όπου το πρόσωπο έχει θαφτεί.</rdfs:comment><rdfs:comment xml:lang="nl">De plaats waar een persoon is begraven.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Place"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/maidenFlight"> + <rdfs:label xml:lang="en">maiden flight</rdfs:label><rdfs:comment xml:lang="en">date of maiden flight</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Rocket"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/coden"> + <rdfs:label xml:lang="en">CODEN</rdfs:label><rdfs:comment xml:lang="en">CODEN is a six character, alphanumeric bibliographic code, that provides concise, unique and unambiguous identification of the titles of serials and non-serial publications from all subject areas.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/WrittenWork"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/county"> + <rdfs:label xml:lang="el">Επαρχία</rdfs:label><rdfs:label xml:lang="ga">contae</rdfs:label><rdfs:label xml:lang="en">county</rdfs:label><rdfs:label xml:lang="nl">provincie</rdfs:label><rdfs:label xml:lang="pl">hrabstwo</rdfs:label><rdfs:label xml:lang="de">Bezirk</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/startPoint"> + <rdfs:label xml:lang="en">start point</rdfs:label><rdfs:label xml:lang="el">σημείο_αρχής</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Canal"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Place"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/endYear"> + <rdfs:label xml:lang="en">end year</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/firstOlympicEvent"> + <rdfs:label xml:lang="en">first olympic event</rdfs:label><rdfs:label xml:lang="fr">première épreuve olympique</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Sport"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/OlympicEvent"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/inseeCode"> + <rdfs:label xml:lang="en">INSEE code</rdfs:label><rdfs:label xml:lang="nl">INSEE-code</rdfs:label><rdfs:comment xml:lang="en">numerical indexing code used by the French National Institute for Statistics and Economic Studies (INSEE) to identify various entities</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/FrenchSettlement"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/championInSingleFemale"> + <rdfs:label xml:lang="en">champion in single female</rdfs:label><rdfs:label xml:lang="fr">champion en simple femmes</rdfs:label><rdfs:label xml:lang="es">Campeón en simple mujeres</rdfs:label><rdfs:comment xml:lang="en">winner of a competition in the single female session, to distinguish from the double session (as in tennis)</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SportsEvent"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Athlete"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/lastAirDate"> + <rdfs:label xml:lang="en">last air date</rdfs:label><rdfs:label xml:lang="de">Sendeschluss</rdfs:label><rdfs:comment xml:lang="en">The date on which the broadcaster made its last broadcast.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Broadcaster"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/locationCountry"> + <rdfs:label xml:lang="en">location country</rdfs:label><rdfs:label xml:lang="el">Χώρα</rdfs:label><rdfs:label xml:lang="pt">país de localização</rdfs:label><rdfs:comment xml:lang="en">Country the thing is located.</rdfs:comment><rdfs:range rdf:resource="http://dbpedia.org/ontology/Country"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/creatorOfDish"> + <rdfs:label xml:lang="en">creator of dish</rdfs:label><rdfs:comment xml:lang="en">The person that creates (invents) the food (eg. Caesar Cardini is the creator of the Caesar salad).</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Food"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/significantProject"> + <rdfs:label xml:lang="en">significant project</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/license"> + <rdfs:label xml:lang="en">license</rdfs:label><rdfs:label xml:lang="nl">licentie</rdfs:label><rdfs:label xml:lang="el">άδεια</rdfs:label><rdfs:label xml:lang="fr">licence</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Work"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/aircraftHelicopterObservation"> + <rdfs:label xml:lang="en">aircraft helicopter observation</rdfs:label><rdfs:label xml:lang="el">παρατήρηση ελικοφόρου αεροσκάφους</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/MilitaryUnit"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/MeanOfTransportation"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/requirement"> + <rdfs:label xml:lang="en">requirement</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/delegation"> + <rdfs:label xml:lang="en">delegation</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/subMunicipalityType"> + <rdfs:label xml:lang="en">type of municipality</rdfs:label><rdfs:label xml:lang="nl">type gemeente</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SubMunicipality"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/child"> + <rdfs:label xml:lang="el">παιδί</rdfs:label><rdfs:label xml:lang="ar">طفل</rdfs:label><rdfs:label xml:lang="en">child</rdfs:label><rdfs:label xml:lang="ja">子供</rdfs:label><rdfs:label xml:lang="nl">kind</rdfs:label><rdfs:label xml:lang="de">Kind</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/><owl:equivalentProperty rdf:resource="http://schema.org/children"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/isPeerReviewed"> + <rdfs:label xml:lang="en">is peer reviewed</rdfs:label><rdfs:comment xml:lang="en">In academia peer review is often used to determine an academic papers suitability for publication.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/AcademicJournal"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/arberishtName"> + <rdfs:label xml:lang="en">city arberisht name</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/netIncome"> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/><rdfs:label xml:lang="en">net income ($)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Company"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/company"> + <rdfs:label xml:lang="en">company</rdfs:label><rdfs:label xml:lang="nl">organisatie</rdfs:label><rdfs:label xml:lang="el">εταιρεία</rdfs:label><rdfs:label xml:lang="ja">会社</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/Organisation"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/volcanicType"> + <rdfs:label xml:lang="en">volcanic type</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Island"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/intercommunality"> + <rdfs:label xml:lang="en">intercommunality</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/routeDirection"> + <rdfs:label xml:lang="en">route direction</rdfs:label><rdfs:label xml:lang="de">Himmelsrichtung des Verkehrsweges</rdfs:label><rdfs:comment xml:lang="en">The general direction of the route (eg. North-South).</rdfs:comment><rdfs:comment xml:lang="de">Himmelsrichtung des Verkehrsweges (z.B. North-South).</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/RouteOfTransportation"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/thirdCommander"> + <rdfs:label xml:lang="en">third commander</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/MilitaryUnit"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/architectualBureau"> + <rdfs:label xml:lang="en">architectual bureau</rdfs:label><rdfs:label xml:lang="el">αρχιτεκτονική κατασκευή</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/ArchitecturalStructure"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Company"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/wineYear"> + <rdfs:label xml:lang="en">wine year</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/WineRegion"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/almaMater"> + <rdfs:label xml:lang="en">alma mater</rdfs:label><rdfs:label xml:lang="el">σπουδές</rdfs:label><rdfs:comment xml:lang="en">schools that they attended</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/EducationalInstitution"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/viceLeader"> + <rdfs:label xml:lang="en">vice leader</rdfs:label><rdfs:label xml:lang="pt">vicelider</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/delegateMayor"> + <rdfs:label xml:lang="en">delegate mayor</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/shoeNumber"> + <rdfs:label xml:lang="en">shoe number</rdfs:label><rdfs:label xml:lang="nl">schoenmaat</rdfs:label><rdfs:label xml:lang="pt">número do sapato</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#positiveInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/water"> + <rdfs:label xml:lang="en">water</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/lifeExpectancy"> + <rdfs:label xml:lang="en">life expectancy</rdfs:label><rdfs:label xml:lang="pt">expectativa de vida</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/draftTeam"> + <rdfs:label xml:lang="en">draft team</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Athlete"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/SportsTeam"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/filmColourType"> + <rdfs:label xml:lang="en">film colour type</rdfs:label><rdfs:comment xml:lang="en">specifies the colour type of the film i.e. 'colour' or 'b/w'</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Film"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/pseudonym"> + <rdfs:label xml:lang="en">pseudonym</rdfs:label><rdfs:label xml:lang="nl">pseudoniem</rdfs:label><rdfs:label xml:lang="de">Pseudonym</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/department"> + <rdfs:label xml:lang="en">department</rdfs:label><rdfs:label xml:lang="nl">afdeling</rdfs:label><rdfs:label xml:lang="fr">département</rdfs:label><rdfs:label xml:lang="eu">eskualdea</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/isPartOf"> + <rdfs:label xml:lang="en">is part of</rdfs:label><rdfs:label xml:lang="de">ist ein Teil von</rdfs:label> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/operatedBy"> + <rdfs:label xml:lang="en">operated by</rdfs:label><rdfs:label xml:lang="de">betrieben von</rdfs:label><rdfs:comment xml:lang="en">Organisation or city who is the operator of the ArchitecturalStructure. Not to confuse with maintainer or the owner.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/ArchitecturalStructure"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/oldDistrict"> + <rdfs:label xml:lang="en">old district</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/cluster"> + <rdfs:label xml:lang="en">cluster</rdfs:label><rdfs:label xml:lang="tr">birlik</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Galaxy"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/salary"> + <rdfs:label xml:lang="en">salary ($)</rdfs:label><rdfs:label xml:lang="el">μισθός ($)</rdfs:label><rdfs:label xml:lang="de">Gehalt ($)</rdfs:label><rdfs:label xml:lang="ja">給料 ($)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/addressInRoad"> + <rdfs:label xml:lang="en">address in road</rdfs:label><rdfs:label xml:lang="de">Adresse in Straße</rdfs:label><rdfs:label xml:lang="el">διεύθυνση στον δρόμο</rdfs:label><rdfs:comment xml:lang="en">A building, organisation or other thing that is located in the road.</rdfs:comment><rdfs:comment xml:lang="el">Ένα κτήριο, οργανισμός ή κάτι άλλο που βρίσκεται στον δρόμο.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Road"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/ascentDate"> + <rdfs:label xml:lang="en">access date</rdfs:label><rdfs:label xml:lang="el">ημερομηνία ανάβασης</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Mountain"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#gYear"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/rebuildDate"> + <rdfs:label xml:lang="en">rebuild date</rdfs:label><rdfs:label xml:lang="nl">herbouw datum</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/rocket"> + <rdfs:label xml:lang="en">rocket</rdfs:label><rdfs:label xml:lang="fr">fusée</rdfs:label><rdfs:label xml:lang="el">ρουκέτα</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Spacecraft"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Rocket"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/refgen"> + <rdfs:label xml:lang="en">reference for general data</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/lunarRover"> + <rdfs:label xml:lang="en">lunar rover</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SpaceMission"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/MeanOfTransportation"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/bioavailability"> + <rdfs:label xml:lang="en">Bioavailability</rdfs:label><rdfs:comment xml:lang="en">"The rate and extent to which the active ingredient or active moiety is absorbed from a drug product and becomes available at the site of action. For drug products that are not intended to be absorbed into the bloodstream, bioavailability may be assessed by measurements intended to reflect the rate and extent to which the active ingredient or active moiety becomes available at the site of action (21CFR320.1)."</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Drug"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#float"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/homeArena"> + <rdfs:label xml:lang="en">home arena</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/Arena"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/deathYear"> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/><rdfs:label xml:lang="en">death year</rdfs:label><rdfs:label xml:lang="nl">jaar van overlijden</rdfs:label><rdfs:label xml:lang="de">Sterbejahr</rdfs:label><rdfs:label xml:lang="ja">没年</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#gYear"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/dateUnveiled"> + <rdfs:label xml:lang="en">date unveiled</rdfs:label><rdfs:label xml:lang="nl">datum onthulling</rdfs:label><rdfs:comment xml:lang="en">Designates the unveiling date</rdfs:comment><rdfs:comment xml:lang="nl">Duidt de datum van onthulling aan</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Monument"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/alias"> + <rdfs:label xml:lang="el">ψευδώνυμο</rdfs:label><rdfs:label xml:lang="fr">alias</rdfs:label><rdfs:label xml:lang="en">alias</rdfs:label><rdfs:label xml:lang="ja">別名</rdfs:label><rdfs:label xml:lang="nl">alias</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/formerCoach"> + <rdfs:label xml:lang="en">former coach</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/FigureSkater"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/grossDomesticProductRank"> + <rdfs:label xml:lang="en">gross domestic product rank</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberOfMembers"> + <rdfs:label xml:lang="el">αριθμός μελών</rdfs:label><rdfs:label xml:lang="fr">nombre de membres</rdfs:label><rdfs:label xml:lang="en">number of members</rdfs:label><rdfs:label xml:lang="pt">número de membros</rdfs:label><rdfs:label xml:lang="es">numero de miembros</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Legislature"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/alpsSupergroup"> + <rdfs:label xml:lang="en">Alps supergroup</rdfs:label><rdfs:label xml:lang="el">Alps υπερομάδα</rdfs:label><rdfs:label xml:lang="it">supergruppo alpino</rdfs:label><rdfs:comment xml:lang="en">the Alps supergroup to which the mountain belongs, according to the SOIUSA classification</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Mountain"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/MountainRange"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberOfTurns"> + <rdfs:label xml:lang="en">number of turns</rdfs:label><rdfs:label xml:lang="fr">nombre de virages</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/RaceTrack"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/europeanAffiliation"> + <rdfs:label xml:lang="en">european affiliation</rdfs:label><rdfs:label xml:lang="pt">afiliacao europeia</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PoliticalParty"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/lastFlight"> + <rdfs:label xml:lang="en">last flight</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SpaceShuttle"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/SpaceMission"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/rocketFunction"> + <rdfs:label xml:lang="en">rocket function</rdfs:label><rdfs:comment xml:lang="en">purpose of the rocket</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Rocket"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/dissolved"> + <rdfs:label xml:lang="en">dissolved</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SoccerClub"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/latestPreviewDate"> + <rdfs:label xml:lang="en">latest preview date</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Software"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/boiler"> + <rdfs:label xml:lang="en">boiler</rdfs:label><rdfs:label xml:lang="el">δοχείο βράσης</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Locomotive"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/saint"> + <rdfs:label xml:lang="en">saint</rdfs:label><rdfs:label xml:lang="el">άγιος</rdfs:label><rdfs:label xml:lang="nl">heilige</rdfs:label><rdfs:label xml:lang="pt">santo</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Saint"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/operatingSystem"> + <rdfs:label xml:lang="en">operating system</rdfs:label><rdfs:label xml:lang="nl">besturingssysteem</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Software"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/narrator"> + <rdfs:label xml:lang="en">narrator</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Film"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/lowerEarthOrbitPayload"> + <rdfs:label xml:lang="en">lower earth orbit payload (g)</rdfs:label><rdfs:comment xml:lang="en">Payload mass in a typical Low Earth orbit</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Rocket"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/programmingLanguage"> + <rdfs:label xml:lang="en">programming language</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Software"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberOfMatches"> + <rdfs:label xml:lang="en">number of matches or caps</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/CareerStation"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/maximumArea"> + <rdfs:label xml:lang="en">maximum area</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/facultySize"> + <rdfs:label xml:lang="en">faculty size</rdfs:label><rdfs:comment xml:lang="en">number of faculty members</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/EducationalInstitution"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/secondDriver"> + <rdfs:label xml:lang="en">second driver</rdfs:label><rdfs:label xml:lang="el">δεύτερος οδηγός</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/GrandPrix"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/placeOfBurial"> + <rdfs:label xml:lang="en">place of burial</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Monarch"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/currentProduction"> + <rdfs:label xml:lang="en">current production</rdfs:label><rdfs:comment xml:lang="en">The current production running in the theatre.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Theatre"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/flyingHours"> + <rdfs:label xml:lang="en">flying hours (s)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/MilitaryUnit"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/chromosome"> + <rdfs:label xml:lang="en">chromosome</rdfs:label><rdfs:label xml:lang="el">χρωμόσωμα</rdfs:label><rdfs:label xml:lang="ja">染色体</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Protein"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/mapDescription"> + <rdfs:label xml:lang="en">map description</rdfs:label><rdfs:label xml:lang="nl">kaart omschrijving</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/primate"> + <rdfs:label xml:lang="en">Primite</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/ChristianDoctrine"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/editor"> + <rdfs:label xml:lang="en">editor</rdfs:label><rdfs:label xml:lang="el">συντάκτης</rdfs:label><rdfs:label xml:lang="de">Herausgeber</rdfs:label><rdfs:label xml:lang="nl">redacteur</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/Agent"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/symbol"> + <rdfs:label xml:lang="en">symbol</rdfs:label><rdfs:comment xml:lang="en">HUGO Gene Symbol</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Biomolecule"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/headquarter"> + <rdfs:label xml:lang="en">headquarter</rdfs:label><rdfs:label xml:lang="el">αρχηγείο</rdfs:label><rdfs:label xml:lang="de">Hauptsitz</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Organisation"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/richestCountry"> + <rdfs:label xml:lang="en">richest country</rdfs:label><rdfs:label xml:lang="el">πλουσιότερη χώρα</rdfs:label><rdfs:label xml:lang="pt">país mais rico</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Country"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Country"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/nonFictionSubject"> + <rdfs:label xml:lang="en">non-fiction subject</rdfs:label><rdfs:label xml:lang="nl">non-fictie onderwerp</rdfs:label><rdfs:comment xml:lang="en">The subject of a non-fiction book (e.g.: History, Biography, Cookbook, Climate change, ...).</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Book"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberOfSpans"> + <rdfs:label xml:lang="en">number of spans</rdfs:label><rdfs:label xml:lang="de">Anzahl der Bögen</rdfs:label><rdfs:comment xml:lang="en">Number of spans or arches.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Bridge"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/isoCode"> + <rdfs:label xml:lang="en">iso code of a place</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/shipDraft"> + <rdfs:label xml:lang="en">ship draft (μ)</rdfs:label><rdfs:comment xml:lang="en">The draft (or draught) of a ship's hull is the vertical distance between the waterline and the bottom of the hull (keel), with the thickness of the hull included; in the case of not being included the draft outline would be obtained.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Ship"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/cornishName"> + <rdfs:label xml:lang="en">cornish name</rdfs:label><rdfs:label xml:lang="nl">cornish naam</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Settlement"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/foundation"> + <rdfs:label xml:lang="en">foundation</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/pistonStroke"> + <rdfs:label xml:lang="en">piston stroke (μ)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/AutomobileEngine"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/endYearOfInsertion"> + <rdfs:label xml:lang="en">end year of insertion</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/AutomobileEngine"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#gYear"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/pdb"> + <rdfs:label xml:lang="en">PDB</rdfs:label><rdfs:label xml:lang="ja">PDB</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Protein"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/grossDomesticProductPerPeople"> + <rdfs:label xml:lang="en">gross domestic product per people</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/surfaceArea"> + <rdfs:label xml:lang="en">surface area (m2)</rdfs:label><rdfs:label xml:lang="el">έκταση (m2)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Planet"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/sardinianName"> + <rdfs:label xml:lang="en">city sardinian name</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/significantDesign"> + <rdfs:label xml:lang="en">significant design</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Architect"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/governorate"> + <rdfs:label xml:lang="en">governorate</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/religiousOrder"> + <rdfs:label xml:lang="en">religious order</rdfs:label><rdfs:label xml:lang="nl">religieuze orde</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Monastry"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/ClericalOrder"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/genomeDB"> + <rdfs:label xml:lang="en">Genome DB</rdfs:label><rdfs:label xml:lang="ja">Genome DB</rdfs:label><rdfs:comment xml:lang="en">the edition of the database used (i.e. hg19)</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/GeneLocation"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/cultivatedVariety"> + <rdfs:label xml:lang="en">cultivar</rdfs:label><rdfs:comment xml:lang="en">Name of the cultivar (cultivated variety)</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Plant"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/CultivatedVariety"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/casualties"> + <rdfs:label xml:lang="fr">pertes</rdfs:label><rdfs:label xml:lang="en">casualties</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/branchFrom"> + <rdfs:label xml:lang="en">branch from</rdfs:label><rdfs:label xml:lang="el">παράρτημα από</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/AnatomicalStructure"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/AnatomicalStructure"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/commissioner"> + <rdfs:label xml:lang="en">commissioner</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/boilingPoint"> + <rdfs:label xml:lang="el">σημείο βρασμού (K)</rdfs:label><rdfs:label xml:lang="fr">point d'ébullition (K)</rdfs:label><rdfs:label xml:lang="en">boiling point (K)</rdfs:label><rdfs:label xml:lang="ja">沸点 (K)</rdfs:label><rdfs:label xml:lang="nl">kookpunt (K)</rdfs:label><rdfs:label xml:lang="de">Siedepunkt (K)</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/drama"> + <rdfs:label xml:lang="en">drama</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/FictionalCharacter"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Drama"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/block"> + <rdfs:label xml:lang="en">block</rdfs:label><rdfs:label xml:lang="tr">blok</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/VolleyballPlayer"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/ceeb"> + <rdfs:label xml:lang="en">ceeb</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/School"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberOfRockets"> + <rdfs:label xml:lang="en">number of rockets</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Aircraft"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/settlementAttached"> + <rdfs:label xml:lang="en">settlement attached</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/AlgerianSettlement"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Place"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/militaryRank"> + <rdfs:label xml:lang="en">military rank</rdfs:label><rdfs:comment xml:lang="en">The highest rank achieved by a person.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/MilitaryPerson"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/purchasingPowerParity"> + <rdfs:label xml:lang="en">purchasing power parity</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/runwayWidth"> + <rdfs:label xml:lang="en">width of runway (μ)</rdfs:label><rdfs:label xml:lang="ja">滑走路の全幅 (μ)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Airport"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/playerInTeam"> + <rdfs:label xml:lang="en">player in team</rdfs:label><rdfs:label xml:lang="el">παίχτης σε ομάδα</rdfs:label><rdfs:comment xml:lang="en">A person playing for the sports team.</rdfs:comment><rdfs:comment xml:lang="el">Άτομο που παίζει για αθλητική ομάδα.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SportsTeam"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberOfFilms"> + <rdfs:label xml:lang="en">number of films</rdfs:label><rdfs:label xml:lang="el">αριθμός ταινιών</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/AdultActor"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/youthYears"> + <rdfs:label xml:lang="en">youth years</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SoccerPlayer"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#gYear"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/voltageOfElectrification"> + <rdfs:label xml:lang="en">voltage of electrification (V)</rdfs:label><rdfs:label xml:lang="de">Voltzahl der Elektrifizierung (V)</rdfs:label><rdfs:comment xml:lang="en">Voltage of the electrification system.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/RouteOfTransportation"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/logo"> + <rdfs:label xml:lang="en">logo</rdfs:label><rdfs:label xml:lang="el">λογότυπο</rdfs:label><rdfs:label xml:lang="nl">logo</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/garrison"> + <rdfs:label xml:lang="en">garrison</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/MilitaryUnit"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/populationAsOf"> + <rdfs:label xml:lang="en">population as of</rdfs:label><rdfs:label xml:lang="nl">bevolking vanaf</rdfs:label><rdfs:label xml:lang="fr">population en date de</rdfs:label><rdfs:label xml:lang="el">χρονιά_απογραφής</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/firstDriverTeam"> + <rdfs:label xml:lang="en">winning team</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/GrandPrix"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/SportsTeam"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/nutsCode"> + <rdfs:label xml:lang="en">NUTS code</rdfs:label><rdfs:label xml:lang="nl">NUTS-code:</rdfs:label><rdfs:comment xml:lang="en">Nomenclature of Territorial Units for Statistics (NUTS) is a geocode standard for referencing the subdivisions of countries for statistical purposes. The standard is developed and regulated by the European Union, and thus only covers the member states of the EU in detail.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/trainer"> + <rdfs:label xml:lang="en">trainer</rdfs:label><rdfs:label xml:lang="el">εκπαιδευτής</rdfs:label><rdfs:label xml:lang="fr">entraîneur</rdfs:label><rdfs:label xml:lang="nl">trainer</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Athlete"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/landingDate"> + <rdfs:label xml:lang="en">landing date</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SpaceMission"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/coach"> + <rdfs:label xml:lang="en">coach</rdfs:label><rdfs:label xml:lang="el">προπονητής</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/derivative"> + <rdfs:label xml:lang="en">derivative</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/MusicGenre"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/MusicGenre"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/reopeningDate"> + <rdfs:label xml:lang="en">reopening date</rdfs:label><rdfs:comment xml:lang="en">Date of reopening the architectural structure.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/ArchitecturalStructure"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/discovered"> + <rdfs:label xml:lang="en">discovered</rdfs:label><rdfs:label xml:lang="pt">descobridor</rdfs:label><rdfs:label xml:lang="el">Ημερομηνία ανακάλυψης</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Planet"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/metropolitanBorough"> + <rdfs:label xml:lang="en">metropolitan borough</rdfs:label><rdfs:label xml:lang="nl">stadswijk</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/membershipAsOf"> + <rdfs:label xml:lang="en">date membership established</rdfs:label><rdfs:label xml:lang="nl">datum vaststellen ledental</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Organisation,_Parish"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberOfGoals"> + <rdfs:label xml:lang="en">number of goals scored</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/CareerStation"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/coastLine"> + <rdfs:label xml:lang="en">coast line (μ)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Settlement"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/trackLength"> + <rdfs:label xml:lang="en">track length (μ)</rdfs:label><rdfs:label xml:lang="de">Streckenlänge (μ)</rdfs:label><rdfs:comment xml:lang="en">Length of the track. Wikipedians usually do not differentiate between track length and line lenght.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/RouteOfTransportation"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberOfVisitorsAsOf"> + <rdfs:label xml:lang="en">number of visitors as of</rdfs:label><rdfs:comment xml:lang="en">The year in which number of visitors occurred.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/HistoricPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#gYear"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/premierePlace"> + <rdfs:label xml:lang="en">premiere place</rdfs:label><rdfs:comment xml:lang="en">The theatre and/or city the play was first performed in.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Play"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/completionDate"> + <rdfs:label xml:lang="en">completion date</rdfs:label><rdfs:label xml:lang="nl">datum van oplevering</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Work"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/cableCar"> + <rdfs:label xml:lang="en">cable car</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/arrondissement"> + <rdfs:label xml:lang="en">arrondissement</rdfs:label><rdfs:label xml:lang="nl">arrondissement</rdfs:label><rdfs:label xml:lang="fr">arrondissement</rdfs:label><rdfs:label xml:lang="el">διαμέρισμα</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/academicAdvisor"> + <rdfs:label xml:lang="en">academic advisor</rdfs:label><rdfs:label xml:lang="nl">promotor</rdfs:label><rdfs:label xml:lang="el">ακαδημαϊκοί_σύμβουλοι</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Scientist"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/added"> + <rdfs:label xml:lang="en">added</rdfs:label><rdfs:label xml:lang="el">προστιθέμενη</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/HistoricPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/dorlandsPrefix"> + <rdfs:label xml:lang="en">Dorlands prefix</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/AnatomicalStructure"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/routeTypeAbbreviation"> + <rdfs:label xml:lang="en">route type abbreviation</rdfs:label><rdfs:comment xml:lang="en">The route type abbreviation (eg.: I for Interstate, M for Motorway or NJ for New Jersey Route).</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/RouteOfTransportation"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/ward"> + <rdfs:label xml:lang="en">ward of a liechtenstein settlement</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/LiechtensteinSettlement"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/summerAppearances"> + <rdfs:label xml:lang="en">summer appearances</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/OlympicResult"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/OlympicResult"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/minorityLeader"> + <rdfs:label xml:lang="en">minority leader</rdfs:label><rdfs:comment xml:lang="en">number of office holder</rdfs:comment><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/freeFlightTime"> + <rdfs:label xml:lang="en">free flight time (s)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Spacecraft"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/birthDate"> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/><rdfs:label xml:lang="el">ημερομηνία_γέννησης</rdfs:label><rdfs:label xml:lang="fr">date de naissance</rdfs:label><rdfs:label xml:lang="en">birth date</rdfs:label><rdfs:label xml:lang="ja">生年月日</rdfs:label><rdfs:label xml:lang="nl">geboortedatum</rdfs:label><rdfs:label xml:lang="bn">জন্মদিন</rdfs:label><rdfs:label xml:lang="de">Geburtsdatum</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/><owl:equivalentProperty rdf:resource="http://schema.org/birthDate"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/eruption"> + <rdfs:label xml:lang="en">eruption</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Island"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/perCapitaIncomeAsOf"> + <rdfs:label xml:lang="en">per capita income as of</rdfs:label><rdfs:label xml:lang="pt">renda per capita em</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/hasNaturalBust"> + <rdfs:label xml:lang="en">has natural bust</rdfs:label><rdfs:label xml:lang="pt">tem busto natural</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/circuitLength"> + <rdfs:label xml:lang="en">circuit length (μ)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/FormulaOneRacing"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberOfBronzeMedalsWon"> + <rdfs:label xml:lang="en">number of bronze medals won</rdfs:label><rdfs:label xml:lang="fr">nomber de médailles de bronze gagnées</rdfs:label><rdfs:label xml:lang="es">cantidad de medallas de bronce ganadas</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SportCompetitionResult"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/unitedStatesNationalBridgeId"> + <rdfs:label xml:lang="en">United States National Bridge ID</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Bridge"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/draftYear"> + <rdfs:label xml:lang="en">draft year</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#gYear"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/endCareer"> + <rdfs:label xml:lang="en">end career</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/sport"> + <rdfs:label xml:lang="en">sport</rdfs:label><rdfs:label xml:lang="el">άθλημα</rdfs:label><rdfs:label xml:lang="fr">sport</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/Sport"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/id"> + <rdfs:label xml:lang="en">id</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/WorldHeritageSite"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/averageDepthQuote"> + <rdfs:label xml:lang="en">average depth quote</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/emedicineTopic"> + <rdfs:label xml:lang="en">eMedicine subject</rdfs:label><rdfs:label xml:lang="nl">eMedicine onderwerp</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Disease"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/landingSite"> + <rdfs:label xml:lang="en">landing site</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SpaceMission"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/capitalElevation"> + <rdfs:label xml:lang="en">capital elevation (μ)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Island"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/crownDependency"> + <rdfs:label xml:lang="en">crown dependency</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/City"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/prominence"> + <rdfs:label xml:lang="en">prominence (μ)</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/genus"> + <rdfs:label xml:lang="en">genus</rdfs:label><rdfs:label xml:lang="nl">geslacht</rdfs:label><rdfs:label xml:lang="ja">属_(分類学)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Species"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/stateDelegate"> + <rdfs:label xml:lang="en">state delegate</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/chairmanTitle"> + <rdfs:label xml:lang="en">chairman title</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SoccerClub"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/splitFromParty"> + <rdfs:label xml:lang="en">split from party</rdfs:label><rdfs:label xml:lang="de">Abspaltung von Partei</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PoliticalParty"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/PoliticalParty"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/engineer"> + <rdfs:label xml:lang="en">engineer</rdfs:label><rdfs:label xml:lang="nl">ingenieur</rdfs:label><rdfs:label xml:lang="de">Ingenieur</rdfs:label><rdfs:label xml:lang="el">μηχανικός</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/officerInCharge"> + <rdfs:label xml:lang="en">officer in charge</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/University"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/cylinderCount"> + <rdfs:label xml:lang="en">cylinder count</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Locomotive"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/debut"> + <rdfs:label xml:lang="en">debut</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Wrestler"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/callsignMeaning"> + <rdfs:label xml:lang="en">call sign meaning</rdfs:label><rdfs:comment xml:lang="en">The out written call sign.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Broadcaster"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/entrezgene"> + <rdfs:label xml:lang="en">EntrezGene</rdfs:label><rdfs:label xml:lang="ja">EntrezGene</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Biomolecule"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/peopleName"> + <rdfs:label xml:lang="en">peopleName</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/gun"> + <rdfs:label xml:lang="en">aircraft gun</rdfs:label><rdfs:label xml:lang="el">Πολυβόλο</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Aircraft"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/dateExtended"> + <rdfs:label xml:lang="en">date extended</rdfs:label><rdfs:label xml:lang="el">επέκταση</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Canal"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/ratio"> + <rdfs:label xml:lang="en">ratio</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/School"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/winsAtAlpg"> + <rdfs:label xml:lang="en">wins at ALPG</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/GolfPlayer"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/playRole"> + <rdfs:label xml:lang="en">play role</rdfs:label> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/germanName"> + <rdfs:label xml:lang="en">city german name</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/enemy"> + <rdfs:label xml:lang="en">enemy</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/FictionalCharacter"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Species"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/ra"> + <rdfs:label xml:lang="en">ra</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/openswarm"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/minimumElevation"> + <rdfs:label xml:lang="en">minimum elevation (μ)</rdfs:label><rdfs:label xml:lang="el">βάση (μ)</rdfs:label><rdfs:comment xml:lang="en">minimum elevation above the sea level</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/inclination"> + <rdfs:label xml:lang="en">inclination</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Spacecraft"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#float"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/sharingOutPopulation"> + <rdfs:label xml:lang="en">sharing out population</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/otherFunction"> + <rdfs:label xml:lang="en">other function</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/blackSkiPisteNumber"> + <rdfs:label xml:lang="en">black ski piste number</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/translatedMotto"> + <rdfs:label xml:lang="en">translated motto</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/subsequentWork"> + <rdfs:label xml:lang="en">subsequent work</rdfs:label><rdfs:label xml:lang="nl">vervolg werk</rdfs:label><rdfs:label xml:lang="el">επόμενη δημιουργία</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Work"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Work"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/associatedRocket"> + <rdfs:label xml:lang="en">associated rocket</rdfs:label><rdfs:label xml:lang="el">συνδεόμενος πύραυλος</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/LaunchPad"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Rocket"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/shoreLength"> + <rdfs:label xml:lang="en">shore length (μ)</rdfs:label><rdfs:label xml:lang="el">μήκος_όχθης (μ)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Lake"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/elevation"> + <rdfs:label xml:lang="en">elevation (μ)</rdfs:label><rdfs:label xml:lang="nl">hoogte (μ)</rdfs:label><rdfs:label xml:lang="el">υψόμετρο (μ)</rdfs:label><rdfs:label xml:lang="pt">altitude (μ)</rdfs:label><rdfs:comment xml:lang="en">average elevation above the sea level</rdfs:comment><rdfs:comment xml:lang="pt">altitude média acima do nível do mar</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/sourceCountry"> + <rdfs:label xml:lang="en">source country</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/Country"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/workArea"> + <rdfs:label xml:lang="en">work area (m2)</rdfs:label><rdfs:label xml:lang="de">Arbeitsplätze (m2)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Building"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/gnl"> + <rdfs:label xml:lang="en">gnl</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/sourceRegion"> + <rdfs:label xml:lang="en">source region</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberOfAcademicStaff"> + <rdfs:label xml:lang="en">number of academic staff</rdfs:label><rdfs:label xml:lang="el">αριθμός ακαδημαϊκού προσωπικού</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/EducationalInstitution"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/gaelicName"> + <rdfs:label xml:lang="en">gaelic name</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Settlement"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/colorChart"> + <rdfs:label xml:lang="en">colorChart</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/FictionalCharacter"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/climate"> + <rdfs:label xml:lang="en">climate</rdfs:label><rdfs:label xml:lang="pt">clima</rdfs:label><rdfs:label xml:lang="de">klima</rdfs:label><rdfs:label xml:lang="nl">klimaat</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/winsAtMajors"> + <rdfs:label xml:lang="en">wins at majors</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/GolfPlayer"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/frioulanName"> + <rdfs:label xml:lang="en">city frioulan name</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberOfSportsEvents"> + <rdfs:label xml:lang="en">number of sports events</rdfs:label><rdfs:label xml:lang="el">αριθμός αθλητικών γεγονότων</rdfs:label><rdfs:label xml:lang="fr">numbre d'épreuves sportives</rdfs:label><rdfs:label xml:lang="es">numero de dpruebas deportivas</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/related"> + <rdfs:label xml:lang="en">related</rdfs:label><rdfs:label xml:lang="nl">gerelateerd</rdfs:label> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/ceo"> + <rdfs:label xml:lang="en">chief executive officer</rdfs:label><rdfs:label xml:lang="de">Geschäftsführer</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Organisation"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/otherAppearances"> + <rdfs:label xml:lang="en">other appearances</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/OlympicResult"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/OlympicResult"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/presidentRegionalCouncil"> + <rdfs:label xml:lang="en">president of the regional council</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/port1"> + <rdfs:label xml:lang="en">port1</rdfs:label><rdfs:comment xml:lang="en">first docking port of a spacecraft</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Spacecraft"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/distanceToDublin"> + <rdfs:label xml:lang="en">distance to Dublin (μ)</rdfs:label><rdfs:label xml:lang="el">απόσταση από το Δουβλίνο (μ)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Settlement"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/calabrianName"> + <rdfs:label xml:lang="en">city calabrian name</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/populationUrbanDensity"> + <rdfs:label xml:lang="en">population urban density (/sqkm)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/titleDate"> + <rdfs:label xml:lang="en">title date</rdfs:label><rdfs:label xml:lang="nl">titel datum</rdfs:label><rdfs:label xml:lang="pt">data do titulo</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/largestCountry"> + <rdfs:label xml:lang="en">largest country</rdfs:label><rdfs:label xml:lang="pt">maior país</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/closingYear"> + <rdfs:label xml:lang="en">closing year</rdfs:label><rdfs:label xml:lang="nl">Sluitingsjaar</rdfs:label><rdfs:label xml:lang="de">Schließungsjahr</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#gYear"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/education"> + <rdfs:label xml:lang="en">education</rdfs:label><rdfs:label xml:lang="nl">opleiding</rdfs:label><rdfs:label xml:lang="fr">éducation</rdfs:label><rdfs:label xml:lang="ja">教育</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/publicationDate"> + <rdfs:label xml:lang="en">publication date</rdfs:label><rdfs:label xml:lang="nl">publicatiedatum</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/closingFilm"> + <rdfs:label xml:lang="en">closing film</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/FilmFestival"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Film"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/championInMixedDouble"> + <rdfs:label xml:lang="en">champion in mixed double</rdfs:label><rdfs:label xml:lang="nl">kampioen gemengd dubbelspel</rdfs:label><rdfs:label xml:lang="fr">champion en double mixte</rdfs:label><rdfs:label xml:lang="es">Campeón en doble mixto</rdfs:label><rdfs:comment xml:lang="en">winner of a competition in the mixed double session (as in tennis)</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SportsEvent"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Athlete"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/runwayLength"> + <rdfs:label xml:lang="en">length of runway (μ)</rdfs:label><rdfs:label xml:lang="de">Start- und Landebahnlänge (μ)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Airport"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/phonePrefix"> + <rdfs:label xml:lang="en">phone prefix</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/government"> + <rdfs:label xml:lang="en">government</rdfs:label><rdfs:label xml:lang="fr">gouvernement</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Island"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/updated"> + <rdfs:label xml:lang="en">updated</rdfs:label><rdfs:comment xml:lang="en">The last update date of a resource</rdfs:comment><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/largestSettlement"> + <rdfs:label xml:lang="en">largest settlement</rdfs:label><rdfs:label xml:lang="nl">grootste plaats</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/space"> + <rdfs:label xml:lang="en">space</rdfs:label><rdfs:label xml:lang="de">Raum</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Building"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/associatedAct"> + <rdfs:label xml:lang="en">associated act</rdfs:label><rdfs:label xml:lang="el">συνδεδεμένη πράξη</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Artist"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Artist"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/alpsMainPart"> + <rdfs:label xml:lang="en">Alps main part</rdfs:label><rdfs:label xml:lang="el">κύριο μέρος των άλπεων</rdfs:label><rdfs:label xml:lang="it">grande parte alpina</rdfs:label><rdfs:comment xml:lang="en">the Alps main part to which the mountain belongs, according to the SOIUSA classification</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Mountain"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/MountainRange"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/language"> + <rdfs:label xml:lang="el">γλώσσα</rdfs:label><rdfs:label xml:lang="fr">langue</rdfs:label><rdfs:label xml:lang="en">language</rdfs:label><rdfs:label xml:lang="nl">taal</rdfs:label><rdfs:label xml:lang="pt">língua</rdfs:label><rdfs:label xml:lang="de">Sprache</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/Language"/><owl:equivalentProperty rdf:resource="http://schema.org/inLanguage"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/board"> + <rdfs:label xml:lang="en">board</rdfs:label><rdfs:label xml:lang="el">επιβιβάζομαι</rdfs:label><rdfs:label xml:lang="nl">bestuur</rdfs:label><rdfs:label xml:lang="ja">取締役会</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/sourceConfluenceElevation"> + <rdfs:label xml:lang="en">source confluence elevation (μ)</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/interest"> + <rdfs:label xml:lang="en">interest</rdfs:label><rdfs:label xml:lang="el">ενδιαφέρον</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SiteOfSpecialScientificInterest"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/chorusCharacterInPlay"> + <rdfs:label xml:lang="en">chorus character in play</rdfs:label><rdfs:comment xml:lang="en">The name of the (Greek) chorus character in play.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Play"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/shipLaunch"> + <rdfs:label xml:lang="en">ship launched</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Ship"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/ground"> + <rdfs:label xml:lang="en">ground</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SoccerClub"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Place"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/sourceConfluencePosition"> + <rdfs:label xml:lang="en">source confluence position</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/River"/><rdfs:range rdf:resource="http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/productionYears"> + <rdfs:label xml:lang="en">production years</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Aircraft"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/lastLaunchRocket"> + <rdfs:label xml:lang="en">last launch rocket</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/LaunchPad"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Rocket"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/cityRank"> + <rdfs:label xml:lang="en">city rank</rdfs:label><rdfs:label xml:lang="de">Rang Stadt</rdfs:label><rdfs:comment xml:lang="en">Place of the building in the list of the highest buildings in the city</rdfs:comment><rdfs:comment xml:lang="de">Der Platz des Gebäudes in der Liste der höchsten Gebäude der Stadt</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Skyscraper"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/lunarModule"> + <rdfs:label xml:lang="en">lunar module</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SpaceMission"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/cost"> + <rdfs:label xml:lang="en">cost ($)</rdfs:label><rdfs:label xml:lang="nl">kosten ($)</rdfs:label><rdfs:label xml:lang="el">κόστος ($)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/ArchitecturalStructure"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/fastestDriverTeam"> + <rdfs:label xml:lang="en">fastest driver team</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/GrandPrix"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/SportsTeam"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/episodeNumber"> + <rdfs:label xml:lang="en">episode number</rdfs:label><rdfs:comment xml:lang="en">The episode number of the TelevisionEpisode.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/TelevisionEpisode"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/><owl:equivalentProperty rdf:resource="http://schema.org/episodeNumber"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/custodian"> + <rdfs:label xml:lang="en">custodian</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/School"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/foresterDistrict"> + <rdfs:label xml:lang="en">foresterDistrict</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/party"> + <rdfs:label xml:lang="el">πάρτυ</rdfs:label><rdfs:label xml:lang="en">party</rdfs:label><rdfs:label xml:lang="ja">政党</rdfs:label><rdfs:label xml:lang="nl">partij</rdfs:label><rdfs:label xml:lang="de">Partei</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/PoliticalParty"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/partyNumber"> + <rdfs:label xml:lang="en">party number</rdfs:label><rdfs:label xml:lang="pt">número do partido</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/date"> + <rdfs:label xml:lang="en">date</rdfs:label><rdfs:label xml:lang="nl">datum</rdfs:label><rdfs:label xml:lang="el">ημερομηνία</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/otherParty"> + <rdfs:label xml:lang="en">other party</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/OfficeHolder"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/PoliticalParty"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/afdbId"> + <rdfs:label xml:lang="en">afdb id</rdfs:label><rdfs:label xml:lang="el">afdb id</rdfs:label><rdfs:label xml:lang="pt">código no afdb</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Film"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/escapeVelocity"> + <rdfs:label xml:lang="en">escape velocity (kmh)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Planet"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/otherInformation"> + <rdfs:label xml:lang="en">other information of a settlement</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Settlement"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/member"> + <rdfs:label xml:lang="en">member</rdfs:label><rdfs:label xml:lang="nl">lid van</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/FictionalCharacter"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/choreographer"> + <rdfs:label xml:lang="en">choreographer</rdfs:label><rdfs:label xml:lang="nl">choreograaf</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/FigureSkater"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/maximumDepthQuote"> + <rdfs:label xml:lang="en">maximum depth quote</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/appearancesInLeague"> + <rdfs:label xml:lang="en">appearances in league</rdfs:label><rdfs:label xml:lang="el">εμφανίσεις στο πρωτάθλημα</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SoccerPlayer"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/licenceNumber"> + <rdfs:label xml:lang="en">licence number</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/crewMember"> + <rdfs:label xml:lang="en">crew member</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SpaceMission"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Astronaut"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/jointCommunity"> + <rdfs:label xml:lang="en">joint community</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Settlement"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/capital"> + <rdfs:label xml:lang="el">πρωτεύουσα</rdfs:label><rdfs:label xml:lang="fr">capital</rdfs:label><rdfs:label xml:lang="en">capital</rdfs:label><rdfs:label xml:lang="nl">hoofdstad</rdfs:label><rdfs:label xml:lang="pt">capital</rdfs:label><rdfs:label xml:lang="de">Hauptstadt</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/City"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/eyes"> + <rdfs:label xml:lang="en">eyes</rdfs:label><rdfs:label xml:lang="nl">ogen</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/FictionalCharacter"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/isPartOfAnatomicalStructure"> + <rdfs:label xml:lang="en">is part of anatomical structure</rdfs:label><rdfs:label xml:lang="de">ist ein Teil von anatomischer Struktur</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Brain"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/AnatomicalStructure"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/deanery"> + <rdfs:label xml:lang="en">deanery</rdfs:label><rdfs:label xml:lang="nl">proosdij</rdfs:label><rdfs:comment xml:lang="en">Dioceses and parishes should know which deaneries there are</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Diocese,_Parish"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Deanery"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/eTeatrId"> + <rdfs:label xml:lang="en">e-teatr.pl id</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Film"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/sourceDistrict"> + <rdfs:label xml:lang="en">source district</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/presenter"> + <rdfs:label xml:lang="en">presenter</rdfs:label><rdfs:label xml:lang="el">παρουσιαστής</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/TelevisionShow"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/areaDate"> + <rdfs:label xml:lang="en">area date</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/representative"> + <rdfs:label xml:lang="en">number of representatives</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/noteOnRestingPlace"> + <rdfs:label xml:lang="en">note on resting place</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/frozen"> + <rdfs:label xml:lang="en">frozen</rdfs:label><rdfs:label xml:lang="el">παγωμένη</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Lake"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/successfulLaunches"> + <rdfs:label xml:lang="en">successful launches</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/grades"> + <rdfs:label xml:lang="en">grades</rdfs:label><rdfs:label xml:lang="el">βαθμοί</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/School"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/recordLabel"> + <rdfs:label xml:lang="en">record label</rdfs:label><rdfs:label xml:lang="nl">platenlabel</rdfs:label><rdfs:label xml:lang="el">δισκογραφική</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/RecordLabel"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/belgiumPoliticalSeats"> + <rdfs:label xml:lang="en">belgium political seats</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/BelgiumSettlement"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/projectEndDate"> + <rdfs:label xml:lang="en">project end date</rdfs:label><rdfs:comment xml:lang="en">The end date of the project.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Project"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/jstor"> + <rdfs:label xml:lang="en">JSTOR</rdfs:label><rdfs:comment xml:lang="en">JSTOR number (short for Journal Storage) is a United States-based online system number for archiving academic journals.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/AcademicJournal"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/homeport"> + <rdfs:label xml:lang="en">homeport</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Ship"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberOfWineries"> + <rdfs:label xml:lang="en">number of wineries</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/WineRegion"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/landtagMandate"> + <rdfs:label xml:lang="en">austrian land tag mandate</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/AustrianAdministrativeRegion"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/landRegistryCode"> + <rdfs:label xml:lang="en">land registry code</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/AlgerianSettlement"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/passengersUsedSystem"> + <rdfs:label xml:lang="en">passengers used system</rdfs:label><rdfs:label xml:lang="de">benutztes System der Passagiere</rdfs:label><rdfs:comment xml:lang="en">System the passengers are using (from which the passenger statistics are).</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Station"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/isCityState"> + <rdfs:label xml:lang="en">is a city state</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/AustrianSettlement"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/satellitesDeployed"> + <rdfs:label xml:lang="en">satellites deployed</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SpaceShuttle"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/dateAgreement"> + <rdfs:label xml:lang="en">date of an agreement</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/income"> + <rdfs:label xml:lang="en">income</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/rating"> + <rdfs:label xml:lang="en">rating</rdfs:label><rdfs:label xml:lang="nl">cijfer</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#float"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/territory"> + <rdfs:label xml:lang="en">territory</rdfs:label><rdfs:label xml:lang="es">territorio</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/MilitaryConflict"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/terytCode"> + <rdfs:label xml:lang="en">TERYT code</rdfs:label><rdfs:label xml:lang="pl">kod TERYT</rdfs:label><rdfs:comment xml:lang="en">indexing code used by the Polish National Official Register of the Territorial Division of the Country (TERYT) to identify various entities</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/ensembl"> + <rdfs:label xml:lang="en">ensemble</rdfs:label><rdfs:label xml:lang="ja">ensemble</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Biomolecule"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/inchi"> + <rdfs:label xml:lang="en">The IUPAC International Chemical Identifier</rdfs:label><rdfs:label xml:lang="de">Internationale chemische Bezeichnung der IUPAC</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/ChemicalCompound"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/dissolutionYear"> + <rdfs:label xml:lang="en">dissolution year</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#gYear"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/educationSystem"> + <rdfs:label xml:lang="en">education system</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/EducationalInstitution"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/distanceToBelfast"> + <rdfs:label xml:lang="en">distance to Belfast (μ)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Settlement"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/starRating"> + <rdfs:label xml:lang="en">star rating</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Hotel"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#float"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/worldChampionTitleYear"> + <rdfs:label xml:lang="en">year of world champion title</rdfs:label><rdfs:label xml:lang="nl">jaar van wereldkampioen titel</rdfs:label><rdfs:label xml:lang="fr">année d'obtention du titre de champion du monde</rdfs:label><rdfs:comment xml:lang="en">can be one or several years</rdfs:comment><rdfs:comment xml:lang="fr">il peut s'agir d'une ou de plusieurs années</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Athlete"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#gYear"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/modelStartYear"> + <rdfs:label xml:lang="en">model start year</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/MeanOfTransportation"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#gYear"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/recentWinner"> + <rdfs:label xml:lang="en">recent winner</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Race"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberOfLiveAlbums"> + <rdfs:label xml:lang="en">number of live albums</rdfs:label><rdfs:comment xml:lang="en">the number of live albums released by the musical artist</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/MusicalArtist"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/majorShrine"> + <rdfs:label xml:lang="en">major shrine</rdfs:label><rdfs:label xml:lang="nl">schrijn</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Saint"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/diseasesdb"> + <rdfs:label xml:lang="en">DiseasesDB</rdfs:label><rdfs:label xml:lang="nl">DiseasesDB</rdfs:label><rdfs:label xml:lang="ja">DiseasesDB</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Disease"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/mainOrgan"> + <rdfs:label xml:lang="en">main organ</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Organisation"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/timeshiftChannel"> + <rdfs:label xml:lang="en">timeshift channel</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/TelevisionStation"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/sales"> + <rdfs:label xml:lang="en">sales</rdfs:label><rdfs:label xml:lang="el">πώληση</rdfs:label><rdfs:label xml:lang="fr">vente</rdfs:label><rdfs:comment xml:lang="en">This property holds an intermediate node of the type Sales.</rdfs:comment><rdfs:range rdf:resource="http://dbpedia.org/ontology/Sales"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/establishment"> + <rdfs:label xml:lang="en">Establishment</rdfs:label><rdfs:label xml:lang="el">ίδρυση</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/ChristianDoctrine"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/meaning"> + <rdfs:label xml:lang="en">meaning</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Settlement"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/note"> + <rdfs:label xml:lang="en">note</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/AutomobileEngine"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/bSide"> + <rdfs:label xml:lang="en">b side</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Single"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/subdivisionName"> + <rdfs:label xml:lang="en">subdivision name of the island</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Island"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Place"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/projectStartDate"> + <rdfs:label xml:lang="en">project start date</rdfs:label><rdfs:comment xml:lang="en">The start date of the project.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Project"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/recordedIn"> + <rdfs:label xml:lang="en">recorded in</rdfs:label><rdfs:label xml:lang="nl">opgenomen in</rdfs:label><rdfs:label xml:lang="el">ηχογράφηση</rdfs:label><rdfs:label xml:lang="fr">enregistré à</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/MusicalWork"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberOfEmployees"> + <rdfs:label xml:lang="el">αριθμός εργαζομένων</rdfs:label><rdfs:label xml:lang="fr">nombre d'employés</rdfs:label><rdfs:label xml:lang="en">number of employees</rdfs:label><rdfs:label xml:lang="nl">aantal medewerkers</rdfs:label><rdfs:label xml:lang="es">número de empleados</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Organisation"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/areaOfSearch"> + <rdfs:label xml:lang="en">area of search</rdfs:label><rdfs:label xml:lang="el">Περιοχή Αναζήτησης</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SiteOfSpecialScientificInterest"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/majorityLeader"> + <rdfs:label xml:lang="en">majority leader</rdfs:label><rdfs:comment xml:lang="en">number of office holder</rdfs:comment><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/recordDate"> + <rdfs:label xml:lang="en">record date</rdfs:label><rdfs:label xml:lang="nl">opname datum</rdfs:label><rdfs:label xml:lang="el">ηχογράφηση</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/MusicalWork"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/specialEffects"> + <rdfs:label xml:lang="en">special effects</rdfs:label><rdfs:comment xml:lang="en">the person who is responsible for the film special effects</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Film"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/density"> + <rdfs:label xml:lang="el">πυκνότητα (μ3)</rdfs:label><rdfs:label xml:lang="fr">densité (μ3)</rdfs:label><rdfs:label xml:lang="en">density (μ3)</rdfs:label><rdfs:label xml:lang="ja">密度 (μ3)</rdfs:label><rdfs:label xml:lang="pt">densidade (μ3)</rdfs:label><rdfs:label xml:lang="de">Dichte (μ3)</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/iataLocationIdentifier"> + <rdfs:label xml:lang="en">IATA Location Identifier</rdfs:label><rdfs:label xml:lang="el">ΙΑΤΑ</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Infrastructure"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/grindingCapability"> + <rdfs:label xml:lang="en">grinding capability</rdfs:label><rdfs:label xml:lang="nl">maal capaciteit</rdfs:label><rdfs:comment xml:lang="en">grinding capability for Mills</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Mill"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/winsAtLAGT"> + <rdfs:label xml:lang="en">wins at LAGT</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/GolfPlayer"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/compressionRatio"> + <rdfs:label xml:lang="en">compression ratio</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/AutomobileEngine"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/egafdId"> + <rdfs:label xml:lang="en">egafd id</rdfs:label><rdfs:label xml:lang="el">egafd id</rdfs:label><rdfs:label xml:lang="pt">código no egafd</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Film"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/minimumInclination"> + <rdfs:label xml:lang="en">minimum inclination</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/LaunchPad"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#float"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/riverMouth"> + <rdfs:label xml:lang="en">river mouth</rdfs:label><rdfs:label xml:lang="nl">riviermonding</rdfs:label><rdfs:label xml:lang="el">εκβολές</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/River"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/BodyOfWater"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/parentOrganisation"> + <rdfs:label xml:lang="en">parent organisation</rdfs:label><rdfs:label xml:lang="nl">moederorganisatie</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Organisation"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Organisation"/><owl:equivalentProperty rdf:resource="http://schema.org/branchOf"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/patronSaint"> + <rdfs:label xml:lang="en">patron saint</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Settlement"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/majorVolcano"> + <rdfs:label xml:lang="en">major volcano</rdfs:label><rdfs:label xml:lang="pt">maior vulcão</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/NaturalPlace"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/fileSize"> + <rdfs:label xml:lang="en">size (B)</rdfs:label><rdfs:label xml:lang="de">Dateigröße (B)</rdfs:label><rdfs:comment xml:lang="en">size of a file or software</rdfs:comment><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/maximumElevation"> + <rdfs:label xml:lang="en">maximum elevation (μ)</rdfs:label><rdfs:label xml:lang="el">κορυφή (μ)</rdfs:label><rdfs:comment xml:lang="en">maximum elevation above the sea level</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/tournamentRecord"> + <rdfs:label xml:lang="en">tournament record</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/CollegeCoach"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/resolution"> + <rdfs:label xml:lang="en">resolution</rdfs:label><rdfs:label xml:lang="el">ανάλυση</rdfs:label><rdfs:label xml:lang="fr">résolution</rdfs:label><rdfs:comment xml:lang="en">Native Resolution</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Software"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/officialLanguage"> + <rdfs:label xml:lang="en">official language</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Language"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/hsvCoordinateSaturation"> + <rdfs:label xml:lang="en">saturation coordinate in the HSV colour space</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Colour"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/supply"> + <rdfs:label xml:lang="en">supply</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/order"> + <rdfs:label xml:lang="en">order</rdfs:label><rdfs:label xml:lang="el">διαταγή</rdfs:label><rdfs:label xml:lang="nl">orde</rdfs:label><rdfs:label xml:lang="ja">目_(分類学)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Species"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/millSpan"> + <rdfs:label xml:lang="en">mill span (μ)</rdfs:label><rdfs:label xml:lang="nl">vlucht (μ)</rdfs:label><rdfs:label xml:lang="el">Εκπέτασμα (μ)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Mill"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/thirdDriver"> + <rdfs:label xml:lang="en">third driver</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/GrandPrix"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/orogeny"> + <rdfs:label xml:lang="en">orogeny</rdfs:label><rdfs:label xml:lang="fr">orogenèse</rdfs:label> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/house"> + <rdfs:label xml:lang="en">house</rdfs:label><rdfs:label xml:lang="el">σπίτι</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Legislature"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Legislature"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/eventDate"> + <rdfs:label xml:lang="en">event date</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/lastWin"> + <rdfs:label xml:lang="en">last win</rdfs:label><rdfs:label xml:lang="el">τελευταία νίκη</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/FormulaOneRacer"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/GrandPrix"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/rival"> + <rdfs:label xml:lang="en">rival</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/School"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/School"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/artist"> + <rdfs:label xml:lang="en">artist</rdfs:label><rdfs:label xml:lang="nl">artiest</rdfs:label><rdfs:label xml:lang="de">Interpret</rdfs:label><rdfs:label xml:lang="el">καλλιτέχνης</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/MusicalWork"/><owl:equivalentProperty rdf:resource="http://schema.org/byArtist"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/denomination"> + <rdfs:label xml:lang="en">denomination</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/School"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/grandsire"> + <rdfs:label xml:lang="en">grandsire</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Animal"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Animal"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/giniCoefficientRanking"> + <rdfs:label xml:lang="en">gini coefficient ranking</rdfs:label><rdfs:label xml:lang="pt">posição no ranking do coeficiente de Gini</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#positiveInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/range"> + <rdfs:label xml:lang="en">range</rdfs:label><rdfs:label xml:lang="nl">bereik</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/promotion"> + <rdfs:label xml:lang="en">promotion</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/WrestlingEvent"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/soccerTournamentLastChampion"> + <rdfs:label xml:lang="en">last champion</rdfs:label><rdfs:label xml:lang="tr">son şampiyon</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SoccerTournament"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/SoccerClub"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/cylinderBore"> + <rdfs:label xml:lang="en">cylinder bore (μ)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/AutomobileEngine"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/wilaya"> + <rdfs:label xml:lang="en">wilaya</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/AlgerianSettlement"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Place"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/rightChild"> + <rdfs:label xml:lang="en">right child</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Island"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Island"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/illiteracy"> + <rdfs:label xml:lang="en">illiteracy</rdfs:label><rdfs:label xml:lang="pt">analfabetismo</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#float"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/manager"> + <rdfs:label xml:lang="en">manager</rdfs:label><rdfs:label xml:lang="el">προπονητής</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SoccerClub"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/adjacentSettlement"> + <rdfs:label xml:lang="en">adjacent settlement of a switzerland settlement</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SwitzerlandSettlement"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Settlement"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/assetUnderManagement"> + <rdfs:label xml:lang="en">asset under management ($)</rdfs:label><rdfs:label xml:lang="el">κεφάλαιο υπό διαχείριση ($)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Company"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/selection"> + <rdfs:label xml:lang="en">selection</rdfs:label><rdfs:comment xml:lang="en">when (or in which project) the person was selected to train as an astronaut</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Astronaut"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/operator"> + <rdfs:label xml:lang="en">operator</rdfs:label><rdfs:label xml:lang="nl">exploitant</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Infrastructure"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Organisation"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/father"> + <rdfs:label xml:lang="en">father</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/clubsRecordGoalscorer"> + <rdfs:label xml:lang="en">clubs record goalscorer</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SoccerClub"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/origin"> + <rdfs:label xml:lang="el">προέλευση</rdfs:label><rdfs:label xml:lang="fr">origine</rdfs:label><rdfs:label xml:lang="en">origin</rdfs:label><rdfs:label xml:lang="nl">oorsprong</rdfs:label><rdfs:label xml:lang="pt">origem</rdfs:label><rdfs:label xml:lang="de">Herkunft</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/activeYearsStartDate"> + <rdfs:label xml:lang="en">active years start date</rdfs:label><rdfs:label xml:lang="el">ενεργά χρόνια ημερομηνία έναρξης</rdfs:label><rdfs:label xml:lang="nl">actieve jaren startdatum</rdfs:label><rdfs:label xml:lang="fr">date de début d'activité</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/percentageFat"> + <rdfs:label xml:lang="en">percentage of fat</rdfs:label><rdfs:label xml:lang="nl">vetgehalte</rdfs:label><rdfs:comment xml:lang="en">how much fat (in relative terms) does this unity of food contain</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Cheese"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberOfParkingSpaces"> + <rdfs:label xml:lang="en">number of parking spaces</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Hotel"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/riverBranch"> + <rdfs:label xml:lang="en">branch</rdfs:label><rdfs:label xml:lang="nl">riviertak</rdfs:label><rdfs:label xml:lang="el">διακλαδώσεις</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/River"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/River"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/lastElectionDate"> + <rdfs:label xml:lang="en">last election date</rdfs:label><rdfs:comment xml:lang="en">The last election date for the house.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Legislature"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/draftRound"> + <rdfs:label xml:lang="en">draft round</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/GridironFootballPlayer"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/associateStar"> + <rdfs:label xml:lang="en">associateStar</rdfs:label><rdfs:label xml:lang="el">συγγενικός αστέρας</rdfs:label><rdfs:label xml:lang="tr">çevreleyen</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/Constellation"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/previousPopulationTotal"> + <rdfs:label xml:lang="en">previous population total</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/dist_pc"> + <rdfs:label xml:lang="en">dist_pc</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/openswarm"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/filename"> + <rdfs:label xml:lang="en">filename</rdfs:label><rdfs:label xml:lang="nl">bestandsnaam</rdfs:label><rdfs:label xml:lang="de">dateiname</rdfs:label><rdfs:label xml:lang="el">όνομα αρχείου</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/formerTeam"> + <rdfs:label xml:lang="en">former team</rdfs:label><rdfs:label xml:lang="nl">voormalig team</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Athlete"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/SportsTeam"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/manxName"> + <rdfs:label xml:lang="en">manx name</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Settlement"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/winsAtOtherTournaments"> + <rdfs:label xml:lang="en">wins at other tournaments</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/GolfPlayer"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberOfVolumes"> + <rdfs:label xml:lang="en">number of volumes</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/WrittenWork"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/race"> + <rdfs:label xml:lang="en">race</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/Race"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/dateConstruction"> + <rdfs:label xml:lang="en">date construction</rdfs:label><rdfs:label xml:lang="el">έναρξη_κατασκευής</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Canal"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/draftPick"> + <rdfs:label xml:lang="en">draft pick</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/GridironFootballPlayer"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/status"> + <rdfs:label xml:lang="en">status</rdfs:label><rdfs:label xml:lang="nl">status</rdfs:label><rdfs:label xml:lang="fr">statut</rdfs:label><rdfs:label xml:lang="es">estatus</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/dressCode"> + <rdfs:label xml:lang="en">dress code</rdfs:label><rdfs:comment xml:lang="en">The recommended dress code for an establishment or event.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Restaurant"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/appmag_v"> + <rdfs:label xml:lang="en">appmag_v</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/openswarm"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/precursor"> + <rdfs:label xml:lang="en">precursor</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/AnatomicalStructure"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Embryology"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/regionalLanguage"> + <rdfs:label xml:lang="en">regional language</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Language"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/silCode"> + <rdfs:label xml:lang="en">SIL code</rdfs:label><rdfs:label xml:lang="nl">SIL-code</rdfs:label><rdfs:label xml:lang="pl">kod SIL</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Language"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/councilArea"> + <rdfs:label xml:lang="en">Council area</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/absoluteMagnitude"> + <rdfs:label xml:lang="en">absolute magnitude</rdfs:label><rdfs:label xml:lang="el">απόλυτο μέγεθος</rdfs:label><rdfs:label xml:lang="de">absolute Helligkeit</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Planet"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/publisher"> + <rdfs:label xml:lang="en">publisher</rdfs:label><rdfs:label xml:lang="nl">uitgever</rdfs:label><rdfs:label xml:lang="de">Herausgeber</rdfs:label><rdfs:label xml:lang="el">εκδότης</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Work"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Company"/><owl:equivalentProperty rdf:resource="http://schema.org/publisher"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/populationMetroDensity"> + <rdfs:label xml:lang="en">population metro density (/sqkm)</rdfs:label><rdfs:label xml:lang="nl">bevolkingsdichtheid (/sqkm)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberOfSports"> + <rdfs:label xml:lang="en">number of sports</rdfs:label><rdfs:label xml:lang="fr">numbre de sports</rdfs:label><rdfs:label xml:lang="es">numero de deportes</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/areaMetro"> + <rdfs:label xml:lang="en">area metro (m2)</rdfs:label><rdfs:label xml:lang="el">περιοχή μετρό (m2)</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/winsAtLPGA"> + <rdfs:label xml:lang="en">wins at LPGA</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/GolfPlayer"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/colour"> + <rdfs:label xml:lang="el">χρώμα</rdfs:label><rdfs:label xml:lang="fr">couleur</rdfs:label><rdfs:label xml:lang="en">colour</rdfs:label><rdfs:label xml:lang="ja">色</rdfs:label><rdfs:label xml:lang="nl">kleur</rdfs:label><rdfs:label xml:lang="de">Farbe</rdfs:label><rdfs:comment xml:lang="en">A colour represented by its entity.</rdfs:comment><rdfs:range rdf:resource="http://dbpedia.org/ontology/Colour"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/daira"> + <rdfs:label xml:lang="en">daira</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/AlgerianSettlement"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Place"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/alongside"> + <rdfs:label xml:lang="en">alongside</rdfs:label><rdfs:label xml:lang="el">δίπλα</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/countryWithFirstSatelliteLaunched"> + <rdfs:label xml:lang="en">country with first satellite launched</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/YearInSpaceflight"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Country"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/comment"> + <rdfs:label xml:lang="en">comment</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/agglomerationPopulationYear"> + <rdfs:label xml:lang="en">agglomerationPopulationYear</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Settlement"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/typeCoordinate"> + <rdfs:label xml:lang="en">type coordinate</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/projectReferenceID"> + <rdfs:label xml:lang="en">project reference ID</rdfs:label><rdfs:comment xml:lang="en">The reference identification of the project.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/ResearchProject"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/highwaySystem"> + <rdfs:label xml:lang="en">highway system</rdfs:label><rdfs:comment xml:lang="en">the highway system that a route is part of</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Road"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/isbn"> + <rdfs:label xml:lang="en">ISBN</rdfs:label><rdfs:label xml:lang="nl">ISBN</rdfs:label><rdfs:comment xml:lang="en">The International Standard Book Number (ISBN) is a unique numeric commercial book identifier based upon the 9-digit Standard Book Numbering (SBN) code.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Book"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/><owl:equivalentProperty rdf:resource="http://schema.org/isbn"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/managementPlace"> + <rdfs:label xml:lang="en">management place</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/visitorStatisticsAsOf"> + <rdfs:label xml:lang="en">visitor statistics as of</rdfs:label><rdfs:comment xml:lang="en">Year visitor information was gathered.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/ArchitecturalStructure"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#gYear"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/schoolNumber"> + <rdfs:label xml:lang="en">school number</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/School"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/meanTemperature"> + <rdfs:label xml:lang="en">mean temperature (K)</rdfs:label><rdfs:label xml:lang="el">μέση θερμοκρασία (K)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Planet"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/anniversary"> + <rdfs:label xml:lang="en">anniversary</rdfs:label><rdfs:label xml:lang="el">επέτειος</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/MilitaryUnit"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/director"> + <rdfs:label xml:lang="el">σκηνοθέτης</rdfs:label><rdfs:label xml:lang="fr">directeur</rdfs:label><rdfs:label xml:lang="en">director</rdfs:label><rdfs:label xml:lang="nl">regisseur</rdfs:label><rdfs:label xml:lang="de">Regisseur</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/><owl:equivalentProperty rdf:resource="http://schema.org/director"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/revenue"> + <rdfs:label xml:lang="en">revenue ($)</rdfs:label><rdfs:label xml:lang="el">έσοδα ($)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Organisation"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/televisionSeries"> + <rdfs:label xml:lang="en">television series</rdfs:label><rdfs:label xml:lang="el">τηλεοπτικές σειρές</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/TelevisionShow"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/creativeDirector"> + <rdfs:label xml:lang="en">creative director</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/TelevisionShow"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/sublimationPoint"> + <rdfs:label xml:lang="en">sublimation point (K)</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/winsAtPGA"> + <rdfs:label xml:lang="en">wins at pga</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/GolfPlayer"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/passengersPerDay"> + <rdfs:label xml:lang="en">passengers per day</rdfs:label><rdfs:label xml:lang="de">Passagiere pro Tag</rdfs:label><rdfs:comment xml:lang="en">Number of passengers per day.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Infrastructure"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/uniprot"> + <rdfs:label xml:lang="en">UniProt</rdfs:label><rdfs:label xml:lang="ja">UniProt</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Biomolecule"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/superintendent"> + <rdfs:label xml:lang="en">superintendent</rdfs:label><rdfs:label xml:lang="nl">opzichter</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Organisation"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/wineProduced"> + <rdfs:label xml:lang="en">wine produced</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/WineRegion"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/deFactoLanguage"> + <rdfs:label xml:lang="en">de facto language</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/Language"/><owl:equivalentProperty rdf:resource="http://dbpedia.org/ontology/language"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/computingPlatform"> + <rdfs:label xml:lang="en">computing platform</rdfs:label><rdfs:comment xml:lang="en">some sort of hardware architecture or software framework, that allows this software to run</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Software"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/atcPrefix"> + <rdfs:label xml:lang="en">ATC prefix</rdfs:label><rdfs:label xml:lang="el">ATC πρόθεμα</rdfs:label><rdfs:label xml:lang="fr">préfix ATC</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/lastPosition"> + <rdfs:label xml:lang="en">last position</rdfs:label><rdfs:label xml:lang="el">τελευταία θέση</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/FormulaOneRacer"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#positiveInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberOfCity"> + <rdfs:label xml:lang="en">number of contries inside en continent</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Continent"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/areaOfCatchment"> + <rdfs:label xml:lang="en">area of catchment (m2)</rdfs:label><rdfs:label xml:lang="el">λίμνη (m2)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Lake"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/chancellor"> + <rdfs:label xml:lang="en">chancellor</rdfs:label><rdfs:label xml:lang="de">Kanzler</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/foundingYear"> + <rdfs:label xml:lang="el">έτος ίδρυσης</rdfs:label><rdfs:label xml:lang="en">founding year</rdfs:label><rdfs:label xml:lang="nl">oprichtingsjaar</rdfs:label><rdfs:label xml:lang="es">año de fundación</rdfs:label><rdfs:label xml:lang="de">Gründungsjahr</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#gYear"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberOfPeopleAttending"> + <rdfs:label xml:lang="en">number of people attending</rdfs:label><rdfs:label xml:lang="pt">número de participantes</rdfs:label><rdfs:label xml:lang="fr">nombre de participants</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Event"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/europeanParliamentGroup"> + <rdfs:label xml:lang="en">european parliament group</rdfs:label><rdfs:label xml:lang="pt">grupo parlamentar europeu</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PoliticalParty"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/eruptionYear"> + <rdfs:label xml:lang="en">eruption date</rdfs:label><rdfs:label xml:lang="de">Jahr des letzten Ausbruchs</rdfs:label><rdfs:label xml:lang="nl">jaar uitbarsting</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Volcano"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#gYear"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/nrhpType"> + <rdfs:label xml:lang="en">NRHP type</rdfs:label><rdfs:comment xml:lang="en">Type of historic place as defined by the US National Park Service. For instance National Historic Landmark, National Monument or National Battlefield.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/HistoricPlace"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/goalsInLeague"> + <rdfs:label xml:lang="en">goals in league</rdfs:label><rdfs:label xml:lang="nl">doelpunten in de competitie</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SoccerPlayer"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/subdivision"> + <rdfs:label xml:lang="en">subdivision</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/management"> + <rdfs:label xml:lang="en">management</rdfs:label><rdfs:label xml:lang="fr">management</rdfs:label> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/mayorFunction"> + <rdfs:label xml:lang="en">mayor function of a switzerland settlement</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SwitzerlandSettlement"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/produces"> + <rdfs:label xml:lang="en">produces</rdfs:label> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/cyrilliqueName"> + <rdfs:label xml:lang="en">cyrillique name</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/hybrid"> + <rdfs:label xml:lang="en">hybrid</rdfs:label><rdfs:comment xml:lang="en">Plants from which another plant (or cultivar) has been developed from</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Plant"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Plant"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/cpu"> + <rdfs:label xml:lang="en">CPU</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Software"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/bourgmestre"> + <rdfs:label xml:lang="en">bourgmestre</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Settlement"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/nisCode"> + <rdfs:label xml:lang="en">NIS code</rdfs:label><rdfs:comment xml:lang="en">Indexing code used by the Belgium National Statistical Institute to identify populated places.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/musicSubgenre"> + <rdfs:label xml:lang="en">music subgenre</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/MusicGenre"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/MusicGenre"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/university"> + <rdfs:label xml:lang="en">university</rdfs:label><rdfs:label xml:lang="ja">大学</rdfs:label><rdfs:comment xml:lang="en">university a person goes or went to</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/EducationalInstitution"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/worstDefeat"> + <rdfs:label xml:lang="en">worst defeat</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SoccerClub"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/nextEvent"> + <rdfs:label xml:lang="en">next event</rdfs:label><rdfs:label xml:lang="nl">volgende evenement</rdfs:label><rdfs:label xml:lang="el">επόμενο γεγονός</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Event"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Event"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/distributingCompany"> + <rdfs:label xml:lang="en">distributing company</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/RecordLabel"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Company"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/chaplain"> + <rdfs:label xml:lang="en">chaplain</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/School"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberOfStudioAlbums"> + <rdfs:label xml:lang="en">number of studio albums</rdfs:label><rdfs:comment xml:lang="en">the number of studio albums released by the musical artist</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/MusicalArtist"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/fighter"> + <rdfs:label xml:lang="fr">combattant</rdfs:label><rdfs:label xml:lang="en">fighter</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/alpsSubsection"> + <rdfs:label xml:lang="en">Alps subsection</rdfs:label><rdfs:label xml:lang="el">Alps υποδιαίρεση των άλπεων</rdfs:label><rdfs:label xml:lang="it">sottosezione alpina</rdfs:label><rdfs:comment xml:lang="en">the Alps subsection to which the mountain belongs, according to the SOIUSA classification</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Mountain"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/MountainRange"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/feat"> + <rdfs:label xml:lang="en">feat</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/endReign"> + <rdfs:label xml:lang="en">end reign</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/policeName"> + <rdfs:label xml:lang="en">police name</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/collectionSize"> + <rdfs:label xml:lang="en">country</rdfs:label><rdfs:label xml:lang="ja">蔵書数</rdfs:label> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/careerPoints"> + <rdfs:label xml:lang="en">career points</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/FormulaOneRacer"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/boilerPressure"> + <rdfs:label xml:lang="en">boiler pressure</rdfs:label><rdfs:label xml:lang="el">πίεση δοχείου βράσης</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Locomotive"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberOfProfessionals"> + <rdfs:label xml:lang="en">number of professionals</rdfs:label><rdfs:label xml:lang="fr">nombre de professionnels</rdfs:label><rdfs:label xml:lang="es">numero de profesionales</rdfs:label><rdfs:comment xml:lang="en">number of people who earns his living from a specified activity.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Activity"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/alumni"> + <rdfs:label xml:lang="en">alumni</rdfs:label><rdfs:label xml:lang="el">απόφοιτοι πανεπιστημίου</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/EducationalInstitution"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/volcanoId"> + <rdfs:label xml:lang="en">volcano id</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Island"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/allcinemaId"> + <rdfs:label xml:lang="ja">allcinema id</rdfs:label><rdfs:label xml:lang="en">allcinema id</rdfs:label><rdfs:label xml:lang="el">allcinema id</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Film"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/religiousHead"> + <rdfs:label xml:lang="en">religious head</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/School"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/employersCelebration"> + <rdfs:label xml:lang="en">employer's celebration</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/AlgerianSettlement"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/nationality"> + <rdfs:label xml:lang="el">εθνικότητα</rdfs:label><rdfs:label xml:lang="fr">nationalité</rdfs:label><rdfs:label xml:lang="en">nationality</rdfs:label><rdfs:label xml:lang="ja">国籍</rdfs:label><rdfs:label xml:lang="nl">nationaliteit</rdfs:label><rdfs:label xml:lang="pt">nacionalidade</rdfs:label><rdfs:label xml:lang="de">Nationalität</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Country"/><owl:equivalentProperty rdf:resource="http://schema.org/nationality"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/fees"> + <rdfs:label xml:lang="en">fees ($)</rdfs:label><rdfs:label xml:lang="el">δίδακτρα ($)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/School"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberOfAlbums"> + <rdfs:label xml:lang="en">number of albums</rdfs:label><rdfs:comment xml:lang="en">the total number of albums released by the musical artist</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/MusicalArtist"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/certification"> + <rdfs:label xml:lang="en">certification</rdfs:label><rdfs:label xml:lang="fr">certification</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Single"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/waterwayThroughTunnel"> + <rdfs:label xml:lang="en">waterway through tunnel</rdfs:label><rdfs:label xml:lang="de">Wasserweg durch Tunnel</rdfs:label><rdfs:comment xml:lang="en">Waterway that goes through the tunnel.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/WaterwayTunnel"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/refseq"> + <rdfs:label xml:lang="en">RefSeq</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Protein"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/statisticYear"> + <rdfs:label xml:lang="en">statistic year</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/BaseballPlayer"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/projectBudgetFunding"> + <rdfs:label xml:lang="en">project budget funding ($)</rdfs:label><rdfs:comment xml:lang="en">The part of the project budget that is funded by the Organistaions given in the "FundedBy" property.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/ResearchProject"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/team"> + <rdfs:label xml:lang="en">team</rdfs:label><rdfs:label xml:lang="nl">team</rdfs:label><rdfs:label xml:lang="el">ομάδα</rdfs:label><rdfs:label xml:lang="fr">équipe</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Athlete,_CareerStation"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/SportsTeam"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/highestPointIsland"> + <rdfs:label xml:lang="en">highest point of the island</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Island"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/aircraftTransport"> + <rdfs:label xml:lang="en">aircraft transport</rdfs:label><rdfs:label xml:lang="el">αερομεταφορές</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/MilitaryUnit"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/MeanOfTransportation"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberOfRooms"> + <rdfs:label xml:lang="en">number of rooms</rdfs:label><rdfs:label xml:lang="el">αριθμός δωματίων</rdfs:label><rdfs:label xml:lang="nl">aantal kamers</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Hotel"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/mayorMandate"> + <rdfs:label xml:lang="en">mayorMandate</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Mayor"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/systemOfLaw"> + <rdfs:label xml:lang="en">system of law</rdfs:label><rdfs:label xml:lang="nl">rechtssysteem</rdfs:label><rdfs:comment xml:lang="en">A referral to the relevant system of law</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/LegalCase"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/SystemOfLaw"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/stationVisitDuration"> + <rdfs:label xml:lang="en">station visit duration (s)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SpaceMission"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/iso6393Code"> + <rdfs:label xml:lang="en">ISO 639-3 code</rdfs:label><rdfs:label xml:lang="nl">ISO 639-3 code</rdfs:label><rdfs:label xml:lang="pl">kod ISO 639-3</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Language"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/parentMountainPeak"> + <rdfs:label xml:lang="en">parent mountain peak</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Mountain"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Mountain"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/filmFareAward"> + <rdfs:label xml:lang="en">Film Fare Award</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Artist"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Award"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/firstLaunchDate"> + <rdfs:label xml:lang="en">first launch date</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/LaunchPad"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/rgbCoordinateGreen"> + <rdfs:label xml:lang="en">green coordinate in the RGB space</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Colour"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/electionDate"> + <rdfs:label xml:lang="en">election date</rdfs:label><rdfs:label xml:lang="de">Wahltermin</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/ceremonialCounty"> + <rdfs:label xml:lang="en">Ceremonial County</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/goldenGlobeAward"> + <rdfs:label xml:lang="en">Golden Globe Award</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Artist"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Award"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/belgiumMergedSettlement"> + <rdfs:label xml:lang="en">belgium merged settlement</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/BelgiumSettlement"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/BelgiumSettlement"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/binomial"> + <rdfs:label xml:lang="en">binomial</rdfs:label><rdfs:label xml:lang="el">διωνυμικός</rdfs:label><rdfs:label xml:lang="ja">学名</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Species"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/principal"> + <rdfs:label xml:lang="en">principal</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/EducationalInstitution"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/railGauge"> + <rdfs:label xml:lang="en">rail gauge (μ)</rdfs:label><rdfs:label xml:lang="de">Spurweite Eisenbahn (μ)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/RouteOfTransportation"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/person"> + <rdfs:label xml:lang="en">person</rdfs:label><rdfs:label xml:lang="el">άτομο</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PersonFunction"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/foalDate"> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/><rdfs:label xml:lang="en">foal date</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Animal"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/argueDate"> + <rdfs:label xml:lang="en">argue date</rdfs:label><rdfs:label xml:lang="el">δημοφιλής ημερομηνία</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SupremeCourtOfTheUnitedStatesCase"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/winsAtChampionships"> + <rdfs:label xml:lang="en">wins at championships</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/GolfPlayer"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/vicePresident"> + <rdfs:label xml:lang="en">vice president</rdfs:label><rdfs:label xml:lang="de">Vizepräsident</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/licenceNumberLabel"> + <rdfs:label xml:lang="en">licence number label</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/projectParticipant"> + <rdfs:label xml:lang="en">project participant</rdfs:label><rdfs:comment xml:lang="en">A participating organisation of the project.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/ResearchProject"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Organisation"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/sourceConfluenceRegion"> + <rdfs:label xml:lang="en">source confluence region</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/River"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Place"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/dateCompleted"> + <rdfs:label xml:lang="en">date completed</rdfs:label><rdfs:label xml:lang="el">ολοκλήρωση</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Canal"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/configuration"> + <rdfs:label xml:lang="en">configuration</rdfs:label><rdfs:label xml:lang="fr">configuration</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/AutomobileEngine"/><rdfs:range rdf:resource="http://dbpedia.org/datatype/engineConfiguration"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/sportGoverningBody"> + <rdfs:label xml:lang="en">sport governing body</rdfs:label> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/province"> + <rdfs:label xml:lang="en">province</rdfs:label><rdfs:label xml:lang="el">επαρχία</rdfs:label><rdfs:label xml:lang="nl">provincie</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Province"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/icd10"> + <rdfs:label xml:lang="en">ICD10</rdfs:label><rdfs:label xml:lang="nl">ICD10</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Disease"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/areaTotal"> + <rdfs:label xml:lang="el">έκταση περιοχής (m2)</rdfs:label><rdfs:label xml:lang="fr">superficie (m2)</rdfs:label><rdfs:label xml:lang="en">area total (m2)</rdfs:label><rdfs:label xml:lang="nl">oppervlakte (m2)</rdfs:label><rdfs:label xml:lang="de">Fläche (m2)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/routeEnd"> + <rdfs:label xml:lang="en">route end</rdfs:label><rdfs:label xml:lang="de">Wegende</rdfs:label><rdfs:comment xml:lang="en">End of the route. This is where the route ends and, for U.S. roads, is either at the northern terminus or eastern terminus.</rdfs:comment><rdfs:comment xml:lang="de">Ende des Verkehrswegs.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/RouteOfTransportation"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/RouteOfTransportation"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/highestMountain"> + <rdfs:label xml:lang="en">highest mountain</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/Mountain"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/notableCommander"> + <rdfs:label xml:lang="en">notable commander</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/MilitaryUnit"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/issDockings"> + <rdfs:label xml:lang="en">iss dockings</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SpaceShuttle"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/isil"> + <rdfs:label xml:lang="en">International Standard Identifier for Libraries and Related Organizations (ISIL)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Library"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/officialOpenedBy"> + <rdfs:label xml:lang="en">official opened by</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Olympics"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/profession"> + <rdfs:label xml:lang="en">profession</rdfs:label><rdfs:label xml:lang="el">επάγγελμα</rdfs:label><rdfs:label xml:lang="nl">beroep</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/redline"> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/><rdfs:label xml:lang="en">redline (kmh)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/AutomobileEngine"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/omim"> + <rdfs:label xml:lang="en">OMIM id</rdfs:label><rdfs:label xml:lang="nl">OMIM id</rdfs:label><rdfs:label xml:lang="ja">OMIM id</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Biomolecule"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/cargoFuel"> + <rdfs:label xml:lang="en">cargo fuel (g)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Spacecraft"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/regionalCouncil"> + <rdfs:label xml:lang="en">regional council</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberOfCountries"> + <rdfs:label xml:lang="en">number of countries</rdfs:label><rdfs:label xml:lang="el">αριθμός χωρών</rdfs:label><rdfs:label xml:lang="pt">número de países</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/AdministrativeRegion"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#positiveInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/programCost"> + <rdfs:label xml:lang="en">program cost ($)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Aircraft"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/currencyCode"> + <rdfs:label xml:lang="en">currency code</rdfs:label><rdfs:comment xml:lang="en">ISO 4217 currency designators.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/alliance"> + <rdfs:label xml:lang="en">alliance</rdfs:label><rdfs:label xml:lang="el">συμμαχία</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Airline"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/generalManager"> + <rdfs:label xml:lang="en">general manager</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SportsTeam"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/lengthReference"> + <rdfs:label xml:lang="en">length reference</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/RouteOfTransportation"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/presidentRegionalCouncilMandate"> + <rdfs:label xml:lang="en">mandate of the president council of the regional council</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/populationDate"> + <rdfs:label xml:lang="en">population date</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/episode"> + <rdfs:label xml:lang="en">episode</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/FictionalCharacter"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/mgiid"> + <rdfs:label xml:lang="en">mgiid</rdfs:label><rdfs:label xml:lang="ja">mgiid</rdfs:label><rdfs:comment xml:lang="en">Mouse Genomic Informatics ID</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Biomolecule"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/coverArtist"> + <rdfs:label xml:lang="en">cover artist</rdfs:label><rdfs:label xml:lang="nl">cover artist</rdfs:label><rdfs:comment xml:lang="en">Cover artist</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Book"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/broadcastArea"> + <rdfs:label xml:lang="en">broadcast area</rdfs:label><rdfs:label xml:lang="el">περιοχή αναμετάδοσης</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Broadcaster"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/websiteLabel"> + <rdfs:label xml:lang="en">label of a website</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/heritageRegister"> + <rdfs:label xml:lang="en">heritage register</rdfs:label><rdfs:label xml:lang="fr">inventaire du patrimoine</rdfs:label><rdfs:comment xml:lang="en">registered in a heritage register : inventory of cultural properties, natural and man-made, tangible and intangible, movable and immovable, that are deemed to be of sufficient heritage value to be separately identified and recorded.</rdfs:comment><rdfs:comment xml:lang="fr">inscrit à un inventaires dédiés à la conservation du patrimoine, naturel ou culturel, existants dans le monde.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/finalPublicationDate"> + <rdfs:label xml:lang="en">final publication date</rdfs:label><rdfs:label xml:lang="nl">laatste publicatiedatum</rdfs:label><rdfs:label xml:lang="de">Datum der finalen Ausgabe</rdfs:label><rdfs:comment xml:lang="en">Date of the final publication.</rdfs:comment><rdfs:comment xml:lang="de">Datum der allerletzten Veröffentlichung des Periodikums.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PeriodicalLiterature"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/budget"> + <rdfs:label xml:lang="en">budget ($)</rdfs:label><rdfs:label xml:lang="nl">budget ($)</rdfs:label><rdfs:label xml:lang="el">προϋπολογισμός ($)</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/region"> + <rdfs:label xml:lang="en">region</rdfs:label><rdfs:label xml:lang="nl">regio</rdfs:label><rdfs:label xml:lang="el">περιοχή</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/Place"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/formerBandMember"> + <rdfs:label xml:lang="en">former band member</rdfs:label><rdfs:label xml:lang="nl">voormalig bandlid</rdfs:label><rdfs:comment xml:lang="en">A former member of the band.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Band"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/goyaAward"> + <rdfs:label xml:lang="en">Goya Award</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Artist"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Award"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberOfOffices"> + <rdfs:label xml:lang="en">number of offices</rdfs:label><rdfs:label xml:lang="de">Anzahl Büros</rdfs:label><rdfs:label xml:lang="el">αριθμός γραφείων</rdfs:label><rdfs:comment xml:lang="en">Number of the company's offices.</rdfs:comment><rdfs:comment xml:lang="el">Αριθμός γραφείων εταιρείας.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/LawFirm"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/hsvCoordinateHue"> + <rdfs:label xml:lang="en">hue coordinate in the HSV colour space</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Colour"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/inn"> + <rdfs:label xml:lang="en">INN</rdfs:label><rdfs:label xml:lang="fr">DCI</rdfs:label><rdfs:comment xml:lang="en">International Nonproprietary Name given to a pharmaceutical substance</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/ChemicalCompound"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/routeStart"> + <rdfs:label xml:lang="en">route start</rdfs:label><rdfs:label xml:lang="de">Weganfang</rdfs:label><rdfs:comment xml:lang="en">Start of the route. This is where the route begins and, for U.S. roads, is either at the southern terminus or western terminus.</rdfs:comment><rdfs:comment xml:lang="de">Anfang des Verkehrswegs.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/RouteOfTransportation"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/RouteOfTransportation"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/musicFormat"> + <rdfs:label xml:lang="en">musicFormat</rdfs:label><rdfs:label xml:lang="de">musikFormate</rdfs:label><rdfs:comment xml:lang="en">The format of the album: EP, Single etc.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Album"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/flag"> + <rdfs:label xml:lang="en">flag</rdfs:label><rdfs:label xml:lang="el">σημαία</rdfs:label><rdfs:label xml:lang="nl">vlag</rdfs:label><rdfs:label xml:lang="tr">göndere çekmek</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/longDistancePisteKilometre"> + <rdfs:label xml:lang="en">long distance piste kilometre (μ)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/mukhtar"> + <rdfs:label xml:lang="en">mukthar of a lebanon settlement</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/LebanonSettlement"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/ethnicity"> + <rdfs:label xml:lang="en">ethnicity</rdfs:label><rdfs:label xml:lang="de">ethnische zugehörigkeit</rdfs:label><rdfs:label xml:lang="it">etnia</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/EthnicGroup"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/definition"> + <rdfs:label xml:lang="fr">définition</rdfs:label><rdfs:label xml:lang="en">definition</rdfs:label><rdfs:label xml:lang="tr">tanımlar</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Galaxy"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/winsAtAus"> + <rdfs:label xml:lang="en">wins at AUS</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/GolfPlayer"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/rgbCoordinateBlue"> + <rdfs:label xml:lang="en">bluecoordinate in the RGB space</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Colour"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/currency"> + <rdfs:label xml:lang="fr">devise</rdfs:label><rdfs:label xml:lang="en">currency</rdfs:label><rdfs:label xml:lang="nl">valuta</rdfs:label><rdfs:label xml:lang="pt">moeda</rdfs:label><rdfs:label xml:lang="de">Währung</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/Currency"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/doctoralStudent"> + <rdfs:label xml:lang="en">doctoral student</rdfs:label><rdfs:label xml:lang="el">διδακτορικοί_φοιτητές</rdfs:label><rdfs:label xml:lang="nl">doctoraalstudent</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Scientist"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/populationPlace"> + <rdfs:label xml:lang="en">population place</rdfs:label><rdfs:comment xml:lang="en">a place were members of an ethnic group are living</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/EthnicGroup"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/squadNumber"> + <rdfs:label xml:lang="en">squad number</rdfs:label><rdfs:comment xml:lang="en">The number that an athlete wears in a team sport.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SportsTeamMember"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/commandModule"> + <rdfs:label xml:lang="en">command module</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SpaceMission"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberOfMinistries"> + <rdfs:label xml:lang="en">number of ministries</rdfs:label><rdfs:label xml:lang="pt">numero de ministerios</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Country"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/elo"> + <rdfs:label xml:lang="en">ELO rating</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/ChessPlayer"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/associationOfLocalGovernment"> + <rdfs:label xml:lang="en">association of local government</rdfs:label><rdfs:label xml:lang="nl">vereniging van lokale overheden</rdfs:label><rdfs:label xml:lang="el">συνεργασία της τοπικής αυτοδιοίκησης</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Settlement"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/managementCountry"> + <rdfs:label xml:lang="en">management country</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Island"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Country"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/address"> + <rdfs:label xml:lang="en">address</rdfs:label><rdfs:label xml:lang="fr">adresse</rdfs:label><rdfs:label xml:lang="nl">adres</rdfs:label><rdfs:label xml:lang="el">διεύθυνση</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Building"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/seniunija"> + <rdfs:label xml:lang="en">seniunija</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/medalist"> + <rdfs:label xml:lang="en">medalist</rdfs:label><rdfs:label xml:lang="pt">medalhista</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SportsEvent"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/distributor"> + <rdfs:label xml:lang="en">distributor</rdfs:label><rdfs:label xml:lang="fr">allumeur</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/Organisation"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/offeredClasses"> + <rdfs:label xml:lang="en">offered classes</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/School"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/highestBuildingInYear"> + <rdfs:label xml:lang="en">highest building in year</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Skyscraper"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/discipline"> + <rdfs:label xml:lang="en">discipline</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Agent"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/picture"> + <rdfs:label xml:lang="el">εικόνα</rdfs:label><rdfs:label xml:lang="en">picture</rdfs:label><rdfs:label xml:lang="nl">afbeelding</rdfs:label><rdfs:label xml:lang="pt">figura</rdfs:label><rdfs:label xml:lang="de">Bild</rdfs:label><rdfs:comment xml:lang="en">A picture of a thing.</rdfs:comment><owl:equivalentProperty rdf:resource="http://schema.org/image"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/lunarEvaTime"> + <rdfs:label xml:lang="en">lunar EVA time (s)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SpaceMission"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/combatant"> + <rdfs:label xml:lang="en">combatant</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/MilitaryConflict"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberOfStudents"> + <rdfs:label xml:lang="en">number of students</rdfs:label><rdfs:label xml:lang="el">αριθμός φοιτητών</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/EducationalInstitution"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/contractor"> + <rdfs:label xml:lang="en">contractor</rdfs:label><rdfs:label xml:lang="nl">aannemer</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Skyscraper"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Company"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/formerChannel"> + <rdfs:label xml:lang="en">former channel</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Broadcaster"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/capitalPosition"> + <rdfs:label xml:lang="en">capital position</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Island"/><rdfs:range rdf:resource="http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/constellation"> + <rdfs:label xml:lang="en">constellation</rdfs:label><rdfs:label xml:lang="pl">gwiazdozbiór</rdfs:label><rdfs:label xml:lang="tr">Takımyıldız</rdfs:label><rdfs:label xml:lang="nl">stelsel</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Galaxy"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/category"> + <rdfs:label xml:lang="el">κατηγορία</rdfs:label><rdfs:label xml:lang="fr">catégorie</rdfs:label><rdfs:label xml:lang="en">category</rdfs:label><rdfs:label xml:lang="cs">Kategorie</rdfs:label><rdfs:label xml:lang="de">Kategorie</rdfs:label> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/apcPresident"> + <rdfs:label xml:lang="en">apc president</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/AlgerianSettlement"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/populationTotalRanking"> + <rdfs:label xml:lang="en">total population ranking</rdfs:label><rdfs:label xml:lang="pt">posição no ranking do total da populacao</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#positiveInteger"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/breeder"> + <rdfs:label xml:lang="en">breeder</rdfs:label><rdfs:label xml:lang="el">κτηνοτρόφος</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Animal"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/legislativePeriodName"> + <rdfs:label xml:lang="en">legislative period name</rdfs:label><rdfs:label xml:lang="de">Name in der Legislaturperiode</rdfs:label><rdfs:comment xml:lang="en">The term of the on-going session (e.g.: "40th Canadian Parliament").</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Legislature"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/billed"> + <rdfs:label xml:lang="en">billed</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Wrestler"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/finnishName"> + <rdfs:label xml:lang="en">finnish name of a sweden settlement</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SwedenSettlement"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/artPatron"> + <rdfs:label xml:lang="en">patron (art)</rdfs:label><rdfs:label xml:lang="fr">mécène</rdfs:label><rdfs:comment xml:lang="en">An influential, wealthy person who supported an artist, craftsman, a scholar or a noble.. See also</rdfs:comment><rdfs:comment xml:lang="fr">Celui qui encourage par ses libéralités les sciences, les lettres et les arts.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Agent"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Artist"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/modelEndDate"> + <rdfs:label xml:lang="en">model end date</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/MeanOfTransportation"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/grossDomesticProductAsOf"> + <rdfs:label xml:lang="en">gross domestic product as of</rdfs:label><rdfs:label xml:lang="pt">produto interno bruto em</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberOfVillages"> + <rdfs:label xml:lang="en">number of villages</rdfs:label><rdfs:label xml:lang="id">jumlah desa/kelurahan</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/District"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/artificialSnowArea"> + <rdfs:label xml:lang="en">artificial snow area</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#float"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/port1DockingDate"> + <rdfs:label xml:lang="en">port1 docking date</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Spacecraft"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/structuralSystem"> + <rdfs:label xml:lang="en">structural system</rdfs:label><rdfs:label xml:lang="nl">bouwmethode</rdfs:label><rdfs:label xml:lang="el">κατασκευαστικό σύστημα</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Building"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/reopened"> + <rdfs:label xml:lang="en">reopened</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/School"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/basedOn"> + <rdfs:label xml:lang="en">based on</rdfs:label><rdfs:label xml:lang="el">βασισμένο σε</rdfs:label><rdfs:label xml:lang="nl">op basis van</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Work"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Work"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/staff"> + <rdfs:label xml:lang="en">staff</rdfs:label><rdfs:label xml:lang="el">προσωπικό</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/EducationalInstitution"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/sisterNewspaper"> + <rdfs:label xml:lang="en">sister newspaper</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Newspaper"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Newspaper"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/pubchem"> + <rdfs:label xml:lang="en">PubChem</rdfs:label><rdfs:label xml:lang="fr">PubChem</rdfs:label><rdfs:label xml:lang="ja">PubChem</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/highestRank"> + <rdfs:label xml:lang="en">highest rank</rdfs:label><rdfs:label xml:lang="de">höchster Ranglistenplatz</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SnookerPlayer"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/sourceState"> + <rdfs:label xml:lang="en">source state</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/popularVote"> + <rdfs:label xml:lang="en">Number of votes given to candidate</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Election"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/winsAtAsia"> + <rdfs:label xml:lang="en">wins at ASIA</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/GolfPlayer"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/equity"> + <rdfs:label xml:lang="en">equity ($)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Company"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/skills"> + <rdfs:label xml:lang="en">skills</rdfs:label><rdfs:label xml:lang="fr">compétences</rdfs:label><rdfs:label xml:lang="nl">bekwaamheden</rdfs:label> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/comparable"> + <rdfs:label xml:lang="en">comparable</rdfs:label><rdfs:comment xml:lang="en">similar, unrelated rockets</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Rocket"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Rocket"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/diameter"> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/><rdfs:label xml:lang="en">diameter (μ)</rdfs:label><rdfs:label xml:lang="nl">diameter (μ)</rdfs:label><rdfs:label xml:lang="fr">diamètre (μ)</rdfs:label><rdfs:label xml:lang="el">διάμετρος (μ)</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/baftaAward"> + <rdfs:label xml:lang="en">BAFTA Award</rdfs:label><rdfs:label xml:lang="el">βραβείο BAFTA</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Artist"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Award"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/statisticLabel"> + <rdfs:label xml:lang="en">statistic label</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/BaseballPlayer"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/routeEndLocation"> + <rdfs:label xml:lang="en">route end location</rdfs:label><rdfs:label xml:lang="de">Ort des Wegendes</rdfs:label><rdfs:comment xml:lang="en">The end location of the route.</rdfs:comment><rdfs:comment xml:lang="de">End-Ort des Verkehrswegs.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/RouteOfTransportation"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Place"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/position"> + <rdfs:label xml:lang="en">position</rdfs:label><rdfs:label xml:lang="el">Θέση</rdfs:label><rdfs:label xml:lang="nl">positie</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/maximumBoatBeam"> + <rdfs:label xml:lang="en">maximum boat beam (μ)</rdfs:label><rdfs:label xml:lang="el">μέγιστο_πλάτος_πλοίου (μ)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Canal"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/orbitalFlights"> + <rdfs:label xml:lang="en">orbital flights</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/YearInSpaceflight"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/teamSize"> + <rdfs:label xml:lang="en">team size</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/scotishName"> + <rdfs:label xml:lang="en">scotish name</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/languageFamily"> + <rdfs:label xml:lang="en">family</rdfs:label><rdfs:label xml:lang="nl">taalfamilie</rdfs:label><rdfs:label xml:lang="pl">rodzina</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Language"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/opponent"> + <rdfs:label xml:lang="en">opponent</rdfs:label><rdfs:label xml:lang="ja">敵対者</rdfs:label><rdfs:label xml:lang="de">Gegner</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/vicePrimeMinister"> + <rdfs:label xml:lang="en">vice prime minister</rdfs:label><rdfs:label xml:lang="nl">vice premier</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/codeSettlement"> + <rdfs:label xml:lang="en">settlement code</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Settlement"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/fundedBy"> + <rdfs:label xml:lang="en">funded by</rdfs:label><rdfs:comment xml:lang="en">A organisation financing the research project.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/ResearchProject"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Organisation"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/class"> + <rdfs:label xml:lang="en">class</rdfs:label><rdfs:label xml:lang="el">τάξη</rdfs:label><rdfs:label xml:lang="nl">klasse</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/MeanOfTransportation"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/avifaunaPopulation"> + <rdfs:label xml:lang="en">avifauna population</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/landingVehicle"> + <rdfs:label xml:lang="en">landing vehicle</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SpaceMission"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/SpaceMission"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/knownFor"> + <rdfs:label xml:lang="el">γνωστός_για</rdfs:label><rdfs:label xml:lang="fr">connu pour</rdfs:label><rdfs:label xml:lang="en">known for</rdfs:label><rdfs:label xml:lang="nl">bekend om</rdfs:label><rdfs:label xml:lang="es">conocido por</rdfs:label><rdfs:label xml:lang="de">bekannt für</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/hubAirport"> + <rdfs:label xml:lang="en">hub airport</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Airline"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Airport"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/mostPopulatedCountry"> + <rdfs:label xml:lang="en">most populated country</rdfs:label><rdfs:label xml:lang="pt">país mais povoado</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Country"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Country"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/distanceToCharingCross"> + <rdfs:label xml:lang="en">distance to Charing Cross (μ)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Settlement"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/album"> + <rdfs:label xml:lang="en">album</rdfs:label><rdfs:label xml:lang="nl">album</rdfs:label><rdfs:label xml:lang="el">από το άλμπουμ</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/Album"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/mozabiteSettlementName"> + <rdfs:label xml:lang="en">mozabite settlement name</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/AlgerianSettlement"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/refcul"> + <rdfs:label xml:lang="en">reference for cultural data</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/extinctionDate"> + <rdfs:label xml:lang="en">extinction date</rdfs:label><rdfs:label xml:lang="nl">ontbindingsdatum</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Organisation"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/aircraftHelicopterAttack"> + <rdfs:label xml:lang="en">aircraft helicopter attack</rdfs:label><rdfs:label xml:lang="el">επίθεση ελικοφόρων αεροσκαφών</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/MilitaryUnit"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/MeanOfTransportation"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/tree"> + <rdfs:label xml:lang="en">tree</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/JapanPrefecture"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/seniority"> + <rdfs:label xml:lang="en">seniority</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/secondDriverCountry"> + <rdfs:label xml:lang="en">second driver country</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/GrandPrix"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Country"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/material"> + <rdfs:label xml:lang="en">material</rdfs:label><rdfs:label xml:lang="fr">matériel</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Island"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/umbrellaTitle"> + <rdfs:label xml:lang="en">umbrella title</rdfs:label><rdfs:label xml:lang="nl">overkoepelende titel</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/MultiVolumePublication"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/iso6392Code"> + <rdfs:label xml:lang="en">ISO 639-2 code</rdfs:label><rdfs:label xml:lang="nl">ISO 639-2 code</rdfs:label><rdfs:label xml:lang="pl">kod ISO 639-2</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Language"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/twinCountry"> + <rdfs:label xml:lang="en">twin country</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Country"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Country"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/depth"> + <rdfs:label xml:lang="en">depth (μ)</rdfs:label><rdfs:label xml:lang="nl">diepte (μ)</rdfs:label><rdfs:label xml:lang="el">βάθος (μ)</rdfs:label><rdfs:label xml:lang="fr">profondeur (μ)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/giniCoefficientAsOf"> + <rdfs:label xml:lang="en">gini coefficient as of</rdfs:label><rdfs:label xml:lang="pt">coeficiente de Gini em</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/established"> + <rdfs:label xml:lang="en">Established</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/ChristianDoctrine"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/length"> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/><rdfs:label xml:lang="el">μήκος (μ)</rdfs:label><rdfs:label xml:lang="fr">longueur (μ)</rdfs:label><rdfs:label xml:lang="en">length (μ)</rdfs:label><rdfs:label xml:lang="nl">lengte (μ)</rdfs:label><rdfs:label xml:lang="de">Länge (μ)</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/hasChannel"> + <rdfs:label xml:lang="en">has channel</rdfs:label> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/place"> + <rdfs:label xml:lang="en">place of military conflict</rdfs:label><rdfs:label xml:lang="de">Ort eines militärischen Konflikts</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/MilitaryConflict"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/maximumAreaQuote"> + <rdfs:label xml:lang="en">maximum area quote</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberOfTeams"> + <rdfs:label xml:lang="en">number of teams</rdfs:label><rdfs:label xml:lang="it">numero di squadre</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SportsLeague"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/largestWin"> + <rdfs:label xml:lang="en">largest win</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SoccerClub"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/solicitorGeneral"> + <rdfs:label xml:lang="en">solicitor general</rdfs:label><rdfs:label xml:lang="nl">advocaat-generaal</rdfs:label><rdfs:comment xml:lang="en">high-ranking solicitor</rdfs:comment><rdfs:comment xml:lang="nl">de advocaat-generaal</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/LegalCase"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/rankArea"> + <rdfs:label xml:lang="en">rank of an area</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/sportSpecialty"> + <rdfs:label xml:lang="en">sport specialty</rdfs:label><rdfs:label xml:lang="nl">sport specialiteit</rdfs:label><rdfs:comment xml:lang="en">the sport specialty the athlete practices, e.g. 'Ring' for a men's artistic gymnastics athlete</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Athlete"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Sport"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/statusYear"> + <rdfs:label xml:lang="en">status year</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberOfParticipatingAthletes"> + <rdfs:label xml:lang="en">number of participating athletes</rdfs:label><rdfs:label xml:lang="fr">nombre d'athlètes participant</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Olympics"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberOfVolunteers"> + <rdfs:label xml:lang="en">number of volunteers</rdfs:label><rdfs:label xml:lang="el">αριθμός εθελοντών</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Organisation"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/era"> + <rdfs:label xml:lang="en">era</rdfs:label><rdfs:label xml:lang="el">εποχή</rdfs:label> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/gameArtist"> + <rdfs:label xml:lang="en">game artist</rdfs:label><rdfs:label xml:lang="ja">ゲームデザイナー</rdfs:label><rdfs:comment xml:lang="en">A game artist is an artist who creates art for one or more types of games. Game artists are responsible for all of the aspects of game development that call for visual art.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/VideoGame"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/deme"> + <rdfs:label xml:lang="en">deme</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/settingOfPlay"> + <rdfs:label xml:lang="en">setting of play</rdfs:label><rdfs:comment xml:lang="en">The places and time where the play takes place.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Play"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/railwayPlatforms"> + <rdfs:label xml:lang="en">railway platforms</rdfs:label><rdfs:label xml:lang="nl">perrons</rdfs:label><rdfs:label xml:lang="el">αποβάθρα</rdfs:label><rdfs:comment xml:lang="en">Information on the type of platform(s) at the station.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Station"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/legalArticle"> + <rdfs:label xml:lang="en">legal article</rdfs:label><rdfs:label xml:lang="nl">wetsartikel</rdfs:label><rdfs:comment xml:lang="en">article in code book or statute book referred to in this legal case</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/LegalCase"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/frenchName"> + <rdfs:label xml:lang="en">french name of a settlement</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/equipment"> + <rdfs:label xml:lang="en">equipment</rdfs:label><rdfs:label xml:lang="el">εξοπλισμός</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Activity"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/surfaceFormOccurrenceOffset"> + <rdfs:label xml:lang="en">position in which a surface occurs in a text</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/notes"> + <rdfs:label xml:lang="en">notes</rdfs:label><rdfs:label xml:lang="fr">notes</rdfs:label><rdfs:comment xml:lang="en">additional notes that better describe the entity</rdfs:comment><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/spurType"> + <rdfs:label xml:lang="en">spur type</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Road"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/catholicPercentage"> + <rdfs:label xml:lang="en">catholic percentage</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/sizeMap"> + <rdfs:label xml:lang="en">size map</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/grammyAward"> + <rdfs:label xml:lang="en">Grammy Award</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Artist"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Award"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/academicDiscipline"> + <rdfs:label xml:lang="en">academic discipline</rdfs:label><rdfs:label xml:lang="de">wissenschaftliche Disziplin</rdfs:label><rdfs:comment xml:lang="en">An academic discipline, or field of study, is a branch of knowledge that is taught and researched at the college or university level. Disciplines are defined (in part), and recognized by the academic journals in which research is published, and the learned societies and academic departments or faculties to which their practitioners belong.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/AcademicJournal"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/deathAge"> + <rdfs:label xml:lang="en">death age</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/iucnCategory"> + <rdfs:label xml:lang="en">iucn category</rdfs:label><rdfs:label xml:lang="nl">IUCN categorie</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/ProtectedArea"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/booster"> + <rdfs:label xml:lang="en">booster</rdfs:label><rdfs:label xml:lang="el">προωθητής</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SpaceMission"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Rocket"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/fdaUniiCode"> + <rdfs:label xml:lang="en">FDA UNII code</rdfs:label><rdfs:label xml:lang="pt">código FDA UNII</rdfs:label><rdfs:comment xml:lang="en">FDA Unique Ingredient Identifier (UNII) code for a DBpedia Drug</rdfs:comment><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/iupacName"> + <rdfs:label xml:lang="en">IUPAC name</rdfs:label><rdfs:label xml:lang="ja">IUPAC名</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Drug"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/wikiPageRevisionID"> + <rdfs:label xml:lang="en">Wikipage revision ID</rdfs:label><rdfs:comment xml:lang="en">Reserved for DBpedia.</rdfs:comment><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/nextEntity"> + <rdfs:label xml:lang="en">next entity</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Place"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/nerve"> + <rdfs:label xml:lang="en">nerve</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/AnatomicalStructure"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Nerve"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/firstWinner"> + <rdfs:label xml:lang="en">first winner</rdfs:label><rdfs:label xml:lang="el">πρώτος νικητής</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Race"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/technique"> + <rdfs:label xml:lang="en">technique</rdfs:label><rdfs:label xml:lang="el">τεχνική</rdfs:label><rdfs:label xml:lang="es">técnica</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Painting"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/commune"> + <rdfs:label xml:lang="en">commune</rdfs:label><rdfs:label xml:lang="fr">commune</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Settlement"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Settlement"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/shape"> + <rdfs:label xml:lang="en">intercommunality shape</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Intercommunality"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Community"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/outflow"> + <rdfs:label xml:lang="en">outflow</rdfs:label><rdfs:label xml:lang="el">εκροή</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Lake"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/River"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/weapon"> + <rdfs:label xml:lang="en">weapon</rdfs:label><rdfs:label xml:lang="nl">wapen</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/FictionalCharacter"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/classification"> + <rdfs:label xml:lang="en">classification</rdfs:label><rdfs:label xml:lang="nl">categorie</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Instrument"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/movement"> + <rdfs:label xml:lang="en">movement</rdfs:label><rdfs:label xml:lang="nl">beweging</rdfs:label><rdfs:label xml:lang="fr">mouvement artistique</rdfs:label><rdfs:comment xml:lang="en">artistic movement or school with which artist is associated</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Artist"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/shipBeam"> + <rdfs:label xml:lang="en">ship beam (μ)</rdfs:label><rdfs:comment xml:lang="en">The beam of a ship is its width at the widest point.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Ship"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/currentlyUsedFor"> + <rdfs:label xml:lang="en">currently used for</rdfs:label><rdfs:label xml:lang="nl">huidig gebruik</rdfs:label><rdfs:label xml:lang="fr">usage actuel</rdfs:label><rdfs:label xml:lang="es">uso actual</rdfs:label><rdfs:comment xml:lang="en">Current use of the architectural structure, if it is currently being used as anything other than its original purpose.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/ArchitecturalStructure"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/frequency"> + <rdfs:label xml:lang="en">frequency (Hz)</rdfs:label><rdfs:label xml:lang="el">συχνότητα (Hz)</rdfs:label><rdfs:label xml:lang="fr">fréquence (Hz)</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/supplies"> + <rdfs:label xml:lang="en">supplies</rdfs:label><rdfs:label xml:lang="el">παροχές</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Artery"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/AnatomicalStructure"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/topic"> + <rdfs:label xml:lang="en">topic</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/startReign"> + <rdfs:label xml:lang="en">start reign</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/namedAfter"> + <rdfs:label xml:lang="en">named after</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SpaceShuttle"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/detectionMethod"> + <rdfs:label xml:lang="en">Method of discovery</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Planet"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/heir"> + <rdfs:label xml:lang="en">heir</rdfs:label><rdfs:label xml:lang="de">Erbe</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Monarch"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/highestPoint"> + <rdfs:label xml:lang="en">highest point of a norwegian settlement</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/NorwaySettlement"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Place"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/skiPisteKilometre"> + <rdfs:label xml:lang="en">ski piste kilometre (μ)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/champion"> + <rdfs:label xml:lang="en">champion</rdfs:label><rdfs:label xml:lang="fr">champion</rdfs:label><rdfs:label xml:lang="es">Campeón</rdfs:label><rdfs:comment xml:lang="en">winner of a competition</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SportsEvent"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Athlete"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/launchPad"> + <rdfs:label xml:lang="en">launch pad</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SpaceMission"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/LaunchPad"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/gameEngine"> + <rdfs:label xml:lang="en">Game Engine</rdfs:label><rdfs:label xml:lang="ja">ゲームエンジン</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/VideoGame"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/bodyStyle"> + <rdfs:label xml:lang="en">body style</rdfs:label><rdfs:label xml:lang="el">τύπος σώματος</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Automobile"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/totalLaunches"> + <rdfs:label xml:lang="en">total launches</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/firstFlightEndDate"> + <rdfs:label xml:lang="en">first flight end date</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SpaceShuttle"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/highestBreak"> + <rdfs:label xml:lang="en">highest break</rdfs:label><rdfs:label xml:lang="de">Höchstes Break</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SnookerPlayer"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/orthologousGene"> + <rdfs:label xml:lang="en">Orthologous Gene</rdfs:label><rdfs:label xml:lang="ja">オーソロガス遺伝子</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Gene"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Gene"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/organisationMember"> + <rdfs:label xml:lang="en">organisation member</rdfs:label><rdfs:comment xml:lang="en">Identify the members of an organisation.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Organisation"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/OrganisationMember"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/sibling"> + <rdfs:label xml:lang="en">sibling</rdfs:label><rdfs:label xml:lang="nl">broer of zus</rdfs:label><rdfs:label xml:lang="fr">frère ou soeur</rdfs:label><rdfs:label xml:lang="de">Geschwister</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/brainInfoType"> + <rdfs:label xml:lang="en">brain info type</rdfs:label><rdfs:label xml:lang="el">τύπος νοητικής πληροφόρησης</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Brain"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/route"> + <rdfs:label xml:lang="en">route</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/utcOffset"> + <rdfs:label xml:lang="en">UTC offset</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/owner"> + <rdfs:label xml:lang="el">ιδιοκτήτης</rdfs:label><rdfs:label xml:lang="fr">propriétaire</rdfs:label><rdfs:label xml:lang="en">owner</rdfs:label><rdfs:label xml:lang="nl">eigenaar</rdfs:label><rdfs:label xml:lang="es">dueño</rdfs:label><rdfs:label xml:lang="de">Eigentümer</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/Agent"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/wavelength"> + <rdfs:label xml:lang="en">wavelength (μ)</rdfs:label><rdfs:label xml:lang="fr">longueur d'onde (μ)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Colour"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/stadium"> + <rdfs:label xml:lang="en">Stadium</rdfs:label><rdfs:label xml:lang="el">στάδιο</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/Stadium"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/onChromosome"> + <rdfs:label xml:lang="en">on chromosome</rdfs:label><rdfs:comment xml:lang="en">the number corresponding to the chromosome on which the gene is located</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/GeneLocation"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/federalState"> + <rdfs:label xml:lang="de">Bundesland</rdfs:label><rdfs:label xml:lang="en">federal state</rdfs:label><rdfs:label xml:lang="nl">provincie</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Settlement"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/certificationDate"> + <rdfs:label xml:lang="en">certification date</rdfs:label><rdfs:label xml:lang="nl">datum certificatie</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Single"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/hasVariant"> + <rdfs:label xml:lang="en">variant or variation</rdfs:label><rdfs:label xml:lang="nl">variant of variatie</rdfs:label><rdfs:comment xml:lang="en">variant or variation, for example all variations of a color</rdfs:comment> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/functionEndYear"> + <rdfs:label xml:lang="en">function end year</rdfs:label><rdfs:label xml:lang="nl">laatste jaar functie</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PersonFunction"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#gYear"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/systemRequirements"> + <rdfs:label xml:lang="en">minimum system requirements</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/sourceElevation"> + <rdfs:label xml:lang="en">source elevation (μ)</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/firstPopularVote"> + <rdfs:label xml:lang="en">firstPopularVote</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/stationStructure"> + <rdfs:label xml:lang="en">station structure</rdfs:label><rdfs:label xml:lang="nl">station structuur</rdfs:label><rdfs:comment xml:lang="en">Type of station structure (underground, at-grade, or elevated).</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Station"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/regionalPrefecture"> + <rdfs:label xml:lang="en">regional prefecture</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/competition"> + <rdfs:label xml:lang="en">competition</rdfs:label><rdfs:label xml:lang="fr">competition</rdfs:label><rdfs:label xml:lang="es">competición</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SportCompetitionResult"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Event"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberOfPiersInWater"> + <rdfs:label xml:lang="en">number of piers in water</rdfs:label><rdfs:label xml:lang="de">Anzahl der Pfeiler in Wasser</rdfs:label><rdfs:comment xml:lang="en">Number of piers standing in a river or other water in normal conditions.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Bridge"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/astrologicalSign"> + <rdfs:label xml:lang="en">astrological sign</rdfs:label><rdfs:label xml:lang="el">αστρολογικό ζώδιο</rdfs:label><rdfs:label xml:lang="de">Sternzeichen</rdfs:label><rdfs:label xml:lang="pt">signo astrológico</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/restingPlacePosition"> + <rdfs:label xml:lang="en">resting place position</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/><rdfs:range rdf:resource="http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/departmentPosition"> + <rdfs:label xml:lang="en">geolocDepartment</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/tradeMark"> + <rdfs:label xml:lang="en">TradeMark</rdfs:label><rdfs:label xml:lang="es">Marca</rdfs:label> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/firstRace"> + <rdfs:label xml:lang="en">first race</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/FormulaOneRacer"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/GrandPrix"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/binomialAuthority"> + <rdfs:label xml:lang="en">binomial authority</rdfs:label><rdfs:label xml:lang="ja">(学名命名者)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Species"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/sameName"> + <rdfs:label xml:lang="en">same name of a sweden settlement</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SwedenSettlement"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/ekatteCode"> + <rdfs:label xml:lang="en">EKATTE code</rdfs:label><rdfs:comment xml:lang="en">Indexing code used by the Bulgarian National Statistical Institute to identify populated places</rdfs:comment><rdfs:comment xml:lang="bg">Единен класификатор на административно-териториалните и териториалните единици</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/editing"> + <rdfs:label xml:lang="en">editing</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Film"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/committeeInLegislature"> + <rdfs:label xml:lang="en">committee in legislature</rdfs:label><rdfs:label xml:lang="de">Ausschuss in der Legislative</rdfs:label><rdfs:comment xml:lang="en">Committee in the legislature (eg.: Committee on Economic and Monetary Affairs of the European Parliament).</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Legislature"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/refpol"> + <rdfs:label xml:lang="en">reference for politic data</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/siren"> + <rdfs:label xml:lang="en">siren number</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/rebuildingYear"> + <rdfs:label xml:lang="en">rebuilding year</rdfs:label><rdfs:label xml:lang="nl">herbouw jaar</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/ArchitecturalStructure"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#gYear"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/meltingPoint"> + <rdfs:label xml:lang="en">melting point (K)</rdfs:label><rdfs:label xml:lang="de">Schmelzpunkt (K)</rdfs:label><rdfs:label xml:lang="fr">point de fusion (K)</rdfs:label><rdfs:label xml:lang="ja">融点 (K)</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/minimumAreaQuote"> + <rdfs:label xml:lang="en">minimum area quote</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/championInSingleMale"> + <rdfs:label xml:lang="en">champion in single male</rdfs:label><rdfs:label xml:lang="fr">champion en simple homme</rdfs:label><rdfs:label xml:lang="es">Campeón en simple hombres</rdfs:label><rdfs:comment xml:lang="en">winner of a competition in the single male session, to distinguish from the double session (as in tennis)</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SportsEvent"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Athlete"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/roofHeight"> + <rdfs:label xml:lang="en">roof height</rdfs:label><rdfs:label xml:lang="de">Höhe Dach</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Skyscraper"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/countryRank"> + <rdfs:label xml:lang="en">country rank</rdfs:label><rdfs:label xml:lang="de">Rang Land</rdfs:label><rdfs:comment xml:lang="en">Place of the building in the list of the highest buildings in the country</rdfs:comment><rdfs:comment xml:lang="de">Der Platz des Gebäudes in der Liste der höchsten Gebäude des Landes</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Skyscraper"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/registration"> + <rdfs:label xml:lang="en">registration</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Company"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberOfCompetitors"> + <rdfs:label xml:lang="en">number of competitors</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/OlympicResult"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/part"> + <rdfs:label xml:lang="en">part</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/Place"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/layout"> + <rdfs:label xml:lang="en">layout</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Automobile"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/emedicineSubject"> + <rdfs:label xml:lang="en">eMedicine subject</rdfs:label><rdfs:label xml:lang="nl">eMedicine onderwerp</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Disease"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/neighboringMunicipality"> + <rdfs:label xml:lang="en">neighboring municipality</rdfs:label><rdfs:label xml:lang="nl">aangrenzende gemeente</rdfs:label><rdfs:label xml:lang="pt">municipío adjacente</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/title"> + <rdfs:label xml:lang="el">Τίτλος</rdfs:label><rdfs:label xml:lang="en">title</rdfs:label><rdfs:label xml:lang="ja">タイトル</rdfs:label><rdfs:label xml:lang="nl">titel</rdfs:label><rdfs:label xml:lang="es">título</rdfs:label><rdfs:label xml:lang="de">Titel</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/orbits"> + <rdfs:label xml:lang="en">orbits</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/taoiseach"> + <rdfs:label xml:lang="en">taoiseach</rdfs:label><rdfs:comment xml:lang="en">head of government of Ireland</rdfs:comment><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/firstWin"> + <rdfs:label xml:lang="en">first win</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/FormulaOneRacer"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/GrandPrix"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/openAccessContent"> + <rdfs:label xml:lang="en">open access content</rdfs:label><rdfs:label xml:lang="de">frei zugänglicher Inhalten</rdfs:label><rdfs:comment xml:lang="en">Availability of open access content.</rdfs:comment><rdfs:comment xml:lang="de">Verfügbarkeit von frei zugänglichem Inhalten.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PeriodicalLiterature"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/parentCompany"> + <rdfs:label xml:lang="en">parent company</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/Company"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/chiefPlace"> + <rdfs:label xml:lang="en">chief place</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/power"> + <rdfs:label xml:lang="en">power</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/FictionalCharacter"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/distanceToEdinburgh"> + <rdfs:label xml:lang="en">distance to Edinburgh (μ)</rdfs:label><rdfs:label xml:lang="el">απόσταση από το Εδιμβούργο (μ)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Settlement"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/upperAge"> + <rdfs:label xml:lang="en">upper age</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/School"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/formerName"> + <rdfs:label xml:lang="en">former name</rdfs:label><rdfs:label xml:lang="el">προηγούμενο όνομα</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/nationalFilmAward"> + <rdfs:label xml:lang="en">National Film Award</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Actor"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Award"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/subsystem"> + <rdfs:label xml:lang="en">subsystem</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/output"> + <rdfs:label xml:lang="en">output</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#float"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/actScore"> + <rdfs:label xml:lang="en">ACT score</rdfs:label><rdfs:label xml:lang="el">ACT σκορ</rdfs:label><rdfs:comment xml:lang="en">most recent average ACT scores</rdfs:comment><rdfs:comment xml:lang="el">ποιό πρόσφατες μέσες βαθμολογίες ACT</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/School"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/spike"> + <rdfs:label xml:lang="en">spike</rdfs:label><rdfs:label xml:lang="el">καρφί</rdfs:label><rdfs:label xml:lang="tr">smaç</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/VolleyballPlayer"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/areaWater"> + <rdfs:label xml:lang="en">area water (m2)</rdfs:label><rdfs:label xml:lang="nl">oppervlakte water (m2)</rdfs:label><rdfs:label xml:lang="el">έκταση_υδάτων_περιοχής (m2)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/subsystemLink"> + <rdfs:label xml:lang="en">subsystem link</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/skiTow"> + <rdfs:label xml:lang="en">ski tow</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/mayor"> + <rdfs:label xml:lang="en">mayor</rdfs:label><rdfs:label xml:lang="el">δήμαρχος</rdfs:label><rdfs:label xml:lang="nl">burgemeester</rdfs:label><rdfs:label xml:lang="fr">maire</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Mayor"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/manufacturer"> + <rdfs:label xml:lang="en">manufacturer</rdfs:label><rdfs:label xml:lang="el">κατασκευαστής</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/Organisation"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/academyAward"> + <rdfs:label xml:lang="en">Academy Award</rdfs:label><rdfs:label xml:lang="el">Βραβείο ακαδημίας</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Artist"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Award"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/launchSite"> + <rdfs:label xml:lang="en">launch site</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SpaceMission"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Building"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/computingInput"> + <rdfs:label xml:lang="en">Computing input</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Software"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/protectionStatus"> + <rdfs:label xml:lang="en">monument protection status</rdfs:label><rdfs:label xml:lang="nl">monumentStatus</rdfs:label><rdfs:comment xml:lang="en">Just 'Status' is too general. We should be able to distinguish status types since different statuses may require different treatment</rdfs:comment><rdfs:comment xml:lang="nl">Alleen 'Status' is te algemeen. We moeten soorten statussen kunnen onderscheiden omdat een andere status andere consequenties kan hebben</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/associatedBand"> + <rdfs:label xml:lang="en">associated band</rdfs:label><rdfs:label xml:lang="el">συνεργαζόμενο συγκρότημα</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/Band"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/floorCount"> + <rdfs:label xml:lang="en">floor count</rdfs:label><rdfs:label xml:lang="nl">verdiepingen</rdfs:label><rdfs:label xml:lang="el">αριθμός ορόφων</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Building"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#positiveInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/awayColourHexCode"> + <rdfs:label xml:lang="en">colour hex code of away jersey or its parts</rdfs:label><rdfs:label xml:lang="de">Farben Hex Code des Auswärtstrikots oder Teile dieses</rdfs:label><rdfs:comment xml:lang="en">A colour represented by its hex code (e.g.: #FF0000 or #40E0D0).</rdfs:comment><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/uciCode"> + <rdfs:label xml:lang="en">UCI code</rdfs:label><rdfs:label xml:lang="it">codice UCI</rdfs:label><rdfs:comment xml:lang="en">Official UCI code for cycling teams</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/CyclingTeam"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/dynasty"> + <rdfs:label xml:lang="en">dynasty</rdfs:label><rdfs:label xml:lang="nl">dynastie</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/austrianLand"> + <rdfs:label xml:lang="en">austrian land</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/AustrianSettlement"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/lieutenancy"> + <rdfs:label xml:lang="en">lieutenancy</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/timeInSpace"> + <rdfs:label xml:lang="en">time in space (s)</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/valvetrain"> + <rdfs:label xml:lang="en">valvetrain</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/AutomobileEngine"/><rdfs:range rdf:resource="http://dbpedia.org/datatype/valvetrain"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/religion"> + <rdfs:label xml:lang="el">θρησκεία</rdfs:label><rdfs:label xml:lang="fr">religion</rdfs:label><rdfs:label xml:lang="en">religion</rdfs:label><rdfs:label xml:lang="ja">宗教</rdfs:label><rdfs:label xml:lang="nl">religie</rdfs:label><rdfs:label xml:lang="pt">religião</rdfs:label> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/agglomerationPopulation"> + <rdfs:label xml:lang="en">agglomerationPopulation</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Settlement"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/biome"> + <rdfs:label xml:lang="en">biome</rdfs:label><rdfs:label xml:lang="ja">生物群系</rdfs:label> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/naacpImageAward"> + <rdfs:label xml:lang="en">NAACP Image Award</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Actor"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Award"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/aircraftFighter"> + <rdfs:label xml:lang="en">aircraft fighter</rdfs:label><rdfs:label xml:lang="el">μαχητικό αεροσκάφος</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/MilitaryUnit"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/MeanOfTransportation"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/ibdbId"> + <rdfs:label xml:lang="en">IBDB ID</rdfs:label><rdfs:comment xml:lang="en">The Internet Broadway Database ID (IBDB ID) from ibdb.com.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Play"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/screenActorsGuildAward"> + <rdfs:label xml:lang="en">Screen Actors Guild Award</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Actor"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Award"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/type"> + <rdfs:label xml:lang="en">type</rdfs:label><rdfs:label xml:lang="el">τύπος</rdfs:label><rdfs:label xml:lang="nl">type</rdfs:label> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/lineLength"> + <rdfs:label xml:lang="en">line length (μ)</rdfs:label><rdfs:label xml:lang="de">Linienlänge (μ)</rdfs:label><rdfs:comment xml:lang="en">Length of the line. Wikipedians usually do not differentiate between track length and line lenght.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/RouteOfTransportation"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/ladinName"> + <rdfs:label xml:lang="en">city ladin name</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/goalsInNationalTeam"> + <rdfs:label xml:lang="en">goals in national team</rdfs:label><rdfs:label xml:lang="nl">interland doelpunten</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SoccerPlayer"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberOfPads"> + <rdfs:label xml:lang="en">number of pads</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/LaunchPad"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/shareSource"> + <rdfs:label xml:lang="en">share source</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Broadcaster"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/whaDraft"> + <rdfs:label xml:lang="en">wha draft</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/IceHockeyPlayer"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/sessionNumber"> + <rdfs:label xml:lang="en">session number</rdfs:label><rdfs:label xml:lang="pt">número da sessão</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/island"> + <rdfs:label xml:lang="en">island</rdfs:label><rdfs:label xml:lang="el">νησιά</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Lake"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Island"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/hasInput"> + <rdfs:label xml:lang="en">has input</rdfs:label> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/oversight"> + <rdfs:label xml:lang="en">oversight</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/School"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/countryWithFirstSatellite"> + <rdfs:label xml:lang="en">country with first satellite</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/YearInSpaceflight"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Country"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberOfDependency"> + <rdfs:label xml:lang="en">number of continent dependencies</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Continent"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/musicBy"> + <rdfs:label xml:lang="en">music by</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Musical"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/grayPage"> + <rdfs:label xml:lang="en">Gray page</rdfs:label><rdfs:comment xml:lang="en">Refers to the famous 1918 edition of Gray's Anatomy.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/AnatomicalStructure"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#positiveInteger"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/governor"> + <rdfs:label xml:lang="en">governor</rdfs:label><rdfs:label xml:lang="el">κυβερνήτης</rdfs:label><rdfs:label xml:lang="fr">gouverneur</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/championInDoubleMale"> + <rdfs:label xml:lang="en">champion in double male</rdfs:label><rdfs:label xml:lang="fr">champion en double hommes</rdfs:label><rdfs:label xml:lang="es">Campeón en doble hombres</rdfs:label><rdfs:comment xml:lang="en">winner of a competition in the male double session (as in tennis)</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SportsEvent"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Athlete"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/goldMedalist"> + <rdfs:label xml:lang="en">gold medalist</rdfs:label><rdfs:label xml:lang="pt">medalha de ouro</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SportsEvent"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/skiLift"> + <rdfs:label xml:lang="en">ski lift</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/rankingsDoubles"> + <rdfs:label xml:lang="en">doubles rankings</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/TennisPlayer"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/incumbent"> + <rdfs:label xml:lang="en">incumbent</rdfs:label><rdfs:label xml:lang="nl">plaatsbekleder</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/ordination"> + <rdfs:label xml:lang="en">Ordination</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Priest"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/kanjiName"> + <rdfs:label xml:lang="en">kanji name</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/mayorTitle"> + <rdfs:label xml:lang="en">mayor title of a hungarian settlement</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/HungarySettlement"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/district"> + <rdfs:label xml:lang="el">περιοχή</rdfs:label><rdfs:label xml:lang="en">district</rdfs:label><rdfs:label xml:lang="nl">streek</rdfs:label><rdfs:label xml:lang="pt">distrito</rdfs:label><rdfs:label xml:lang="de">Bezirk</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/olympicOathSwornBy"> + <rdfs:label xml:lang="en">olympic oath sworn by</rdfs:label><rdfs:label xml:lang="fr">lecteur du serment olympique</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Olympics"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/publiclyAccessible"> + <rdfs:label xml:lang="en">publicly accessible</rdfs:label><rdfs:comment xml:lang="en">describes in what way this site is accessible for public</rdfs:comment><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/managerTitle"> + <rdfs:label xml:lang="en">manager title</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SoccerClub"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/casNumber"> + <rdfs:label xml:lang="en">CAS number</rdfs:label><rdfs:label xml:lang="fr">numéro CAS</rdfs:label><rdfs:label xml:lang="ja">CAS番号</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/ChemicalCompound"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/crosses"> + <rdfs:label xml:lang="en">crosses</rdfs:label><rdfs:label xml:lang="el">διασχίζει</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Bridge"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/River"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/orbitalInclination"> + <rdfs:label xml:lang="en">orbital inclination</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SpaceMission"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#float"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/translator"> + <rdfs:label xml:lang="en">translator</rdfs:label><rdfs:label xml:lang="nl">vertaler</rdfs:label><rdfs:label xml:lang="el">μεταφραστής</rdfs:label><rdfs:label xml:lang="fr">traducteur</rdfs:label><rdfs:comment xml:lang="en">Translator(s), if original not in English</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Work"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/occupation"> + <rdfs:label xml:lang="fr">activité</rdfs:label><rdfs:label xml:lang="en">occupation</rdfs:label><rdfs:label xml:lang="ja">職業</rdfs:label><rdfs:label xml:lang="nl">beroep</rdfs:label><rdfs:label xml:lang="de">Beschäftigung</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/PersonFunction"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/birthPlace"> + <rdfs:label xml:lang="el">τόπος_γέννησης</rdfs:label><rdfs:label xml:lang="fr">lieu de naissance</rdfs:label><rdfs:label xml:lang="en">birth place</rdfs:label><rdfs:label xml:lang="nl">geboorteplaats</rdfs:label><rdfs:label xml:lang="de">Geburtsort</rdfs:label><rdfs:comment xml:lang="en">where the person was born</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Place"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/flagCaption"> + <rdfs:label xml:lang="en">flagCaption</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Flag"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/municipality"> + <rdfs:label xml:lang="en">municipality</rdfs:label><rdfs:label xml:lang="nl">plaats</rdfs:label><rdfs:label xml:lang="fr">municipalité</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/locality"> + <rdfs:label xml:lang="en">locality of a switzerland settlement</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SwitzerlandSettlement"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/appearancesInNationalTeam"> + <rdfs:label xml:lang="en">appearances in national team</rdfs:label><rdfs:label xml:lang="el">εμφανίσεις στην εθνική ομάδα</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SoccerPlayer"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/webcast"> + <rdfs:label xml:lang="en">webcast</rdfs:label><rdfs:label xml:lang="nl">webcast</rdfs:label><rdfs:comment xml:lang="en">The URL to the webcast of the Thing.</rdfs:comment> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/wikiPageDisambiguates"> + <rdfs:label xml:lang="en">Wikipage disambiguates</rdfs:label><rdfs:comment xml:lang="en">Reserved for DBpedia.</rdfs:comment> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/rankInFinalMedalCount"> + <rdfs:label xml:lang="en">rank in final medal count</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/OlympicResult"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#positiveInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/thumbnailCaption"> + <rdfs:label xml:lang="en">thumbnailCaption</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/operatingIncome"> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/><rdfs:label xml:lang="en">operating income ($)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Company"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/imdbId"> + <rdfs:label xml:lang="en">IMDB id</rdfs:label><rdfs:label xml:lang="nl">IMDB id</rdfs:label><rdfs:label xml:lang="el">imdb id</rdfs:label><rdfs:label xml:lang="ja">IMDb id</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Film"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/missions"> + <rdfs:label xml:lang="en">missions</rdfs:label><rdfs:label xml:lang="el">αποστολές</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SpaceShuttle"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/sharingOutPopulationYear"> + <rdfs:label xml:lang="en">sharing out year</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/sourceConfluenceMountain"> + <rdfs:label xml:lang="en">source confluence mountain</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/River"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Mountain"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/hasSurfaceForm"> + <rdfs:label xml:lang="el">επιφάνεια από</rdfs:label><rdfs:comment xml:lang="en">Reserved for DBpedia.</rdfs:comment><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/aircraftHelicopterMultirole"> + <rdfs:label xml:lang="en">aircraft helicopter multirole</rdfs:label><rdfs:label xml:lang="el">ελικοφόρο αεροσκάφος πολλαπλών ρόλων</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/MilitaryUnit"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/MeanOfTransportation"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/facilityId"> + <rdfs:label xml:lang="en">facility id</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/RadioStation"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/outskirts"> + <rdfs:label xml:lang="en">outskirts</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/organSystem"> + <rdfs:label xml:lang="en">organ system</rdfs:label><rdfs:comment xml:lang="en">the organ system that a anatomical structure belongs to</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/AnatomicalStructure"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/AnatomicalStructure"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/dec"> + <rdfs:label xml:lang="en">dec</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/openswarm"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/lunarSurfaceTime"> + <rdfs:label xml:lang="en">lunar surface time (s)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SpaceMission"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberOfClubs"> + <rdfs:label xml:lang="en">number of clubs</rdfs:label><rdfs:label xml:lang="fr">nombre de clubs</rdfs:label><rdfs:label xml:lang="es">numero de clubs</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Activity"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/majorityFloorLeader"> + <rdfs:label xml:lang="en">majority floor leader</rdfs:label><rdfs:comment xml:lang="en">number of office holder</rdfs:comment><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/lowestMountain"> + <rdfs:label xml:lang="en">lowest mountain</rdfs:label><rdfs:label xml:lang="el">χαμηλώτερο βουνό</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/Mountain"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/activity"> + <rdfs:label xml:lang="en">activity</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/FictionalCharacter"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberOfFederalDeputies"> + <rdfs:label xml:lang="en">Number Of Federal Deputies</rdfs:label><rdfs:label xml:lang="pt">numero de deputados federais</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/mouthState"> + <rdfs:label xml:lang="en">mouth state</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/River"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/novel"> + <rdfs:label xml:lang="en">novel</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/FictionalCharacter"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Novel"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/wikiPageID"> + <rdfs:label xml:lang="en">Wikipage page ID</rdfs:label><rdfs:comment xml:lang="en">Reserved for DBpedia.</rdfs:comment><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/geneLocation"> + <rdfs:label xml:lang="en">Gene Location</rdfs:label><rdfs:label xml:lang="ja">遺伝子座</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Gene"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/GeneLocation"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/retiredRocket"> + <rdfs:label xml:lang="en">retired rocket</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/YearInSpaceflight"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Rocket"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/aircraftHelicopter"> + <rdfs:label xml:lang="en">aircraft helicopter</rdfs:label><rdfs:label xml:lang="el">ελικοφόρο αεροσκάφος</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/MilitaryUnit"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/MeanOfTransportation"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/firstAppearance"> + <rdfs:label xml:lang="en">first appearance</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/FictionalCharacter"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/blazonRatio"> + <rdfs:label xml:lang="en">blazon ratio</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/homeColourHexCode"> + <rdfs:label xml:lang="en">colour hex code of home jersey or its parts</rdfs:label><rdfs:label xml:lang="de">Farben Hex Code des Heimtrikots oder Teile dieses</rdfs:label><rdfs:comment xml:lang="en">A colour represented by its hex code (e.g.: #FF0000 or #40E0D0).</rdfs:comment><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/chef"> + <rdfs:label xml:lang="en">chef</rdfs:label><rdfs:label xml:lang="nl">sous-chef</rdfs:label><rdfs:label xml:lang="el">chef</rdfs:label><rdfs:label xml:lang="fr">chef cuisinier</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Restaurant"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/sequenceNumber"> + <rdfs:label xml:lang="en">sequence number</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Installment"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/soccerLeagueSeason"> + <rdfs:label xml:lang="en">season</rdfs:label><rdfs:label xml:lang="tr">sezon</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SoccerLeagueSeason"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/SoccerLeagueSeason"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/soccerTournamentTopScorer"> + <rdfs:label xml:lang="en">top scorer</rdfs:label><rdfs:label xml:lang="tr">en golcü</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SoccerTournament"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/SoccerPlayer"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/chaouiSettlementName"> + <rdfs:label xml:lang="en">chaoui settlement name</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/AlgerianSettlement"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/neighbourhood"> + <rdfs:label xml:lang="en">neighbourhood of a hungarian settlement</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/HungarySettlement"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/sharingOutPopulationName"> + <rdfs:label xml:lang="en">sharing out population name</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/giniCoefficientCategory"> + <rdfs:label xml:lang="en">gini coefficient category</rdfs:label><rdfs:label xml:lang="pt">categoria do coeficiente de Gini</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/lessPopulatedCountry"> + <rdfs:label xml:lang="en">less populated country</rdfs:label><rdfs:label xml:lang="pt">país menos povoado</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Country"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Country"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/maintainedBy"> + <rdfs:label xml:lang="en">maintained by</rdfs:label><rdfs:label xml:lang="de">gewartet von</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/ArchitecturalStructure"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/stationEvaDuration"> + <rdfs:label xml:lang="en">station EVA duration (s)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SpaceMission"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/sourceMountain"> + <rdfs:label xml:lang="en">source mountain</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/Mountain"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/parliamentType"> + <rdfs:label xml:lang="en">parliament type</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/mirDockings"> + <rdfs:label xml:lang="en">mir dockings</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SpaceShuttle"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/believers"> + <rdfs:label xml:lang="en">Believers</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/ChristianDoctrine"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/memberOfParliament"> + <rdfs:label xml:lang="en">Member of Parliament</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/humanDevelopmentIndexAsOf"> + <rdfs:label xml:lang="en">human development index as of</rdfs:label><rdfs:label xml:lang="pt">Índice de desenvolvimento humano em</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/winterAppearances"> + <rdfs:label xml:lang="en">winter appearances</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/OlympicResult"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/OlympicResult"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/premiereDate"> + <rdfs:label xml:lang="en">premiere date</rdfs:label><rdfs:comment xml:lang="en">Date the play was first performed.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Play"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/cityLink"> + <rdfs:label xml:lang="en">city link</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/administrativeCenter"> + <rdfs:label xml:lang="en">administrative center</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/AlgerianSettlement"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Place"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/yearOfConstruction"> + <rdfs:label xml:lang="en">year of construction</rdfs:label><rdfs:label xml:lang="nl">bouwjaar</rdfs:label><rdfs:label xml:lang="de">Baujahr</rdfs:label><rdfs:label xml:lang="el">έτος κατασκευής</rdfs:label><rdfs:comment xml:lang="en">The year in which construction of the Place was finished.</rdfs:comment><rdfs:comment xml:lang="el">Το έτος στο οποίο ολοκληρώθηκε η κατασκευή ενός μέρους.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#gYear"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/landeshauptmann"> + <rdfs:label xml:lang="en">landeshauptmann</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/AustrianAdministrativeRegion"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/areaUrban"> + <rdfs:label xml:lang="en">area urban (m2)</rdfs:label><rdfs:label xml:lang="el">αστική περιοχή (m2)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/curator"> + <rdfs:label xml:lang="en">curator</rdfs:label><rdfs:label xml:lang="nl">conservator</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Museum"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/family"> + <rdfs:label xml:lang="el">οικογένεια</rdfs:label><rdfs:label xml:lang="fr">famille</rdfs:label><rdfs:label xml:lang="en">family</rdfs:label><rdfs:label xml:lang="ja">科_(分類学)</rdfs:label><rdfs:label xml:lang="nl">familie</rdfs:label><rdfs:label xml:lang="pl">rodzina</rdfs:label><rdfs:label xml:lang="de">familie</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Species"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Species"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/executiveProducer"> + <rdfs:label xml:lang="en">executive producer</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/transmission"> + <rdfs:label xml:lang="en">transmission</rdfs:label><rdfs:label xml:lang="el">μετάδοση</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Automobile"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/personName"> + <rdfs:label xml:lang="en">personName</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PersonFunction"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberOfParticipatingFemaleAthletes"> + <rdfs:label xml:lang="en">number of participating female athletes</rdfs:label><rdfs:label xml:lang="fr">nombre d'athlètes participant féminins</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Olympics"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/routeStartDirection"> + <rdfs:label xml:lang="en">road start direction</rdfs:label><rdfs:label xml:lang="de">Himmelsrichtung des Wegstarts</rdfs:label><rdfs:comment xml:lang="en">End of the route. For U.S. roads, this should be either "South" or "West" per the standards set by the U.S. Roads project.</rdfs:comment><rdfs:comment xml:lang="de">Himmelsrichtung des Anfangs des Verkehrsweges.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/RouteOfTransportation"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/meetingRoad"> + <rdfs:label xml:lang="en">meeting road</rdfs:label><rdfs:label xml:lang="de">zusammentreffende Straße</rdfs:label><rdfs:comment xml:lang="en">A road that crosses another road at the junction.</rdfs:comment><rdfs:comment xml:lang="de">Eine Straße die an der Kreuzung eine andere Straße kreuzt.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/RoadJunction"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Road"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/sportDiscipline"> + <rdfs:label xml:lang="en">sport discipline</rdfs:label><rdfs:label xml:lang="fr">discipline sportive</rdfs:label><rdfs:label xml:lang="nl">tak van sport</rdfs:label><rdfs:comment xml:lang="en">the sport discipline the athlete practices, e.g. Diving, or that a board member of a sporting club is focussing at</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Sport"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/winsAtKLPGA"> + <rdfs:label xml:lang="en">wins at KLPGA</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/GolfPlayer"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/highestPlace"> + <rdfs:label xml:lang="en">highest place</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/canonizedPlace"> + <rdfs:label xml:lang="en">canonized place</rdfs:label><rdfs:label xml:lang="nl">heiligverklaring plaats</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Saint"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/settlement"> + <rdfs:label xml:lang="en">settlement</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberOfEntrances"> + <rdfs:label xml:lang="en">number of entrances</rdfs:label><rdfs:label xml:lang="el">αριθμός εισόδων</rdfs:label><rdfs:label xml:lang="nl">aantal ingangen</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Cave"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/soccerTournamentMostSuccesfull"> + <rdfs:label xml:lang="en">most successfull</rdfs:label><rdfs:label xml:lang="tr">en başarılı</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SoccerTournament"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/SoccerClub"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/sexualOrientation"> + <rdfs:label xml:lang="en">sexual orientation</rdfs:label><rdfs:label xml:lang="pt">orientação sexual</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/senior"> + <rdfs:label xml:lang="en">senior</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/hsvCoordinateValue"> + <rdfs:label xml:lang="en">value coordinate in the HSV colour space</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Colour"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/internationalAffiliation"> + <rdfs:label xml:lang="en">international affiliation</rdfs:label><rdfs:label xml:lang="pt">afiliacao internacional</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PoliticalParty"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/welshName"> + <rdfs:label xml:lang="en">welsh name</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Settlement"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/penaltiesTeamB"> + <rdfs:label xml:lang="en">Penalties Team B</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PenaltyShootOut"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/characterInPlay"> + <rdfs:label xml:lang="en">character in play</rdfs:label><rdfs:comment xml:lang="en">Name of a character in play.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Play"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/sizeBlazon"> + <rdfs:label xml:lang="en">size blazon</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/waterArea"> + <rdfs:label xml:lang="en">area of water (m2)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/><owl:equivalentProperty rdf:resource="http://dbpedia.org/ontology/area"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/torqueOutput"> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/><rdfs:label xml:lang="en">torque output (Nm)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/AutomobileEngine"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/greekName"> + <rdfs:label xml:lang="en">city greek name</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberOfEpisodes"> + <rdfs:label xml:lang="en">number of episodes</rdfs:label><rdfs:label xml:lang="el">αριθμός επειδοδίων</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/TelevisionShow"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/><owl:equivalentProperty rdf:resource="http://schema.org/numberOfEpisodes"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/cannonNumber"> + <rdfs:label xml:lang="en">cannon number</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/campus"> + <rdfs:label xml:lang="en">campus</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/University"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/engineType"> + <rdfs:label xml:lang="en">engine type</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/MeanOfTransportation"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/mouthDistrict"> + <rdfs:label xml:lang="en">mouth district</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/River"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/prefect"> + <rdfs:label xml:lang="en">prefect of a romanian settlement</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/RomaniaSettlement"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/sourcePlace"> + <rdfs:label xml:lang="en">source place</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/bgafdId"> + <rdfs:label xml:lang="en">bgafd id</rdfs:label><rdfs:label xml:lang="el">bgafd id</rdfs:label><rdfs:label xml:lang="pt">código no bgafd</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Film"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/limit"> + <rdfs:label xml:lang="en">limit</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/governorGeneral"> + <rdfs:label xml:lang="en">governor general</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/populationRural"> + <rdfs:label xml:lang="en">population rural</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/startDate"> + <rdfs:label xml:lang="en">start date</rdfs:label><rdfs:label xml:lang="nl">startdatum</rdfs:label><rdfs:label xml:lang="fr">date de début</rdfs:label><rdfs:label xml:lang="es">fecha de inicio</rdfs:label><rdfs:comment xml:lang="en">The start date of the event.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Event"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/><owl:equivalentProperty rdf:resource="http://schema.org/startDate"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/formerHighschool"> + <rdfs:label xml:lang="en">former highschool</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/NationalCollegiateAthleticAssociationAthlete"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/EducationalInstitution"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/canton"> + <rdfs:label xml:lang="en">canton</rdfs:label><rdfs:label xml:lang="nl">kanton</rdfs:label><rdfs:label xml:lang="fr">canton</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Settlement"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Settlement"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/politicalPartyInLegislature"> + <rdfs:label xml:lang="en">political party in legislature</rdfs:label><rdfs:label xml:lang="de">politische Partei in der Legislative</rdfs:label><rdfs:comment xml:lang="en">Political party in the legislature (eg.: European People's Party in the European Parliament).</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Legislature"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/PoliticalParty"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/arielAward"> + <rdfs:label xml:lang="en">Ariel Award</rdfs:label><rdfs:label xml:lang="el">Ariel Award</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Actor"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Award"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/refseqprotein"> + <rdfs:label xml:lang="en">refseq protein</rdfs:label><rdfs:label xml:lang="ja">refseq protein</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Biomolecule"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/whaDraftTeam"> + <rdfs:label xml:lang="en">wha draft team</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/IceHockeyPlayer"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/HockeyTeam"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/firstAscentPerson"> + <rdfs:label xml:lang="en">person that first ascented a mountain</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Mountain"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/areaTotalRanking"> + <rdfs:label xml:lang="en">total area ranking</rdfs:label><rdfs:label xml:lang="el">συνολική περιοχή</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#positiveInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/abbreviation"> + <rdfs:label xml:lang="el">συντομογραφία</rdfs:label><rdfs:label xml:lang="fr">abréviation</rdfs:label><rdfs:label xml:lang="en">abbreviation</rdfs:label><rdfs:label xml:lang="nl">afkorting</rdfs:label><rdfs:label xml:lang="pl">skrót</rdfs:label><rdfs:label xml:lang="de">Abkürzung</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/firstAscentYear"> + <rdfs:label xml:lang="en">year of first ascent</rdfs:label><rdfs:label xml:lang="nl">jaar van de eerste beklimming</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Mountain"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#gYear"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/routeNumber"> + <rdfs:label xml:lang="en">route number</rdfs:label><rdfs:comment xml:lang="en">The number of the route.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/RouteOfTransportation"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/secondPopularVote"> + <rdfs:label xml:lang="en">secondPopularVote</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/frequentlyUpdated"> + <rdfs:label xml:lang="en">frequently updated</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Software"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/nationalTeam"> + <rdfs:label xml:lang="en">national team</rdfs:label><rdfs:label xml:lang="nl">nationaal team</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Athlete"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/SportsTeam"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/coExecutiveProducer"> + <rdfs:label xml:lang="en">co executive producer</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/TelevisionShow"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/chain"> + <rdfs:label xml:lang="en">chain</rdfs:label><rdfs:label xml:lang="de">kette</rdfs:label><rdfs:label xml:lang="el">αλυσίδα</rdfs:label><rdfs:comment xml:lang="en">The chain of Hotels this instance is associated with.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Hotel"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Company"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/v_hb"> + <rdfs:label xml:lang="en">V_hb</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Globularswarm"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/servingRailwayLine"> + <rdfs:label xml:lang="en">serving railway line</rdfs:label><rdfs:label xml:lang="nl">spoorlijnen</rdfs:label><rdfs:label xml:lang="de">angebundene Eisenbahnlinie</rdfs:label><rdfs:comment xml:lang="en">Railway services that serve the station.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Station"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/architect"> + <rdfs:label xml:lang="el">αρχιτέκτονας</rdfs:label><rdfs:label xml:lang="fr">architecte</rdfs:label><rdfs:label xml:lang="en">architect</rdfs:label><rdfs:label xml:lang="nl">architect</rdfs:label><rdfs:label xml:lang="de">Architekt</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/ArchitecturalStructure"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Architect"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/flagBearer"> + <rdfs:label xml:lang="en">flag bearer</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/OlympicResult"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/apoapsis"> + <rdfs:label xml:lang="en">apoapsis (μ)</rdfs:label><rdfs:label xml:lang="el">απόαψης (μ)</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/width"> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/><rdfs:label xml:lang="en">width (μ)</rdfs:label><rdfs:label xml:lang="nl">breedte (μ)</rdfs:label><rdfs:label xml:lang="de">Breite (μ)</rdfs:label><rdfs:label xml:lang="el">πλάτος (μ)</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/minimumDischarge"> + <rdfs:label xml:lang="en">minimum discharge (m³/s)</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/capitalPlace"> + <rdfs:label xml:lang="en">capital place</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Island"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/deputy"> + <rdfs:label xml:lang="en">deputy</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/discovery"> + <rdfs:label xml:lang="en">date when the island has been discovered</rdfs:label><rdfs:label xml:lang="nl">datum waarop het eiland is ontdekt</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Island"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/lunarLandingSite"> + <rdfs:label xml:lang="en">lunar landing site</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SpaceMission"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/isPartOfMilitaryConflict"> + <rdfs:label xml:lang="en">is part of military conflict</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/MilitaryConflict"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/MilitaryConflict"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/schoolBoard"> + <rdfs:label xml:lang="en">school board</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/School"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/component"> + <rdfs:label xml:lang="en">component</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Brain"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/AnatomicalStructure"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/rebuildingDate"> + <rdfs:label xml:lang="en">rebuilding date</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/ArchitecturalStructure"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/broadcastNetwork"> + <rdfs:label xml:lang="en">broadcast network</rdfs:label><rdfs:label xml:lang="de">Sendergruppe</rdfs:label><rdfs:label xml:lang="el">τηλεοπτικό κανάλι</rdfs:label><rdfs:label xml:lang="fr">chaîne de télévision généraliste</rdfs:label><rdfs:comment xml:lang="en">The parent broadcast network to which the broadcaster belongs.</rdfs:comment><rdfs:comment xml:lang="de">Die Sendergruppe zu dem der Rundfunkveranstalter gehört.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Broadcaster"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/BroadcastNetwork"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/decommissioningDate"> + <rdfs:label xml:lang="en">decommissioning date</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Ship"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/militaryCommand"> + <rdfs:label xml:lang="en">military command</rdfs:label><rdfs:comment xml:lang="en">For persons who are notable as commanding officers, the units they commanded. Dates should be given if multiple notable commands were held.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/MilitaryPerson"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberOfSettlement"> + <rdfs:label xml:lang="en">number of settlement inside a department</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Department"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/introductionDate"> + <rdfs:label xml:lang="en">introduction date</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/MeanOfTransportation"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/populationRuralDensity"> + <rdfs:label xml:lang="en">population density rural (/sqkm)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/longName"> + <rdfs:label xml:lang="en">longName</rdfs:label><rdfs:label xml:lang="nl">volledige naam</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/destination"> + <rdfs:label xml:lang="en">destination</rdfs:label><rdfs:label xml:lang="el">προορισμός</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Airline"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/marketCapitalisation"> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/><rdfs:label xml:lang="en">market capitalisation ($)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Company"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/appointer"> + <rdfs:label xml:lang="en">appointer</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/topFloorHeight"> + <rdfs:label xml:lang="en">tor floor height</rdfs:label><rdfs:label xml:lang="de">Höhe der höchsten Etage</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Skyscraper"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/ethnicGroupsInYear"> + <rdfs:label xml:lang="en">ethnic groups in year</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#gYear"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/firstLeader"> + <rdfs:label xml:lang="en">firstLeader</rdfs:label><rdfs:label xml:lang="el">πρώτος ηγέτης</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/battleHonours"> + <rdfs:label xml:lang="en">battle honours</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/MilitaryUnit"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/climbUpNumber"> + <rdfs:label xml:lang="en">clip up number</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/chairperson"> + <rdfs:label xml:lang="en">chairperson</rdfs:label><rdfs:label xml:lang="nl">voorzitter</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Organisation"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/firstPublicationYear"> + <rdfs:label xml:lang="en">first publication year</rdfs:label><rdfs:label xml:lang="de">Jahr der Erstausgabe</rdfs:label><rdfs:label xml:lang="el">πρώτο έτος δημοσίευσης</rdfs:label><rdfs:comment xml:lang="en">Year of the first publication.</rdfs:comment><rdfs:comment xml:lang="de">Jahr der ersten Veröffentlichung des Periodikums.</rdfs:comment><rdfs:comment xml:lang="el">Έτος της πρώτης δημοσίευσης.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PeriodicalLiterature"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#gYear"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/eyeColor"> + <rdfs:label xml:lang="en">eye color</rdfs:label><rdfs:label xml:lang="de">Augenfarbe</rdfs:label><rdfs:label xml:lang="pt">cor dos olhos</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/partialFailedLaunches"> + <rdfs:label xml:lang="en">partial failed launches</rdfs:label><rdfs:comment xml:lang="en">total number of launches resulting in partial failure</rdfs:comment><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/nameDay"> + <rdfs:label xml:lang="en">name day</rdfs:label><rdfs:label xml:lang="el">ονομαστική εορτή</rdfs:label><rdfs:label xml:lang="pl">imieniny</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/GivenName"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/millsCodeDutch"> + <rdfs:label xml:lang="en">mill code NL</rdfs:label><rdfs:label xml:lang="nl">molen code NL</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Mill"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/japanName"> + <rdfs:label xml:lang="en">japan name</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/geneLocationEnd"> + <rdfs:label xml:lang="en">gene location end</rdfs:label><rdfs:label xml:lang="ja">遺伝子座のエンド座標</rdfs:label><rdfs:comment xml:lang="en">the end of the gene</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/GeneLocation"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/championInDouble"> + <rdfs:label xml:lang="en">champion in double</rdfs:label><rdfs:label xml:lang="nl">kampioen dubbel</rdfs:label><rdfs:label xml:lang="fr">champion en double</rdfs:label><rdfs:label xml:lang="es">Campeón en doble</rdfs:label><rdfs:comment xml:lang="en">winner of a competition in the double session (as in tennis)</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SportsEvent"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Athlete"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/games"> + <rdfs:label xml:lang="en">games</rdfs:label><rdfs:label xml:lang="el">αγώνες</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/OlympicResult"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/sire"> + <rdfs:label xml:lang="en">sire</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Animal"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Animal"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/wins"> + <rdfs:label xml:lang="en">wins</rdfs:label><rdfs:label xml:lang="el">νίκες</rdfs:label><rdfs:label xml:lang="nl">zeges</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Athlete"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/fuelConsumption"> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/><rdfs:label xml:lang="en">fuel consumption</rdfs:label><rdfs:label xml:lang="nl">brandstofverbruik</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/AutomobileEngine"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/longDistancePisteNumber"> + <rdfs:label xml:lang="en">long distance piste number</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/mascot"> + <rdfs:label xml:lang="en">mascot</rdfs:label><rdfs:label xml:lang="pt">mascote</rdfs:label><rdfs:label xml:lang="fr">mascotte</rdfs:label><rdfs:comment xml:lang="en">something, especially a person or animal, used to symbolize a sports team, company, organization or other group.</rdfs:comment><rdfs:comment xml:lang="fr">Animal, poupée, objets divers servant de porte-bonheur ou d’emblème.</rdfs:comment><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/projectBudgetTotal"> + <rdfs:label xml:lang="en">project budget total ($)</rdfs:label><rdfs:comment xml:lang="en">The total budget of the research project.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/ResearchProject"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/leftTributary"> + <rdfs:label xml:lang="en">left tributary</rdfs:label><rdfs:label xml:lang="el">αριστεροί_παραπόταμοι</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/River"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/River"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/shoots"> + <rdfs:label xml:lang="en">shoots</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/IceHockeyPlayer"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/colourName"> + <rdfs:label xml:lang="en">色名</rdfs:label><rdfs:label xml:lang="de">Farbenname</rdfs:label><rdfs:label xml:lang="fr">nom de couleur</rdfs:label><rdfs:comment xml:lang="en">A colour represented by a string holding its name (e.g.: red or green).</rdfs:comment><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/startYearOfSales"> + <rdfs:label xml:lang="en">start year of sales</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Sales"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#gYear"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/introduced"> + <rdfs:label xml:lang="en">introduced</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Beverage"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/autonomy"> + <rdfs:label xml:lang="en">autonomy</rdfs:label><rdfs:label xml:lang="el">αυτονομία</rdfs:label> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/gameModus"> + <rdfs:label xml:lang="en">Modus the game can be played in</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/populationQuote"> + <rdfs:label xml:lang="en">population quote</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/initiallyUsedFor"> + <rdfs:label xml:lang="en">initally used for</rdfs:label><rdfs:label xml:lang="fr">usage initial</rdfs:label><rdfs:label xml:lang="es">uso inicial</rdfs:label><rdfs:comment xml:lang="en">Initial use of the architectural structure.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/ArchitecturalStructure"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/mostDownPoint"> + <rdfs:label xml:lang="en">most down point of a norwegian settlement</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/NorwaySettlement"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Place"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/day"> + <rdfs:label xml:lang="en">day</rdfs:label><rdfs:label xml:lang="el">ημέρα</rdfs:label><rdfs:label xml:lang="fr">jour</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Settlement"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/film"> + <rdfs:label xml:lang="el">ταινία</rdfs:label><rdfs:label xml:lang="fr">film</rdfs:label><rdfs:label xml:lang="en">film</rdfs:label><rdfs:label xml:lang="nl">film</rdfs:label><rdfs:label xml:lang="de">film</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/FilmFestival"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Film"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/goldenCalfAward"> + <rdfs:label xml:lang="en">Golden Calf Award</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Actor"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Award"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/trustee"> + <rdfs:label xml:lang="en">trustee</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Organisation"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/otherName"> + <rdfs:label xml:lang="en">other name</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/commissioningDate"> + <rdfs:label xml:lang="en">commissioning date</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Ship"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/minimumArea"> + <rdfs:label xml:lang="en">minimum area</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/playingTime"> + <rdfs:label xml:lang="en">playing time (s)</rdfs:label><rdfs:label xml:lang="nl">speeltijd (s)</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/functionStartYear"> + <rdfs:label xml:lang="en">function start year</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PersonFunction"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#gYear"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/capitalMountain"> + <rdfs:label xml:lang="en">capital mountain</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Island"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Mountain"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/decoration"> + <rdfs:label xml:lang="en">decoration</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/volume"> + <rdfs:label xml:lang="en">volume (μ³)</rdfs:label><rdfs:label xml:lang="nl">volume (μ³)</rdfs:label><rdfs:label xml:lang="el">όγκος (μ³)</rdfs:label><rdfs:label xml:lang="fr">volume (μ³)</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/growingGrape"> + <rdfs:label xml:lang="en">growing grape</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/WineRegion"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Grape"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/instrument"> + <rdfs:label xml:lang="en">instrument</rdfs:label><rdfs:label xml:lang="el">όργανο</rdfs:label><rdfs:label xml:lang="nl">instrument</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Artist"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Instrument"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/placeOfWorship"> + <rdfs:label xml:lang="en">place of worship</rdfs:label><rdfs:label xml:lang="nl">gebedsplaats</rdfs:label><rdfs:comment xml:lang="en">A religious administrative body needs to know which places of worship it</rdfs:comment><rdfs:comment xml:lang="nl">Een kerkelijke organisatie houdt bij welke gebedshuizen ze heeft</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/ClericalAdministrativeRegion"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Church"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/trainerYears"> + <rdfs:label xml:lang="en">trainer years</rdfs:label><rdfs:label xml:lang="nl">trainersjaren</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SoccerPlayer"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#gYear"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/productionEndYear"> + <rdfs:label xml:lang="en">production end year</rdfs:label><rdfs:label xml:lang="nl">productie eindjaar</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#gYear"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/actingHeadteacher"> + <rdfs:label xml:lang="en">acting headteacher</rdfs:label><rdfs:label xml:lang="el">διευθυντής σχολείου</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/School"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/millType"> + <rdfs:label xml:lang="el">τύπος μύλου</rdfs:label><rdfs:label xml:lang="en">mill type</rdfs:label><rdfs:label xml:lang="nl">molen-type</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Mill"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/peabodyAward"> + <rdfs:label xml:lang="en">Peabody Award</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Comedian"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Award"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/college"> + <rdfs:label xml:lang="en">college</rdfs:label><rdfs:label xml:lang="el">κολλέγιο</rdfs:label><rdfs:label xml:lang="fr">haute école</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/College"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/bridgeCarries"> + <rdfs:label xml:lang="en">bridge carries</rdfs:label><rdfs:label xml:lang="el">γέφυρα μεταφοράς</rdfs:label><rdfs:comment xml:lang="en">Type of vehicles the bridge carries.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Bridge"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/archipelago"> + <rdfs:label xml:lang="en">archipelago</rdfs:label><rdfs:label xml:lang="el">αρχιπέλαγος</rdfs:label><rdfs:label xml:lang="nl">archipel</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Atoll"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/algerianSettlementName"> + <rdfs:label xml:lang="en">algerian settlement name</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/AlgerianSettlement"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/other"> + <rdfs:label xml:lang="en">other</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/University"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/mayorCouncillor"> + <rdfs:label xml:lang="en">councillor of an austrian mayor</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/AustrianSettlement"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/locatedInArea"> + <rdfs:label xml:lang="en">located in area</rdfs:label><rdfs:label xml:lang="nl">landstreek</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Place"/><owl:equivalentProperty rdf:resource="http://schema.org/containedIn"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/skiPisteNumber"> + <rdfs:label xml:lang="en">ski piste number</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/dateOfBurial"> + <rdfs:label xml:lang="en">date of burial</rdfs:label><rdfs:label xml:lang="nl">datum begrafenis</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/icdo"> + <rdfs:label xml:lang="en">ICDO</rdfs:label><rdfs:label xml:lang="nl">ICDO</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Disease"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberOfLaunches"> + <rdfs:label xml:lang="en">number of launches</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/MeanOfTransportation"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/constructionMaterial"> + <rdfs:label xml:lang="en">construction material</rdfs:label><rdfs:label xml:lang="nl">bouwmateriaal</rdfs:label><rdfs:label xml:lang="de">Baumaterial</rdfs:label><rdfs:comment xml:lang="en">Construction material (eg. concrete, steel, iron, stone, brick, wood).</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/ArchitecturalStructure"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/displacement"> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/><rdfs:label xml:lang="en">displacement (μ³)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/AutomobileEngine"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/projectType"> + <rdfs:label xml:lang="en">project type</rdfs:label><rdfs:comment xml:lang="en">The type of the research project. Mostly used for the funding schemes of the European Union, for instance: Specific Targeted Research Projects (STREP), Network of Excellence (NoE) or Integrated Project.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/ResearchProject"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/buildingType"> + <rdfs:label xml:lang="en">buildingType</rdfs:label><rdfs:label xml:lang="el">Τύπος κτιρίου</rdfs:label><rdfs:label xml:lang="nl">soort gebouw</rdfs:label><rdfs:comment xml:lang="en">Type is too general. We should be able to distinguish types of music from types of architecture</rdfs:comment><rdfs:comment xml:lang="nl">Type is te algemeen. We moeten soorten muziek van soorten gebouwen kunnen onderscheiden</rdfs:comment><rdfs:comment xml:lang="el">Ο τύπος είναι πολύ γενικό.Θα πρέπει να είναι σε θέση να διακρίνουν τα είδη της μουσικής από τους τύπους της αρχιτεκτονικής</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Building"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/disappearanceDate"> + <rdfs:label xml:lang="en">date disappearance of a populated place</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/mountainRange"> + <rdfs:label xml:lang="en">mountain range</rdfs:label><rdfs:label xml:lang="nl">bergketen</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Mountain"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/MountainRange"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/irishName"> + <rdfs:label xml:lang="en">irish name</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Settlement"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/finalPublicationYear"> + <rdfs:label xml:lang="en">final publication year</rdfs:label><rdfs:label xml:lang="de">Jahr der finalen Ausgabe</rdfs:label><rdfs:comment xml:lang="en">Year of the final publication.</rdfs:comment><rdfs:comment xml:lang="de">Jahr der allerletzten Veröffentlichung des Periodikums.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PeriodicalLiterature"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#gYear"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/costumeDesigner"> + <rdfs:label xml:lang="en">costume designer</rdfs:label><rdfs:label xml:lang="it">costumista</rdfs:label><rdfs:comment xml:lang="en">the person who is responsible for the film costume design</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Film"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/religiousHeadLabel"> + <rdfs:label xml:lang="en">religious head label</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/School"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/distance"> + <rdfs:label xml:lang="en">distance (μ)</rdfs:label><rdfs:label xml:lang="de">Entfernung (μ)</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/cmykCoordinateBlack"> + <rdfs:label xml:lang="en">black coordinate in the CMYK space</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Colour"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/motto"> + <rdfs:label xml:lang="el">σύνθημα</rdfs:label><rdfs:label xml:lang="fr">devise</rdfs:label><rdfs:label xml:lang="en">motto</rdfs:label><rdfs:label xml:lang="nl">motto</rdfs:label><rdfs:label xml:lang="pt">lema</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/footedness"> + <rdfs:label xml:lang="en">Footedness</rdfs:label><rdfs:label xml:lang="pt">habilidade com o pé</rdfs:label><rdfs:comment xml:lang="en">a preference to put one's left or right foot forward in surfing, wakeboarding, skateboarding, wakeskating, snowboarding and mountainboarding. The term is sometimes applied to the foot a footballer uses to kick.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Sport"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/deathCause"> + <rdfs:label xml:lang="en">death cause</rdfs:label><rdfs:label xml:lang="nl">doodsoorzaak</rdfs:label><rdfs:label xml:lang="de">Todesursache</rdfs:label><rdfs:label xml:lang="el">αιτία_θανάτου</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/patent"> + <rdfs:label xml:lang="en">patent</rdfs:label><rdfs:label xml:lang="pt">patente</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/oldcode"> + <rdfs:label xml:lang="en">oldcode</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/OlympicResult"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/decay"> + <rdfs:label xml:lang="en">decay</rdfs:label><rdfs:label xml:lang="el">αποσύνθεση</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Spacecraft"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/predecessor"> + <rdfs:label xml:lang="en">predecessor</rdfs:label><rdfs:label xml:lang="nl">voorganger</rdfs:label><rdfs:label xml:lang="de">Vorgänger</rdfs:label><rdfs:label xml:lang="ja">前任者</rdfs:label> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/nssdcId"> + <rdfs:label xml:lang="en">NSSDC ID</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SpaceStation"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/iafdId"> + <rdfs:label xml:lang="en">iafd id</rdfs:label><rdfs:label xml:lang="el">iafd id</rdfs:label><rdfs:label xml:lang="pt">código no iafd</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Film"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/maoriName"> + <rdfs:label xml:lang="en">maori name</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/showJudge"> + <rdfs:label xml:lang="en">showJudge</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/TelevisionShow"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/runtime"> + <rdfs:label xml:lang="en">runtime (s)</rdfs:label><rdfs:label xml:lang="nl">duur (s)</rdfs:label><rdfs:label xml:lang="el">διάρκεια (s)</rdfs:label><rdfs:label xml:lang="fr">durée (s)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Work"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/><owl:equivalentProperty rdf:resource="http://schema.org/duration"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/timeZone"> + <rdfs:label xml:lang="el">ζώνη_ώρας1</rdfs:label><rdfs:label xml:lang="fr">fuseau horaire</rdfs:label><rdfs:label xml:lang="en">time zone</rdfs:label><rdfs:label xml:lang="nl">tijdzone</rdfs:label><rdfs:label xml:lang="pt">fuso horario</rdfs:label><rdfs:label xml:lang="pl">strefa czasowa</rdfs:label><rdfs:label xml:lang="es">huso horario</rdfs:label><rdfs:label xml:lang="ca">zona horària</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/rankingWins"> + <rdfs:label xml:lang="en">ranking wins</rdfs:label><rdfs:label xml:lang="de">Siege in Ranglistenturnieren</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SnookerPlayer"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/performer"> + <rdfs:label xml:lang="en">performer</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/FictionalCharacter"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/closingDate"> + <rdfs:label xml:lang="en">closing date</rdfs:label><rdfs:label xml:lang="el">ημερομηνία κλεισίματος</rdfs:label><rdfs:label xml:lang="fr">date de fermeture</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/borough"> + <rdfs:label xml:lang="en">borough</rdfs:label><rdfs:label xml:lang="el">δήμος</rdfs:label><rdfs:label xml:lang="nl">stadsdeel</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/agglomerationArea"> + <rdfs:label xml:lang="en">area of a agglomeration</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/highschool"> + <rdfs:label xml:lang="en">highschool</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/School"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/cmykCoordinateCyanic"> + <rdfs:label xml:lang="en">cyanic coordinate in the CMYK space</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Colour"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/frenchNickname"> + <rdfs:label xml:lang="en">french nickname for something</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/winsAtSun"> + <rdfs:label xml:lang="en">wins at sun</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/GolfPlayer"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/powerOutput"> + <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty"/><rdfs:label xml:lang="en">power output (W)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/AutomobileEngine"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/buildingEndYear"> + <rdfs:label xml:lang="en">building end year</rdfs:label><rdfs:label xml:lang="nl">bouw eindjaar</rdfs:label><rdfs:label xml:lang="el">έτος λήξης κατασκευής</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/ArchitecturalStructure"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#gYear"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/maximumDepth"> + <rdfs:label xml:lang="en">maximum depth (μ)</rdfs:label><rdfs:label xml:lang="el">μέγιστο_βάθος (μ)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/rankPopulation"> + <rdfs:label xml:lang="en">rank of a population</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/period"> + <rdfs:label xml:lang="en">event period</rdfs:label><rdfs:label xml:lang="nl">periode</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/notableIdea"> + <rdfs:label xml:lang="en">notableIdea</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/uRN"> + <rdfs:label xml:lang="en">unique reference number (URN)</rdfs:label><rdfs:comment xml:lang="en">DfE unique reference number of a school in England or Wales</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/School"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/comitat"> + <rdfs:label xml:lang="en">comitat of a settlement</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/HungarySettlement"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/stylisticOrigin"> + <rdfs:label xml:lang="en">stylistic origin</rdfs:label><rdfs:label xml:lang="pt">origens estilísticas</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/MusicGenre"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/MusicGenre"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/leadership"> + <rdfs:label xml:lang="en">leadership</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/penaltyScore"> + <rdfs:label xml:lang="en">penalty score</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PenaltyShootOut"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/areaCode"> + <rdfs:label xml:lang="de">Vorwahl</rdfs:label><rdfs:label xml:lang="en">area code</rdfs:label><rdfs:label xml:lang="nl">netnummer</rdfs:label><rdfs:label xml:lang="el">κωδικός_περιοχής</rdfs:label><rdfs:comment xml:lang="en">Area code for telephone numbers.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/coolingSystem"> + <rdfs:label xml:lang="en">cooling system</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/AutomobileEngine"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/free"> + <rdfs:label xml:lang="en">free</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/FictionalCharacter"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/pastor"> + <rdfs:label xml:lang="en">pastor</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/HistoricBuilding"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/simcCode"> + <rdfs:label xml:lang="en">SIMC code</rdfs:label><rdfs:comment xml:lang="en">indexing code used by the Polish National Official Register of the Territorial Division of the Country (TERYT) to identify various entities</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/designCompany"> + <rdfs:label xml:lang="en">designer company</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/MeanOfTransportation"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Company"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/engine"> + <rdfs:label xml:lang="en">engine</rdfs:label><rdfs:label xml:lang="el">μηχανή</rdfs:label><rdfs:label xml:lang="pt">motor</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Automobile"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/AutomobileEngine"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/afiAward"> + <rdfs:label xml:lang="en">AFI Award</rdfs:label><rdfs:label xml:lang="el">βραβείο AFI</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Artist"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Award"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/endangeredSince"> + <rdfs:label xml:lang="en">endangered since</rdfs:label><rdfs:label xml:lang="pt">em perigo desde</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/watercourse"> + <rdfs:label xml:lang="en">watercourse</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/issn"> + <rdfs:label xml:lang="en">issn</rdfs:label><rdfs:label xml:lang="nl">ISSN</rdfs:label><rdfs:label xml:lang="el">issn</rdfs:label><rdfs:label xml:lang="de">ISSN</rdfs:label><rdfs:comment xml:lang="en">International Standard Serial Number (ISSN)</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PeriodicalLiterature"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/heightAboveAverageTerrain"> + <rdfs:label xml:lang="en">height above average terrain (μ)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Broadcaster"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/producer"> + <rdfs:label xml:lang="en">producer</rdfs:label><rdfs:label xml:lang="nl">producent</rdfs:label><rdfs:label xml:lang="de">Produzent</rdfs:label><rdfs:label xml:lang="el">παραγωγός</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/><owl:equivalentProperty rdf:resource="http://schema.org/producer"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/railwayLineUsingTunnel"> + <rdfs:label xml:lang="en">railway line using tunnel</rdfs:label><rdfs:label xml:lang="de">Tunnel benutzende Eisenbahnlinie</rdfs:label><rdfs:comment xml:lang="en">Railway line that is using the tunnel.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/RailwayTunnel"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/pisciculturalPopulation"> + <rdfs:label xml:lang="en">piscicultural population</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/chEBI"> + <rdfs:label xml:lang="en">ChEBI</rdfs:label><rdfs:comment xml:lang="en">A unique identifier for the drug in the Chemical Entities of Biological Interest (ChEBI) ontology</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Drug"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/relief"> + <rdfs:label xml:lang="en">relief</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/digitalChannel"> + <rdfs:label xml:lang="en">digital channel</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Broadcaster"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/aircraftType"> + <rdfs:label xml:lang="en">aircraft type</rdfs:label><rdfs:label xml:lang="el">τύπος αεροσκάφους</rdfs:label><rdfs:label xml:lang="es">tipo de avión</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Aircraft"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/leaderTitle"> + <rdfs:label xml:lang="en">leader title</rdfs:label><rdfs:label xml:lang="el">τίτλος_αρχηγού</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/jureLanguage"> + <rdfs:label xml:lang="en">jure language</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/Language"/><owl:equivalentProperty rdf:resource="http://dbpedia.org/ontology/language"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/urbanArea"> + <rdfs:label xml:lang="en">urban area</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/AlgerianSettlement"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/prospectLeague"> + <rdfs:label xml:lang="en">prospect league</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/IceHockeyPlayer"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/beatifiedPlace"> + <rdfs:label xml:lang="en">beatified place</rdfs:label><rdfs:label xml:lang="nl">zalig verklaard plaats</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Saint"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/maidenVoyage"> + <rdfs:label xml:lang="en">maiden voyage</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Ship"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/nominee"> + <rdfs:label xml:lang="en">nominee</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/month"> + <rdfs:label xml:lang="en">month</rdfs:label><rdfs:label xml:lang="el">μήνας</rdfs:label><rdfs:label xml:lang="de">Monat</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/architecturalMovement"> + <rdfs:label xml:lang="en">architectural movement</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/destructionDate"> + <rdfs:label xml:lang="en">destruction date</rdfs:label><rdfs:label xml:lang="nl">sloopdatum</rdfs:label><rdfs:label xml:lang="el">ημερομηνία καταστροφής</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/touaregSettlementName"> + <rdfs:label xml:lang="en">touareg settlement name</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/AlgerianSettlement"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/olympicOathSwornByJudge"> + <rdfs:label xml:lang="en">olympic oath sworn by judge</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Olympics"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/reopeningYear"> + <rdfs:label xml:lang="en">reopening year</rdfs:label><rdfs:label xml:lang="nl">heropening jaar</rdfs:label><rdfs:comment xml:lang="en">Year of reopening the architectural structure.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/ArchitecturalStructure"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#gYear"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/impactFactorAsOf"> + <rdfs:label xml:lang="en">impact factor as of</rdfs:label><rdfs:label xml:lang="de">Impact Factor ist von</rdfs:label><rdfs:comment xml:lang="en">Census year of the imapct factor.</rdfs:comment><rdfs:comment xml:lang="de">Erhebungsjahr des Impact Factors.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/AcademicJournal"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#gYear"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberOfMembersAsOf"> + <rdfs:label xml:lang="en">number of members as of</rdfs:label><rdfs:label xml:lang="pt">numero de membros em</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PoliticalParty"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/chairman"> + <rdfs:label xml:lang="en">chairman</rdfs:label><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/noteOnPlaceOfBurial"> + <rdfs:label xml:lang="en">note on place of burial</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/MilitaryPerson"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/product"> + <rdfs:label xml:lang="en">product</rdfs:label><rdfs:label xml:lang="de">Produkt</rdfs:label><rdfs:label xml:lang="el">προϊόν</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Organisation"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/access"> + <rdfs:label xml:lang="en">access</rdfs:label><rdfs:label xml:lang="el">πρόσβαση</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/americanComedyAward"> + <rdfs:label xml:lang="en">American Comedy Award</rdfs:label><rdfs:label xml:lang="el">αμερικάνικο βραβείο κωμωδίας</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Comedian"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Award"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/demolitionDate"> + <rdfs:label xml:lang="en">demolition date</rdfs:label><rdfs:label xml:lang="el">ημερομηνία κατεδάφισης</rdfs:label><rdfs:comment xml:lang="en">The date the building was demolished.</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/ArchitecturalStructure"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/lunarSampleMass"> + <rdfs:label xml:lang="en">lunar sample mass (g)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SpaceMission"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/affiliate"> + <rdfs:label xml:lang="en">affiliate</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/FictionalCharacter"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/authority"> + <rdfs:label xml:lang="en">authority</rdfs:label><rdfs:label xml:lang="nl">autoriteit</rdfs:label><rdfs:label xml:lang="el">αρχή</rdfs:label> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/drainsTo"> + <rdfs:label xml:lang="en">drains to</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/AnatomicalStructure"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/AnatomicalStructure"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/occitanName"> + <rdfs:label xml:lang="en">city occitan name</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/filmAudioType"> + <rdfs:label xml:lang="en">film audio type</rdfs:label><rdfs:comment xml:lang="en">specifies the audio type of the film i.e. 'sound' or 'silent'</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Film"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/longtype"> + <rdfs:label xml:lang="en">longtype</rdfs:label><rdfs:comment xml:lang="en">can be used to include more informations e.g. the name of the artist that a tribute album is in honor of</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Album"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/sourceConfluencePlace"> + <rdfs:label xml:lang="en">source confluence place</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/River"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Place"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/parish"> + <rdfs:label xml:lang="en">parish</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/campusSize"> + <rdfs:label xml:lang="en">campus size (m2)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/School"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/gender"> + <rdfs:label xml:lang="en">gender</rdfs:label><rdfs:label xml:lang="el">φύλο</rdfs:label><rdfs:label xml:lang="de">Geschlecht</rdfs:label><rdfs:label xml:lang="nl">geslacht</rdfs:label> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/headChef"> + <rdfs:label xml:lang="en">head chef</rdfs:label><rdfs:label xml:lang="nl">chef-kok</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Restaurant"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/areaRural"> + <rdfs:label xml:lang="en">area rural (m2)</rdfs:label><rdfs:label xml:lang="el">αγροτική περιοχή (m2)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/relatedPlaces"> + <rdfs:label xml:lang="en">related places</rdfs:label><rdfs:label xml:lang="nl">soortgelijke plaatsen</rdfs:label><rdfs:comment xml:lang="en">This property is to accommodate the list field that contains a list of, e.g., monuments in the same town</rdfs:comment><rdfs:comment xml:lang="nl">Deze property is voor de lijst van monumenten die horen bij het monument van de infobox</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Place"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/List"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/classis"> + <rdfs:label xml:lang="en">classis</rdfs:label><rdfs:label xml:lang="nl">klasse</rdfs:label><rdfs:label xml:lang="ja">綱_(分類学)</rdfs:label><rdfs:comment xml:lang="en">the living thing class (from the Latin "classis"), according to the biological taxonomy</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Species"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/decideDate"> + <rdfs:label xml:lang="en">decide date</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SupremeCourtOfTheUnitedStatesCase"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/quotation"> + <rdfs:label xml:lang="en">quotation</rdfs:label><rdfs:label xml:lang="fr">citation</rdfs:label><rdfs:label xml:lang="es">cita</rdfs:label><rdfs:comment xml:lang="en">A quotation is the repetition of one expression as part of another one, particularly when the quoted expression is well-known or explicitly attributed by citation to its original source.</rdfs:comment><rdfs:comment xml:lang="fr">Une citation est la reproduction d'un court extrait d'un propos ou d'un écrit antérieur dans la rédaction d'un texte ou dans une forme d'expression orale.</rdfs:comment><rdfs:comment xml:lang="es">En su acepción más amplia, una cita es un recurso retórico que consiste en reproducir un fragmento de una expresión humana respetando su formulación original.</rdfs:comment><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/previousInfrastructure"> + <rdfs:label xml:lang="en">previous infrastructure</rdfs:label><rdfs:label xml:lang="nl">vorige infrastructuur</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Infrastructure"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Infrastructure"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/schoolPatron"> + <rdfs:label xml:lang="en">school patron</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/School"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/coProducer"> + <rdfs:label xml:lang="en">co producer</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/TelevisionShow"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/Person"/> + </owl:ObjectProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/tvShow"> + <rdfs:label xml:lang="en">tvShow</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/FictionalCharacter"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/TelevisionShow"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/barangays"> + <rdfs:label xml:lang="en">barangays</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/managerYears"> + <rdfs:label xml:lang="en">manager years</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SoccerPlayer"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/mainspan"> + <rdfs:label xml:lang="en">mainspan (μ)</rdfs:label><rdfs:label xml:lang="fr">portée principale (μ)</rdfs:label><rdfs:label xml:lang="el">κύρια καμάρα (μ)</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Bridge"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/numberOfCrew"> + <rdfs:label xml:lang="en">number of crew</rdfs:label><rdfs:label xml:lang="el">αριθμός πληρώματος</rdfs:label><rdfs:label xml:lang="nl">aantal bemanningsleden</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/MeanOfTransportation"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/averageSpeed"> + <rdfs:label xml:lang="en">average speed (kmh)</rdfs:label><rdfs:label xml:lang="de">Durchschnittsgeschwindigkeit (kmh)</rdfs:label><rdfs:label xml:lang="el">μέση ταχύτητα (kmh)</rdfs:label><rdfs:comment xml:lang="en">The average speed of a thing.</rdfs:comment><rdfs:comment xml:lang="el">Η μέση ταχύτητα ενός πράγματος.</rdfs:comment><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/currentStatus"> + <rdfs:label xml:lang="en">current status</rdfs:label><rdfs:label xml:lang="nl">huidige status</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:ObjectProperty rdf:about="http://dbpedia.org/ontology/isPartOfWineRegion"> + <rdfs:label xml:lang="en">is part of wine region</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/WineRegion"/><rdfs:range rdf:resource="http://dbpedia.org/ontology/WineRegion"/> + </owl:ObjectProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/dischargeAverage"> + <rdfs:label xml:lang="en">discharge average (m³/s)</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#double"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/capacity"> + <rdfs:label xml:lang="en">capacity</rdfs:label><rdfs:label xml:lang="fr">capacité</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/SoccerClub"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/aitaCode"> + <rdfs:label xml:lang="en">aita code</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/dateClosed"> + <rdfs:label xml:lang="en">date closed</rdfs:label><rdfs:label xml:lang="el">τερματισμός_λειτουργίας</rdfs:label><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Canal"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#date"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/nickname"> + <rdfs:label xml:lang="en">nickname for something</rdfs:label><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/millsCodeNL"> + <rdfs:label xml:lang="en">mill code NL</rdfs:label><rdfs:label xml:lang="nl">molen code NL</rdfs:label><rdfs:comment xml:lang="en">mills code from the central Dutch database on mills</rdfs:comment><rdfs:comment xml:lang="nl">unieke code voor molens in www.molendatabase.nl</rdfs:comment><rdfs:domain rdf:resource="http://dbpedia.org/ontology/Mill"/><rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/Weapon/length"> + <rdfs:label xml:lang="el">μήκος (mm)</rdfs:label><rdfs:label xml:lang="fr">longueur (mm)</rdfs:label><rdfs:label xml:lang="en">length (mm)</rdfs:label><rdfs:label xml:lang="nl">lengte (mm)</rdfs:label><rdfs:label xml:lang="de">Länge (mm)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/Weapon"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/millimetre"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/Automobile/wheelbase"> + <rdfs:label xml:lang="en">wheelbase (mm)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/Automobile"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/millimetre"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/Spacecraft/totalMass"> + <rdfs:label xml:lang="en">total mass (kg)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/Spacecraft"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/kilogram"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/PopulatedPlace/areaUrban"> + <rdfs:label xml:lang="en">area urban (km2)</rdfs:label><rdfs:label xml:lang="el">αστική περιοχή (km2)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/squareKilometre"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/SpaceMission/lunarSampleMass"> + <rdfs:label xml:lang="en">lunar sample mass (kg)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/SpaceMission"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/kilogram"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/Galaxy/volume"> + <rdfs:label xml:lang="en">volume (km3)</rdfs:label><rdfs:label xml:lang="nl">volume (km3)</rdfs:label><rdfs:label xml:lang="el">όγκος (km3)</rdfs:label><rdfs:label xml:lang="fr">volume (km3)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/Galaxy"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/cubicKilometre"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/Lake/volume"> + <rdfs:label xml:lang="en">volume (μ³)</rdfs:label><rdfs:label xml:lang="nl">volume (μ³)</rdfs:label><rdfs:label xml:lang="el">όγκος (μ³)</rdfs:label><rdfs:label xml:lang="fr">volume (μ³)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/Lake"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/cubicMetre"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/AutomobileEngine/pistonStroke"> + <rdfs:label xml:lang="en">piston stroke (mm)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/AutomobileEngine"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/millimetre"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/Spacecraft/cargoWater"> + <rdfs:label xml:lang="en">cargo water (kg)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/Spacecraft"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/kilogram"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/AutomobileEngine/length"> + <rdfs:label xml:lang="el">μήκος (mm)</rdfs:label><rdfs:label xml:lang="fr">longueur (mm)</rdfs:label><rdfs:label xml:lang="en">length (mm)</rdfs:label><rdfs:label xml:lang="nl">lengte (mm)</rdfs:label><rdfs:label xml:lang="de">Länge (mm)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/AutomobileEngine"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/millimetre"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/SpaceMission/mass"> + <rdfs:label xml:lang="en">mass (kg)</rdfs:label><rdfs:label xml:lang="el">μάζα (kg)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/SpaceMission"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/kilogram"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/Galaxy/periapsis"> + <rdfs:label xml:lang="en">periapsis (km)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/Galaxy"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/kilometre"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/Spacecraft/dockedTime"> + <rdfs:label xml:lang="en">docked time (μ)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/Spacecraft"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/day"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/Galaxy/apoapsis"> + <rdfs:label xml:lang="en">apoapsis (km)</rdfs:label><rdfs:label xml:lang="el">απόαψης (km)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/Galaxy"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/kilometre"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/Weapon/diameter"> + <rdfs:label xml:lang="en">diameter (mm)</rdfs:label><rdfs:label xml:lang="nl">diameter (mm)</rdfs:label><rdfs:label xml:lang="fr">diamètre (mm)</rdfs:label><rdfs:label xml:lang="el">διάμετρος (mm)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/Weapon"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/millimetre"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/Canal/originalMaximumBoatLength"> + <rdfs:label xml:lang="en">original maximum boat length (μ)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/Canal"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/metre"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/SpaceMission/stationVisitDuration"> + <rdfs:label xml:lang="en">station visit duration (ω)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/SpaceMission"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/hour"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/Spacecraft/cargoFuel"> + <rdfs:label xml:lang="en">cargo fuel (kg)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/Spacecraft"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/kilogram"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/Stream/minimumDischarge"> + <rdfs:label xml:lang="en">minimum discharge (m³/s)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/Stream"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/cubicMetrePerSecond"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/Planet/periapsis"> + <rdfs:label xml:lang="en">periapsis (km)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/Planet"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/kilometre"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/ChemicalSubstance/boilingPoint"> + <rdfs:label xml:lang="el">σημείο βρασμού (K)</rdfs:label><rdfs:label xml:lang="fr">point d'ébullition (K)</rdfs:label><rdfs:label xml:lang="en">boiling point (K)</rdfs:label><rdfs:label xml:lang="ja">沸点 (K)</rdfs:label><rdfs:label xml:lang="nl">kookpunt (K)</rdfs:label><rdfs:label xml:lang="de">Siedepunkt (K)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/ChemicalSubstance"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/kelvin"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/AutomobileEngine/weight"> + <rdfs:label xml:lang="el">βάρος (kg)</rdfs:label><rdfs:label xml:lang="fr">poids (kg)</rdfs:label><rdfs:label xml:lang="en">weight (kg)</rdfs:label><rdfs:label xml:lang="ja">体重 (kg)</rdfs:label><rdfs:label xml:lang="nl">gewicht (kg)</rdfs:label><rdfs:label xml:lang="pt">peso (kg)</rdfs:label><rdfs:label xml:lang="de">Gewicht (kg)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/AutomobileEngine"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/kilogram"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/MeanOfTransportation/width"> + <rdfs:label xml:lang="en">width (mm)</rdfs:label><rdfs:label xml:lang="nl">breedte (mm)</rdfs:label><rdfs:label xml:lang="de">Breite (mm)</rdfs:label><rdfs:label xml:lang="el">πλάτος (mm)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/MeanOfTransportation"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/millimetre"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/Planet/apoapsis"> + <rdfs:label xml:lang="en">apoapsis (km)</rdfs:label><rdfs:label xml:lang="el">απόαψης (km)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/Planet"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/kilometre"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/Stream/watershed"> + <rdfs:label xml:lang="en">watershed (km2)</rdfs:label><rdfs:label xml:lang="nl">waterscheiding (km2)</rdfs:label><rdfs:label xml:lang="es">cuenca hidrográfica (km2)</rdfs:label><rdfs:label xml:lang="el">λεκάνη_απορροής (km2)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/Stream"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/squareKilometre"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/Rocket/mass"> + <rdfs:label xml:lang="en">mass (kg)</rdfs:label><rdfs:label xml:lang="el">μάζα (kg)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/Rocket"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/kilogram"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/Canal/maximumBoatLength"> + <rdfs:label xml:lang="en">maximum boat length (μ)</rdfs:label><rdfs:label xml:lang="el">μέγιστο_μήκος_πλοίου (μ)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/Canal"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/metre"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/Planet/meanTemperature"> + <rdfs:label xml:lang="en">mean temperature (K)</rdfs:label><rdfs:label xml:lang="el">μέση θερμοκρασία (K)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/Planet"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/kelvin"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/PopulatedPlace/areaMetro"> + <rdfs:label xml:lang="en">area metro (km2)</rdfs:label><rdfs:label xml:lang="el">περιοχή μετρό (km2)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/squareKilometre"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/Astronaut/timeInSpace"> + <rdfs:label xml:lang="en">time in space (m)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/Astronaut"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/minute"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/Stream/dischargeAverage"> + <rdfs:label xml:lang="en">discharge average (m³/s)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/Stream"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/cubicMetrePerSecond"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/Weapon/width"> + <rdfs:label xml:lang="en">width (mm)</rdfs:label><rdfs:label xml:lang="nl">breedte (mm)</rdfs:label><rdfs:label xml:lang="de">Breite (mm)</rdfs:label><rdfs:label xml:lang="el">πλάτος (mm)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/Weapon"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/millimetre"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/Spacecraft/port2DockedTime"> + <rdfs:label xml:lang="en">port2 docked time (μ)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/Spacecraft"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/day"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/MeanOfTransportation/weight"> + <rdfs:label xml:lang="el">βάρος (kg)</rdfs:label><rdfs:label xml:lang="fr">poids (kg)</rdfs:label><rdfs:label xml:lang="en">weight (kg)</rdfs:label><rdfs:label xml:lang="ja">体重 (kg)</rdfs:label><rdfs:label xml:lang="nl">gewicht (kg)</rdfs:label><rdfs:label xml:lang="pt">peso (kg)</rdfs:label><rdfs:label xml:lang="de">Gewicht (kg)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/MeanOfTransportation"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/kilogram"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/PopulatedPlace/populationMetroDensity"> + <rdfs:label xml:lang="en">population metro density (/sqkm)</rdfs:label><rdfs:label xml:lang="nl">bevolkingsdichtheid (/sqkm)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/inhabitantsPerSquareKilometre"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/MeanOfTransportation/length"> + <rdfs:label xml:lang="el">μήκος (mm)</rdfs:label><rdfs:label xml:lang="fr">longueur (mm)</rdfs:label><rdfs:label xml:lang="en">length (mm)</rdfs:label><rdfs:label xml:lang="nl">lengte (mm)</rdfs:label><rdfs:label xml:lang="de">Länge (mm)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/MeanOfTransportation"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/millimetre"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/MeanOfTransportation/mass"> + <rdfs:label xml:lang="en">mass (kg)</rdfs:label><rdfs:label xml:lang="el">μάζα (kg)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/MeanOfTransportation"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/kilogram"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/SpaceMission/distanceTraveled"> + <rdfs:label xml:lang="en">distance traveled (km)</rdfs:label><rdfs:label xml:lang="nl">afgelegde afstand (km)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/SpaceMission"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/kilometre"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/GeopoliticalOrganisation/populationDensity"> + <rdfs:label xml:lang="en">population density (/sqkm)</rdfs:label><rdfs:label xml:lang="nl">bevolkingsdichtheid (/sqkm)</rdfs:label><rdfs:label xml:lang="de">Bevölkerungsdichte (/sqkm)</rdfs:label><rdfs:label xml:lang="el">πυκνότητα_πληθυσμού (/sqkm)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/GeopoliticalOrganisation"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/inhabitantsPerSquareKilometre"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/Weapon/height"> + <rdfs:label xml:lang="el">ύψος (mm)</rdfs:label><rdfs:label xml:lang="fr">hauteur (mm)</rdfs:label><rdfs:label xml:lang="en">height (mm)</rdfs:label><rdfs:label xml:lang="ja">身長 (mm)</rdfs:label><rdfs:label xml:lang="nl">hoogte (mm)</rdfs:label><rdfs:label xml:lang="sl">višina (mm)</rdfs:label><rdfs:label xml:lang="pt">altura (mm)</rdfs:label><rdfs:label xml:lang="de">Höhe (mm)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/Weapon"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/millimetre"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/Stream/maximumDischarge"> + <rdfs:label xml:lang="en">maximum discharge (m³/s)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/Stream"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/cubicMetrePerSecond"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/Galaxy/maximumTemperature"> + <rdfs:label xml:lang="en">maximum temperature (K)</rdfs:label><rdfs:label xml:lang="el">μέγιστη θερμοκρασία (K)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/Galaxy"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/kelvin"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/Spacecraft/periapsis"> + <rdfs:label xml:lang="en">periapsis (km)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/Spacecraft"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/kilometre"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/AutomobileEngine/width"> + <rdfs:label xml:lang="en">width (mm)</rdfs:label><rdfs:label xml:lang="nl">breedte (mm)</rdfs:label><rdfs:label xml:lang="de">Breite (mm)</rdfs:label><rdfs:label xml:lang="el">πλάτος (mm)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/AutomobileEngine"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/millimetre"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/AutomobileEngine/powerOutput"> + <rdfs:label xml:lang="en">power output (kW)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/AutomobileEngine"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/kilowatt"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/Spacecraft/totalCargo"> + <rdfs:label xml:lang="en">total cargo (kg)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/Spacecraft"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/kilogram"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/Spacecraft/freeFlightTime"> + <rdfs:label xml:lang="en">free flight time (μ)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/Spacecraft"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/day"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/SpaceShuttle/timeInSpace"> + <rdfs:label xml:lang="en">time in space (μ)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/SpaceShuttle"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/day"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/PopulatedPlace/areaTotal"> + <rdfs:label xml:lang="el">έκταση περιοχής (km2)</rdfs:label><rdfs:label xml:lang="fr">superficie (km2)</rdfs:label><rdfs:label xml:lang="en">area total (km2)</rdfs:label><rdfs:label xml:lang="nl">oppervlakte (km2)</rdfs:label><rdfs:label xml:lang="de">Fläche (km2)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/squareKilometre"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/Stream/discharge"> + <rdfs:label xml:lang="en">discharge (m³/s)</rdfs:label><rdfs:label xml:lang="el">εκροή (m³/s)</rdfs:label><rdfs:label xml:lang="nl">uitstoot (m³/s)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/Stream"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/cubicMetrePerSecond"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/SpaceMission/lunarSurfaceTime"> + <rdfs:label xml:lang="en">lunar surface time (ω)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/SpaceMission"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/hour"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/Drug/boilingPoint"> + <rdfs:label xml:lang="el">σημείο βρασμού (K)</rdfs:label><rdfs:label xml:lang="fr">point d'ébullition (K)</rdfs:label><rdfs:label xml:lang="en">boiling point (K)</rdfs:label><rdfs:label xml:lang="ja">沸点 (K)</rdfs:label><rdfs:label xml:lang="nl">kookpunt (K)</rdfs:label><rdfs:label xml:lang="de">Siedepunkt (K)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/Drug"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/kelvin"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/Canal/maximumBoatBeam"> + <rdfs:label xml:lang="en">maximum boat beam (μ)</rdfs:label><rdfs:label xml:lang="el">μέγιστο_πλάτος_πλοίου (μ)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/Canal"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/metre"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/ChemicalSubstance/density"> + <rdfs:label xml:lang="el">πυκνότητα (μ3)</rdfs:label><rdfs:label xml:lang="fr">densité (μ3)</rdfs:label><rdfs:label xml:lang="en">density (μ3)</rdfs:label><rdfs:label xml:lang="ja">密度 (μ3)</rdfs:label><rdfs:label xml:lang="pt">densidade (μ3)</rdfs:label><rdfs:label xml:lang="de">Dichte (μ3)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/ChemicalSubstance"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/kilogramPerCubicMetre"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/Automobile/fuelCapacity"> + <rdfs:label xml:lang="en">fuel capacity (l)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/Automobile"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/litre"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/Planet/maximumTemperature"> + <rdfs:label xml:lang="en">maximum temperature (K)</rdfs:label><rdfs:label xml:lang="el">μέγιστη θερμοκρασία (K)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/Planet"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/kelvin"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/PopulatedPlace/populationDensity"> + <rdfs:label xml:lang="en">population density (/sqkm)</rdfs:label><rdfs:label xml:lang="nl">bevolkingsdichtheid (/sqkm)</rdfs:label><rdfs:label xml:lang="de">Bevölkerungsdichte (/sqkm)</rdfs:label><rdfs:label xml:lang="el">πυκνότητα_πληθυσμού (/sqkm)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/inhabitantsPerSquareKilometre"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/AutomobileEngine/cylinderBore"> + <rdfs:label xml:lang="en">cylinder bore (mm)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/AutomobileEngine"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/millimetre"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/SpaceMission/lunarOrbitTime"> + <rdfs:label xml:lang="en">lunar orbit time (ω)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/SpaceMission"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/hour"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/Galaxy/density"> + <rdfs:label xml:lang="el">πυκνότητα (μ3)</rdfs:label><rdfs:label xml:lang="fr">densité (μ3)</rdfs:label><rdfs:label xml:lang="en">density (μ3)</rdfs:label><rdfs:label xml:lang="ja">密度 (μ3)</rdfs:label><rdfs:label xml:lang="pt">densidade (μ3)</rdfs:label><rdfs:label xml:lang="de">Dichte (μ3)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/Galaxy"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/kilogramPerCubicMetre"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/Work/runtime"> + <rdfs:label xml:lang="en">runtime (m)</rdfs:label><rdfs:label xml:lang="nl">duur (m)</rdfs:label><rdfs:label xml:lang="el">διάρκεια (m)</rdfs:label><rdfs:label xml:lang="fr">durée (m)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/Work"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/minute"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/Planet/mass"> + <rdfs:label xml:lang="en">mass (kg)</rdfs:label><rdfs:label xml:lang="el">μάζα (kg)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/Planet"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/kilogram"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/MeanOfTransportation/height"> + <rdfs:label xml:lang="el">ύψος (mm)</rdfs:label><rdfs:label xml:lang="fr">hauteur (mm)</rdfs:label><rdfs:label xml:lang="en">height (mm)</rdfs:label><rdfs:label xml:lang="ja">身長 (mm)</rdfs:label><rdfs:label xml:lang="nl">hoogte (mm)</rdfs:label><rdfs:label xml:lang="sl">višina (mm)</rdfs:label><rdfs:label xml:lang="pt">altura (mm)</rdfs:label><rdfs:label xml:lang="de">Höhe (mm)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/MeanOfTransportation"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/millimetre"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/Galaxy/meanRadius"> + <rdfs:label xml:lang="en">mean radius (km)</rdfs:label><rdfs:label xml:lang="el">μέση ακτίνα (km)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/Galaxy"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/kilometre"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/Planet/minimumTemperature"> + <rdfs:label xml:lang="en">minimum temperature (K)</rdfs:label><rdfs:label xml:lang="el">ελάχιστη θερμοκρασία (K)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/Planet"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/kelvin"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/Spacecraft/cargoGas"> + <rdfs:label xml:lang="en">cargo gas (kg)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/Spacecraft"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/kilogram"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/Planet/meanRadius"> + <rdfs:label xml:lang="en">mean radius (km)</rdfs:label><rdfs:label xml:lang="el">μέση ακτίνα (km)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/Planet"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/kilometre"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/SpaceStation/volume"> + <rdfs:label xml:lang="en">volume (μ³)</rdfs:label><rdfs:label xml:lang="nl">volume (μ³)</rdfs:label><rdfs:label xml:lang="el">όγκος (μ³)</rdfs:label><rdfs:label xml:lang="fr">volume (μ³)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/SpaceStation"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/cubicMetre"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/SpaceMission/cmpEvaDuration"> + <rdfs:label xml:lang="en">CMP EVA duration (ω)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/SpaceMission"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/hour"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/PopulatedPlace/populationUrbanDensity"> + <rdfs:label xml:lang="en">population urban density (/sqkm)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/inhabitantsPerSquareKilometre"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/Planet/orbitalPeriod"> + <rdfs:label xml:lang="en">orbital period (μ)</rdfs:label><rdfs:label xml:lang="el">Περίοδος περιφοράς (μ)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/Planet"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/day"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/AutomobileEngine/topSpeed"> + <rdfs:label xml:lang="en">top speed (kmh)</rdfs:label><rdfs:label xml:lang="de">Höchstgeschwindigkeit (kmh)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/AutomobileEngine"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/kilometrePerHour"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/Drug/meltingPoint"> + <rdfs:label xml:lang="en">melting point (K)</rdfs:label><rdfs:label xml:lang="de">Schmelzpunkt (K)</rdfs:label><rdfs:label xml:lang="fr">point de fusion (K)</rdfs:label><rdfs:label xml:lang="ja">融点 (K)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/Drug"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/kelvin"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/MeanOfTransportation/diameter"> + <rdfs:label xml:lang="en">diameter (μ)</rdfs:label><rdfs:label xml:lang="nl">diameter (μ)</rdfs:label><rdfs:label xml:lang="fr">diamètre (μ)</rdfs:label><rdfs:label xml:lang="el">διάμετρος (μ)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/MeanOfTransportation"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/metre"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/School/campusSize"> + <rdfs:label xml:lang="en">campus size (km2)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/School"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/squareKilometre"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/Galaxy/minimumTemperature"> + <rdfs:label xml:lang="en">minimum temperature (K)</rdfs:label><rdfs:label xml:lang="el">ελάχιστη θερμοκρασία (K)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/Galaxy"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/kelvin"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/Canal/originalMaximumBoatBeam"> + <rdfs:label xml:lang="en">original maximum boat beam (μ)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/Canal"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/metre"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/AutomobileEngine/co2Emission"> + <rdfs:label xml:lang="en">CO2 emission (g/km)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/AutomobileEngine"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/gramPerKilometre"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/AutomobileEngine/torqueOutput"> + <rdfs:label xml:lang="en">torque output (Nm)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/AutomobileEngine"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/newtonMetre"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/Galaxy/meanTemperature"> + <rdfs:label xml:lang="en">mean temperature (K)</rdfs:label><rdfs:label xml:lang="el">μέση θερμοκρασία (K)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/Galaxy"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/kelvin"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/Rocket/lowerEarthOrbitPayload"> + <rdfs:label xml:lang="en">lower earth orbit payload (kg)</rdfs:label> + <rdfs:comment xml:lang="en">Payload mass in a typical Low Earth orbit</rdfs:comment> + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/Rocket"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/kilogram"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/SpaceMission/lunarEvaTime"> + <rdfs:label xml:lang="en">lunar EVA time (ω)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/SpaceMission"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/hour"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/AutomobileEngine/displacement"> + <rdfs:label xml:lang="en">displacement (cc)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/AutomobileEngine"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/cubicCentimetre"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/Galaxy/orbitalPeriod"> + <rdfs:label xml:lang="en">orbital period (μ)</rdfs:label><rdfs:label xml:lang="el">Περίοδος περιφοράς (μ)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/Galaxy"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/day"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/Planet/temperature"> + <rdfs:label xml:lang="en">temperature (K)</rdfs:label><rdfs:label xml:lang="el">θερμοκρασία (K)</rdfs:label><rdfs:label xml:lang="fr">température (K)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/Planet"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/kelvin"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/ChemicalSubstance/meltingPoint"> + <rdfs:label xml:lang="en">melting point (K)</rdfs:label><rdfs:label xml:lang="de">Schmelzpunkt (K)</rdfs:label><rdfs:label xml:lang="fr">point de fusion (K)</rdfs:label><rdfs:label xml:lang="ja">融点 (K)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/ChemicalSubstance"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/kelvin"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/Software/fileSize"> + <rdfs:label xml:lang="en">size (MB)</rdfs:label><rdfs:label xml:lang="de">Dateigröße (MB)</rdfs:label> + <rdfs:comment xml:lang="en">size of a file or software</rdfs:comment> + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/Software"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/megabyte"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/GeopoliticalOrganisation/areaMetro"> + <rdfs:label xml:lang="en">area metro (km2)</rdfs:label><rdfs:label xml:lang="el">περιοχή μετρό (km2)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/GeopoliticalOrganisation"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/squareKilometre"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/Galaxy/temperature"> + <rdfs:label xml:lang="en">temperature (K)</rdfs:label><rdfs:label xml:lang="el">θερμοκρασία (K)</rdfs:label><rdfs:label xml:lang="fr">température (K)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/Galaxy"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/kelvin"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/GrandPrix/course"> + <rdfs:label xml:lang="en">course (km)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/GrandPrix"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/kilometre"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/Infrastructure/length"> + <rdfs:label xml:lang="el">μήκος (km)</rdfs:label><rdfs:label xml:lang="fr">longueur (km)</rdfs:label><rdfs:label xml:lang="en">length (km)</rdfs:label><rdfs:label xml:lang="nl">lengte (km)</rdfs:label><rdfs:label xml:lang="de">Länge (km)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/Infrastructure"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/kilometre"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/Galaxy/surfaceArea"> + <rdfs:label xml:lang="en">surface area (km2)</rdfs:label><rdfs:label xml:lang="el">έκταση (km2)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/Galaxy"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/squareKilometre"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/AutomobileEngine/diameter"> + <rdfs:label xml:lang="en">diameter (mm)</rdfs:label><rdfs:label xml:lang="nl">diameter (mm)</rdfs:label><rdfs:label xml:lang="fr">diamètre (mm)</rdfs:label><rdfs:label xml:lang="el">διάμετρος (mm)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/AutomobileEngine"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/millimetre"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/Galaxy/averageSpeed"> + <rdfs:label xml:lang="en">average speed (km/s)</rdfs:label><rdfs:label xml:lang="de">Durchschnittsgeschwindigkeit (km/s)</rdfs:label><rdfs:label xml:lang="el">μέση ταχύτητα (km/s)</rdfs:label> + <rdfs:comment xml:lang="en">The average speed of a thing.</rdfs:comment><rdfs:comment xml:lang="el">Η μέση ταχύτητα ενός πράγματος.</rdfs:comment> + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/Galaxy"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/kilometrePerSecond"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/AutomobileEngine/height"> + <rdfs:label xml:lang="el">ύψος (mm)</rdfs:label><rdfs:label xml:lang="fr">hauteur (mm)</rdfs:label><rdfs:label xml:lang="en">height (mm)</rdfs:label><rdfs:label xml:lang="ja">身長 (mm)</rdfs:label><rdfs:label xml:lang="nl">hoogte (mm)</rdfs:label><rdfs:label xml:lang="sl">višina (mm)</rdfs:label><rdfs:label xml:lang="pt">altura (mm)</rdfs:label><rdfs:label xml:lang="de">Höhe (mm)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/AutomobileEngine"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/millimetre"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/Spacecraft/apoapsis"> + <rdfs:label xml:lang="en">apoapsis (km)</rdfs:label><rdfs:label xml:lang="el">απόαψης (km)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/Spacecraft"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/kilometre"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/Planet/averageSpeed"> + <rdfs:label xml:lang="en">average speed (km/s)</rdfs:label><rdfs:label xml:lang="de">Durchschnittsgeschwindigkeit (km/s)</rdfs:label><rdfs:label xml:lang="el">μέση ταχύτητα (km/s)</rdfs:label> + <rdfs:comment xml:lang="en">The average speed of a thing.</rdfs:comment><rdfs:comment xml:lang="el">Η μέση ταχύτητα ενός πράγματος.</rdfs:comment> + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/Planet"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/kilometrePerSecond"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/SpaceMission/missionDuration"> + <rdfs:label xml:lang="en">mission duration (μ)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/SpaceMission"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/day"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/Person/weight"> + <rdfs:label xml:lang="el">βάρος (kg)</rdfs:label><rdfs:label xml:lang="fr">poids (kg)</rdfs:label><rdfs:label xml:lang="en">weight (kg)</rdfs:label><rdfs:label xml:lang="ja">体重 (kg)</rdfs:label><rdfs:label xml:lang="nl">gewicht (kg)</rdfs:label><rdfs:label xml:lang="pt">peso (kg)</rdfs:label><rdfs:label xml:lang="de">Gewicht (kg)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/kilogram"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/LunarCrater/diameter"> + <rdfs:label xml:lang="en">diameter (km)</rdfs:label><rdfs:label xml:lang="nl">diameter (km)</rdfs:label><rdfs:label xml:lang="fr">diamètre (km)</rdfs:label><rdfs:label xml:lang="el">διάμετρος (km)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/LunarCrater"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/kilometre"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/Weapon/weight"> + <rdfs:label xml:lang="el">βάρος (kg)</rdfs:label><rdfs:label xml:lang="fr">poids (kg)</rdfs:label><rdfs:label xml:lang="en">weight (kg)</rdfs:label><rdfs:label xml:lang="ja">体重 (kg)</rdfs:label><rdfs:label xml:lang="nl">gewicht (kg)</rdfs:label><rdfs:label xml:lang="pt">peso (kg)</rdfs:label><rdfs:label xml:lang="de">Gewicht (kg)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/Weapon"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/kilogram"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/AutomobileEngine/acceleration"> + <rdfs:label xml:lang="de">Beschleunigung (s)</rdfs:label><rdfs:label xml:lang="en">acceleration (s)</rdfs:label><rdfs:label xml:lang="el">επιτάχυνση (s)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/AutomobileEngine"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/second"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/Planet/surfaceArea"> + <rdfs:label xml:lang="en">surface area (km2)</rdfs:label><rdfs:label xml:lang="el">έκταση (km2)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/Planet"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/squareKilometre"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/Planet/density"> + <rdfs:label xml:lang="el">πυκνότητα (μ3)</rdfs:label><rdfs:label xml:lang="fr">densité (μ3)</rdfs:label><rdfs:label xml:lang="en">density (μ3)</rdfs:label><rdfs:label xml:lang="ja">密度 (μ3)</rdfs:label><rdfs:label xml:lang="pt">densidade (μ3)</rdfs:label><rdfs:label xml:lang="de">Dichte (μ3)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/Planet"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/kilogramPerCubicMetre"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/Galaxy/mass"> + <rdfs:label xml:lang="en">mass (kg)</rdfs:label><rdfs:label xml:lang="el">μάζα (kg)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/Galaxy"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/kilogram"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/SpaceShuttle/distance"> + <rdfs:label xml:lang="en">distance (km)</rdfs:label><rdfs:label xml:lang="de">Entfernung (km)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/SpaceShuttle"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/kilometre"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/Person/height"> + <rdfs:label xml:lang="el">ύψος (cm)</rdfs:label><rdfs:label xml:lang="fr">hauteur (cm)</rdfs:label><rdfs:label xml:lang="en">height (cm)</rdfs:label><rdfs:label xml:lang="ja">身長 (cm)</rdfs:label><rdfs:label xml:lang="nl">hoogte (cm)</rdfs:label><rdfs:label xml:lang="sl">višina (cm)</rdfs:label><rdfs:label xml:lang="pt">altura (cm)</rdfs:label><rdfs:label xml:lang="de">Höhe (cm)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/Person"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/centimetre"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/Lake/shoreLength"> + <rdfs:label xml:lang="en">shore length (km)</rdfs:label><rdfs:label xml:lang="el">μήκος_όχθης (km)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/Lake"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/kilometre"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/PopulatedPlace/area"> + <rdfs:label xml:lang="el">έκταση (km2)</rdfs:label><rdfs:label xml:lang="fr">superficie (km2)</rdfs:label><rdfs:label xml:lang="en">area (km2)</rdfs:label><rdfs:label xml:lang="nl">oppervlakte (km2)</rdfs:label><rdfs:label xml:lang="pt">área (km2)</rdfs:label><rdfs:label xml:lang="de">Fläche (km2)</rdfs:label> + <rdfs:comment xml:lang="en">The area of a owl:Thing in square metre.</rdfs:comment> + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/squareKilometre"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/Building/floorArea"> + <rdfs:label xml:lang="en">floor area (m2)</rdfs:label><rdfs:label xml:lang="nl">vloeroppervlak (m2)</rdfs:label><rdfs:label xml:lang="el">περιοχή ορόφων (m2)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/Building"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/squareMetre"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/GrandPrix/distance"> + <rdfs:label xml:lang="en">distance (km)</rdfs:label><rdfs:label xml:lang="de">Entfernung (km)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/GrandPrix"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/kilometre"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/Lake/areaOfCatchment"> + <rdfs:label xml:lang="en">area of catchment (km2)</rdfs:label><rdfs:label xml:lang="el">λίμνη (km2)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/Lake"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/squareKilometre"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/Spacecraft/dryCargo"> + <rdfs:label xml:lang="en">dry cargo (kg)</rdfs:label><rdfs:label xml:lang="nl">droge last (kg)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/Spacecraft"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/kilogram"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/SpaceMission/stationEvaDuration"> + <rdfs:label xml:lang="en">station EVA duration (ω)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/SpaceMission"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/hour"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/Planet/volume"> + <rdfs:label xml:lang="en">volume (km3)</rdfs:label><rdfs:label xml:lang="nl">volume (km3)</rdfs:label><rdfs:label xml:lang="el">όγκος (km3)</rdfs:label><rdfs:label xml:lang="fr">volume (km3)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/Planet"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/cubicKilometre"/> + </owl:DatatypeProperty><owl:DatatypeProperty rdf:about="http://dbpedia.org/ontology/Spacecraft/port1DockedTime"> + <rdfs:label xml:lang="en">port1 docked time (μ)</rdfs:label> + + <rdfs:domain rdf:resource="http://dbpedia.org/ontology/Spacecraft"/> + <rdfs:range rdf:resource="http://dbpedia.org/datatype/day"/> + </owl:DatatypeProperty> + </rdf:RDF> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dbpedia/rdf/cpack/dbpedia.ttl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,23 @@ +@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . +@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . +@prefix dcterms: <http://purl.org/dc/terms/> . +@prefix cpack: <http://cliopatria.swi-prolog.org/schema/cpack#> . + +<> a cpack:Ontology ; + cpack:packageName "dbpedia" ; + dcterms:title "DBPedia OWL schema" ; + cpack:author [ foaf:name "Samer Abdallah" ; + foaf:mbox <mailto:s.abdallah@ucl.ac.uk> ; + ] ; + cpack:primaryRepository + [ a cpack:GitRepository ; + cpack:gitURL <git://eculture.cs.vu.nl/home/janw/git/ClioPatria/foaf.git> + ] ; + cpack:description + +"""This package provides the DBPedia Ontology schema. The default configuration installs + the =dbp= prefix for use in Prolog and ensures that the schema is loaded + in the RDF store. +""" . + +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/README Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,29 @@ +# Digital Music Lab Cliopatria plugin + +This CPACK relies on a number of external files and packages. + + +## Score to sound rendering via fluidsynth + +This requires fluidsynth to be installed, along with some usable sound fonts. +The applications/score_ui GUI presents various options for what instrument(s) +to use to sonify a given score. This determines which fluidsynth initialisation +file is used -- these are kept in ./fluid. If you look at one of these files, +you will see that they refer to specific soundfonts. As the licensing status +of these files is somewhat unclear, I'm leaving it up to you to download them. +Whatever you do, collect all these soundfonts (or file system links) in one +directory and edit the setting score_ui:soundfont_dir to point to this +directroy. The default directory is /usr/share/sounds/sf2, which is where +Debian based distros install their soundfonts. At the very least, you can do + + apt-get install fluid-soundfont-gm + +and get a working general midi soundfont, by selecting fluid_gm as your +fluidsynth initialisation file. + + +## MATLAB + +### General figure plotting service + +### Signal processing and other specific computations
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/api/archive.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,93 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University of London + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +:- module(api_archive, [ locator_uri/2, with_input_from_uri/2, uri_absolute_path/2, archive_file/3, archive_file/2 ]). + +:- use_module(library(http/http_dispatch)). +:- use_module(library(http/http_parameters)). +:- use_module(library(xmlarchive)). +:- use_module(library(httpfiles)). +:- use_module(library(fileutils)). +:- use_module(library(insist)). + +:- set_prolog_flag(double_quotes,string). +:- rdf_register_prefix(file,'file://'). +:- http_handler(api(archive/get), archive_get, []). +:- setting(archive:root,string,"~/lib/dml-archive","Directory containing accessible files"). + +user:file_search_path(archive,Path) :- setting(archive:root,DD), expand_file_name(DD,[Path]). + +archive_get(Request) :- + http_parameters(Request, [uri(URI, [optional(false), description("URI of archive entry")])]), + file_name_extension(_,Ext,URI), + with_input_from_uri(URI,reply_from_stream(Ext)). + +uri_absolute_path(URI,Path) :- var(Path), !, + insist(string_concat("file://",LocString,URI)), + absolute_file_name(archive(LocString),Path,[access(read)]). +uri_absolute_path(URI,Path) :- + file_search_path(archive,Root), + atom_concat(Root,Rel,Path), + atom_concat('file:/',Rel,URI). + +:- meta_predicate with_input_from_uri(+,1). +with_input_from_uri(URI,Goal) :- + insist(string_concat("file://",LocString,URI)), + ( sub_string(LocString,PathLen,1,FragLen,"#") + -> sub_string(LocString,0,PathLen,_,Path), + sub_atom(LocString,_,FragLen,0,Frag), + absolute_file_name(archive(Path),ArchivePath,[access(read)]), + with_archive_stream(ArchivePath,Frag,Goal) + ; absolute_file_name(archive(LocString),AbsPath,[access(read)]), + with_stream(S, open(AbsPath,read,S), call(Goal,S)) + ). + +reply_from_stream(Ext,Stream) :- reply_stream(Stream,Ext). + +locator_uri(file(Parts), URI) :- atomic_list_concat(['file:/'|Parts],'/',URI). +locator_uri(archive_entry(ArchivePath,EntryName), URI) :- + atomic_list_concat(['file://',ArchivePath,'#',EntryName],URI). + +%% archive_file(+Ext:atom, +In:path, -Out:uri) is det. +%% archive_file(+In:path,-Out:uri) is det. +% +% This procedure finds a permanent home for the file In, moving it into +% the directory tree managed by the archive, giving it a unique file name, +% and returning the URI of the location. +% +% !! could add extension if necessary +archive_file(In,Out) :- archive_file('',In,Out). +archive_file(Ext,In,Out) :- + get_time(Time), + format_time(atom(Dir),'auto/%Y%m%d',Time), + expand_file_search_path(archive(Dir),FullDir), + ( exists_directory(FullDir) -> true + ; make_directory(FullDir) + ), + once( ( repeat, random_name(Ext,8,Str), + directory_file_path(FullDir,Str,Path), + \+exists_file(Path) )), + rename_file(In,Path), + uri_absolute_path(Out,Path). + +random_name(Ext,Len,String) :- + length(Chars,Len), + maplist(web_storage:random_char,Chars), + format(string(String),'~s~s',[Chars,Ext]). + +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/api/dmlvis.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,717 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University of London + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +:- module(dmlvis, + [ cc/3 + , recording_property/3 + ]). + +/** <module> DML Visualisation web service + */ + + +:- use_module(library(http/html_write)). +:- use_module(library(http/html_head)). +:- use_module(library(http/thread_httpd)). +:- use_module(library(http/http_dispatch)). +:- use_module(library(http/http_parameters)). +:- use_module(library(http/http_json)). +:- use_module(library(http/json)). +:- use_module(library(thread_pool)). +:- use_module(library(semweb/rdf_label)). +:- use_module(library(sandbox)). +:- use_module(library(dcg_core)). +:- use_module(library(dcg_pair)). +:- use_module(library(dcg_codes)). +:- use_module(library(dcg_macros)). +:- use_module(library(fileutils)). +:- use_module(library(listutils)). +:- use_module(library(optutils)). +:- use_module(library(swipe)). +:- use_module(library(memo)). +:- use_module(library(rdfutils)). +:- use_module(library(httpfiles)). +:- use_module(library(dataset)). +:- use_module(library(computations), [rows_cols/3]). +:- use_module(library(csvutils), [uri_to_csv/2]). +:- use_module(library(insist)). +:- use_module(library(lambda)). +:- use_module(library(dcg/basics), [string_without//2, integer//1]). +:- use_module(library(solution_sequences)). + +:- use_module(components(audio)). + +:- meta_predicate cc(2,2,1). +:- meta_predicate method_result_cc(+,+,2,1). + +:- set_prolog_flag(double_quotes,codes). +:- set_prolog_flag(back_quotes,string). + +http:location(v1,root(api/v4),[]). + +:- http_handler(v1(getCollectionId), getCollectionId, []). +:- http_handler(v1(getCollectionPerspective), getCollectionPerspective, []). +:- http_handler(v1(getRecordingPerspective), getRecordingPerspective, [spawn(vis_recording)]). +:- http_handler(v1(listCollections), listCollections, []). +:- http_handler(v1(listPlaces), listPlaces, []). +:- http_handler(v1(listPerspectives), listPerspectives, []). +:- http_handler(v1(csv_time_window), csv_time_window, []). + +% ------------------------------------------------------------------------------------ + +%% vis(+Method,+Request) is det. +% +% General VIS API HTTP handler. Returns either JSON or JSONP depending on the +% format parameter. If JSONP is selected (the default), the callback parameter +% determines the Javascript callback function. The JSON result structure is of +% type +% == +% { +% query: string ~'The original query, excluding protocol and host', +% result: (error_struct|A) ~'Result structure A or error information' +% } +% == +% where +% == +% error_struct == { code: integer, decs:string } +% == +% See individual methods for more information about their return types. +vis(Method,Request) :- + get_time(T0), + method_params(Method,Params), + member(request_uri(Query),Request), + vis_parameters(Request, [format(Format), callback(Callback) | Params],ROpts), + (Format=jsonp -> Fmt=jsonp(Callback,ROpts); Fmt=json(ROpts)), + Responder=send_response(Fmt,Query,T0), + debug(dmlvis(method),'~q',[method_result_cc(Method,Params,Responder,writeln)]), + method_result_cc(Method,Params,dmlvis:Responder,error_cont(Query,Responder)). + +send_response(Fmt,Query,T0,Result,Status) :- + get_time(T1), DT=T1-T0, + debug(dmlvis(response),'Sending response after ~3f s to ~q',[DT,Query]), + once(reply_as(Fmt,Status,_{ query:Query, result: Result})). + +error_cont(Q,Cont,Ex) :- + debug(dmlvis(error),'Sending error ~W in response to ~q',[Ex,[quoted(true),max_depth(8)],Q]), + error_result(Ex,Result), + call(Cont,Result,error). + +vis_parameters(Request,Params,ReplyOpts) :- + Params1=[random(_, [optional(true)]) | Params], + http_parameters(Request, Params1, [attribute_declarations(param), form_data(AllParams)]), + findall(N, (member(N=_,AllParams), \+used_param(N,Params1)), Unused), + (select(indent,Unused,Unused1) -> ReplyOpts=[]; ReplyOpts=[width(0)], Unused1=Unused), + (select(dv,Unused1,Unused2) -> true; Unused2=Unused1), + insist(Unused2=[], unrecognised_parameters(Unused2)). + +used_param(N,ValidParams) :- + member(Q,ValidParams), + functor(Q,N,_). + +% result_response(Fmt,Q,Result,Status,Response) :- +% with_output_to(string(Response), +% reply_as(Fmt,Status,_{ query:Q, result: Result})). + +reply_as(json(Opts),Status,Dict) :- !, + write_headers([Status,type(json)]), + json_write_dict(current_output, Dict, Opts). +reply_as(jsonp(Cb,Opts),Status,Dict) :- !, + write_headers([Status,type(jsonp)]), + write(Cb), write('('), + json_write_dict(current_output, Dict, Opts), + write(');'). + + +error_result(Ex, _{ errors:[Err] }) :- error_result1(Ex,Err). + +error_result1(dml_error(Code,Descriptor),_{ code: Code, desc:Descriptor }) :- !. + +error_result1(Ex, _{ code: 500, desc: Msg }) :- + message_to_string(Ex,Msg). + +% ------------------------------------------------------------------------------------ +% Handlers with documentation + +%% getCollectionId(+Request) is det. +% +% Define a collection satisfying given search terms. Result is a collection +% ID, which may be the same as a previously defined collection if it consists +% of the same items. +% +% Parameters are as follows. In all cases, =|sclist(Type)|= denotes a semicolon +% separated list of values of given type OR the string '*', which is the default. +% The value '*' means that no filtering is done on the releveant property. The +% list is interpreted as an AND-list or an OR-list depending on which property +% is being tested. String matching is case insensitive. +% The only required parameter is =|dv|=. +% == +% dv : integer ~ database version +% library : sclist(lib_name) ~ OR-list of libraries to search +% collection : sclist(pattern) ~ OR-list of BL collection name patterns +% composer : sclist(string) ~ OR-list of composer prefixes +% performer : sclist(string) ~ OR-list of performer prefixes +% title : sclist(string) ~ AND-list of title substrings +% genre : sclist(string) ~ OR-list of genre substrings +% place : sclist(string) ~ OR-list of place substrings +% language : sclist(string) ~ OR-list of langauage name prefixes +% year : sclist(year) | range ~ OR-list of genre substrings +% sample : nonneg | 'all' ~ sample a random subset of this size +% sv : integer ~ sample version for sample +% +% lib_name --> 'bl' | 'charm' | 'ilm' | 'mazurka' | 'beets'. +% range --> year, '-', year. +% == +% NB. A =|pattern|= is a string which may contain '*' to match any sequence of +% characters. The pattern must match the WHOLE value being tested, eg to search +% for the substring 'Botswana', you must include '*' at both ends of the pattern, +% eg =|'*botswana*'|=. +% +% A successful result is of type +% == +% result(getCollectionId) == { +% cid: string ~'collection id', +% size: natural ~'number of items in collection' +% }. +% == +getCollectionId(R) :- vis(getCollectionId,R). + +%% getCollectionPerspective(+Request) is det. +% +% Get a given perspective on a previously defined collection. +% Result will depend on the particular perspective chosen. +% All perspectives require the parameter =|cid(string)|=. Most +% perspectives accept the parameters =|recompute(oneof([none,failed,force]))|= +% and =|vamp_on_demand(boolean)|=. +% Defined perspectives are +% +% == +% summary : [] -> { cid:string, size: natural, goal: string }. +% +% list : +% [ limit(natural)/5000, offset(natural)/0, sort_by(oneof([label, date]))/label ] +% -> { cid:string, items: list( {uri:uri, label:string, audio:list(link(audio)), date:string }) }. +% +% midi_pitch_histogram : +% [ weighting(oneof([none,dur,vel]))/none ] +% -> { values:list(integer), counts:list(natural) }. +% +% pitch_histogram : +% [ weighting(oneof([none,dur,vel]))/none, quant(natural)/5, min(integer)/20, max(integer)/100, lang(oneof([ml,r]))/ml ] +% -> { edges:list(nonneg), counts:list(natural) }. +% +% tempo_histogram : +% [ period(nonneg)/1, min(integer)/20, max(integer)/100, num_bins(natural)/50, lang(oneof([ml,r]))/ml ] +% -> { edges:list(nonneg), counts:list(natural) }. +% +% mean_tempo_curve : +% [ num_samples(natural)/20, lang(oneof([ml,r]))/ml ] +% -> { means:list(nonneg), std_devs:list(nonneg) }. +% +% tonic_relative_pitch_class_histogram : [] +% -> { values:list(string), counts:list(nonneg), ok_count:natural, failed:{prolog:list, python:list}}. +% +% pitch_lookup : +% [ midi_pitch(between(0,127)), weighting(oneof([none,dur,vel]))/none, +% limit(natural)/5000, offset(natural)/0 ] +% -> { }. +% +% tonic_histogram : [] -> { }. +% +% pitch_class_histogram : [] -> { }. +% +% tuning_stats : [] -> { }. +% +% tuning_stats_by_year : [] -> { }. +% +% places_hist : [] -> { }. +% +% key_relative_chord_seq : +% [ spm_minlen(natural)/2, spm_maxseqs(natural)/500, spm_algorithm(Alg)/'CM-SPADE', +% spm_ignore_n(natural)/1, spm_maxtime(number)/60, spm_minsupport(number)/50 ] +% -> { }. +% +% similarity : +% [ sim_downsample(number)/1,sim_clusters(number)/40,sim_reclimit(number)/2000, +% sim_type(string)/'euclidean',sim_features(string)/'chromagram', +% sim_compressor(string)/'zlib'] +% -> { }. +% == +getCollectionPerspective(R) :- vis(getCollectionPerspective,R). + +%% getCollectionPairPerspective(+Request) is det. +% +% Get a given comparative perspective on a pair of previously defined collections. +% Result will depend on the particular perspective chosen. Defined perspectives are: +getCollectionPairPerspective(R) :- vis(getCollectionPairPerspective,R). + +%% getMultiCollectionPerspective(+Request) is det. +% Get a given comparative perspective on a set of previously defined collections. +getMultiCollectionPerspective(R) :- vis(getMultiCollectionPerspective,R). + +%% getRecordingPerspective(+Request) is det. +% Get a given perspective for a given recording URI. Perspectives, their parameters and +% their output types are as follows (all perspectives require a uri parameter) +% == +% properties : [] -> { +% library:string, +% title:string, +% composer:list(string), +% performer:list(string), +% genre:list(string), +% place:string, +% language:string, +% recording_date:string +% }. +% +% transcription : [] -> { csv: uri(csv([time,dur,freq,vel,pitch_name])) }. +% transcription_fine : [] -> { csv: uri(csv([time,dur,freq,vel,pitch_name)) }. +% chords : [] -> { csv: uri(csv([time,chord_name])) }. +% chords_notes : [] -> { csv: uri(csv([time,dur,integer)) }. +% key : [] -> { csv: uri(csv([time,integer,string])) }. +% key_tonic : [] -> { csv: uri(csv) }. +% tempo : [] -> { csv: uri(csv([time,nonneg,tempo_string])). +% beats : [] -> { csv: uri(csv([time,tempo_string])) }. +% beatroot : [] -> { csv: uri(csv([time])) }. +% +% tempo_nonuniform : [] -> { times:list(float), values:list(float) }. +% tempo_uniform : [ lang(oneof([ml,r]))/ml ] -> { times:list(float), values:list(float) }. +% tempo_normalised : [ lang(oneof([ml,r]))/ml ] -> { times:list(float), values:list(float) }. +% tempo_histogram : +% [ period(nonneg)/1, num_bins(natural)/50, min(nonneg)/20, max(nonneg)/100, lang(oneof([ml,r]))/ml ] +% -> { edges: list(float), counts: list(natural) }. +% +% midi_pitch_histogram : +% [ weighting(note_weight)/none ] +% -> { values: list(integer), counts: list(natural) }. +% +% pitch_histogram : +% [weighting(note_weight)/none, quant(natural)/5, min(integer)/20, max(integer)/100, lang(oneof([ml,r]))/ml ] +% -> { edges: list(float), counts: list(natural) }. +% +% chord_histogram : [] -> { values:list(string), counts:list(natural) }. +% +% spectrogram : [offset(nonneg)/0, length(nonneg)/60 ] -> { csv: uri }. +% == +% +% Supplementary types: +% == +% note_weight --> 'none'; 'dur'; 'vel'; 'dur*vel'. +% +% time == float. +% dur == nonneg. +% freq == nonneg. +% vel == nonneg. +% == +getRecordingPerspective(R) :- vis(getRecordingPerspective,R). + +%% listCollections(+Request) is det. +% Lists previously defined collections and the Prolog queries that define them. +% == +% listCollections : [] -> { +% collections: list({ cid : string, +% query : string, +% dv : integer, +% size : natural, +% timestamp : string +% }) +% }. +listCollections(R) :- vis(listCollections,R). + +%% listPlaces(+Request) is det. +% Lists known place names, currently the distinct values of the dcterms:spatial predicate. +% == +% listPlaces : [] -> { +% places: list({ name : string +% }) +% }. +listPlaces(R) :- vis(listPlaces,R). + +%% listPerspectives(+Request) is det. +% Lists available perspective for a given method. +listPerspectives(R) :- vis(listPerspectives,R). + +%% csv_time_window(+Request) is det. +% +% Returns the contents of a CSV file between between given time limits, +% assuming the the first column is a time value. +% Also returns the time of the last row. Parameters and return structure are +% == +% csv_time_window : +% [uri(uri(csv)), start(float), end(float) ] +% -> { duration:float, columns: list(list) }. +% == +% URI parameter must be the URI of a CSV file. +% Data is returned a list of lists, where each inner list is one column +% of the CSV. +csv_time_window(R) :- vis(csv_time_window,R). + + +% ------------------------------------------------------------------------------------ +% Implementation of methods + +:- multifile param/2. + +param( format, [oneof([json,jsonp]), default(jsonp), description('Reply format')]). +param( callback, [atom,default(jsonp_cb), description('Callback for jsonp reply')]). +param( dv, [nonneg, optional(false), description('Database version ID')]). + +param( cid, [atom, optional(false), description('Collection ID')]). +param( pid, [atom, optional(false), description('Perspective ID')]). +param( cids, [atom, optional(false), description('Semicolon separated list of Collection IDs')]). +param( uri, [atom, optional(false), description('Item URI')]). +param( library, [atom, default(*), description('Semicolon separated list of libraries to search')]). +param( genre, [atom, default(*), description('Semicolon separated list of genre names, or "*"')]). +param( year, [atom, default(*), description('Semicolon separeted list of release years or a range (Y1-Y2) or "*"')]). +param( composer, [atom, default(*), description('Semicolon separated list of composers or "*"')]). +param( performer, [atom, default(*), description('Semicolon separated list of performers or "*"')]). +param( place, [atom, default(*), description('Semicolon separated list of place names or "*"')]). +param( language, [atom, default(*), description('Semicolon separated list of language name prefixes or "*"')]). +param( collection,[atom, default(*), description('Semicolon separated list of BL collection names or "*"')]). +param( title, [atom, default(*), description('Semicolon separated AND-list of title substrings or "*"')]). +param( method, [atom, optional(false), description('API method name')]). +param( limit, [integer, default(5000), description('Maximum number of things to return')]). +param( offset, [integer, default(0), description('Offset within list')]). +param( sort_by, [oneof([label,date]), default(label), description('Sort recordings list by this property')]). +param( start, [number, optional(false), description('Start of window in seconds')]). +param( end, [number, optional(false), description('End of window in seconds')]). +param( sample, [number, default(all), description('Sample a random subset of this size')]). +param( sv, [number, default(1), description('Version of random subset')]). +param( midi_pitch,[nonneg, default(60), description('MIDI note number 0..127')]). + +method_params(listCollections, []). +method_params(listPlaces, []). +method_params(listPerspectives, [ method(_) ]). +method_params(getCollectionId, [ dv(_), library(_), genre(_), place(_), language(_), year(_), composer(_), + performer(_), collection(_), title(_), sample(_), sv(_) ]). +method_params(csv_time_window, [ uri(_), start(_), end(_) ]). +method_params(Method, [ pid(_) | Params ]) :- + once(perspective(Method,_)), + setof(P, perspective_param_name(Method,P), Ps), + maplist(param_name_term,Ps,Params). + +param_name_term(Name,Term) :- functor(Term,Name,1). +perspective_param_name(Method,Name) :- + perspective(Method,_,Specs,_), + member(S,Specs), + optspec_name(S,Name). + + +:- multifile perspective/4. + +%% cc(+Pred:pred(-A,-cc_status), +Cont:pred(+A,+cc_status), +ErrorCont:pred(+exception)) is det. +% Call a predicate with success and error continuations. +% Pred roduces a result of type A and a status. If it succeeds, the result and status are passed +% to the continuation Cont. Otherwise, an exception is passed to ErrorCont. +cc(Goal,Cont,ErrorCont) :- catch(cc_wrapper(Goal,Cont), Ex, call(ErrorCont,Ex)). +cc_wrapper(Goal,Cont) :- insist(call(Goal,Result,Status)), call(Cont,Result,Status). + +place_name(P) :- rdf(_,dcterms:spatial,literal(P)). + +%% method_result_cc(+Method,+Params:options,+C:success_cont,+E:error_cont) is det. +% +% Perspectives are handle using continuations to allow spawning +% == +% success_cont == pred(+dict,+vis_status). +% error_cont == pred(+exception). +% vis_status ---> stable; unstable. +% == +% Method must be a method id registered in perspective/2 or handled my method_resut/4. +method_result_cc(Method,Params,Cont,ErrorCont) :- + perspective(Method,_), !, + option(pid(PId),Params), + catch(( insist( perspective(Method,PId,Specs,Pred), unknown_perspective(PId)), + insist( maplist(options_optspec(Params),Specs)), + call(Pred,Cont,ErrorCont) + ), Ex, call(ErrorCont,Ex)). + +% all non-perspective methods are handled in this thread +method_result_cc(Method,Params,Cont,ErrorCont) :- + cc( method_result(Method,Params), Cont, ErrorCont). + +%% method_result(+Method, +Opts, -Result, -Status:vis_status) is det. +% +% Handles methods =|listCollections, listPerspectives, getCollectionId, csv_time_window|=. +method_result(listCollections, _, _{ collections:List }, unstable) :- + findall( _{ cid:Id, query:QA, dv:DV, size:SZ, timestamp:TS }, + ( browse(dataset:dataset(dmlvis:Q, DV, Id, SZ, _),comp(_,Timestamp,_)-ok), + format_time(string(TS),'%FT%T%:z',Timestamp), + term_to_atom(Q,QA) + ), + List). + +method_result(listPlaces, _, _{ places:List }, unstable) :- + findall( _{ name:Name, count:N }, aggregate(count,place_name(Name),N), List). + + +method_result(listPerspectives, Opts, _{ perspectives:List }, stable) :- + option(method(Method), Opts), + findall( P, perspective(Method,P), List). + +method_result(getCollectionId, Opts, _{ cid:Id, size:Size, full_size:FullSize }, stable) :- + build_dataset_query(Query,DBV,Size-FullSize,Opts,Remaining), + insist(Remaining=[], unrecognised_search_criteria(Remaining)), + insist(dataset_query_id( Query, DBV, Id),empty_dataset(Query)), + dataset_size(Id, Size). + +method_result(csv_time_window, Opts, _{ duration:Dur, columns:Columns }, stable) :- + maplist(options_optspec(Opts), [ \uri(URI), \start(Start), \end(End) ]), + uri_to_csv(URI,Rows), + insist(Rows\=[], empty_csv(URI)), + + append(_,[EndRow],Rows), + functor(EndRow,_,NumCols), + arg(1,EndRow,Dur), + + numlist(1,NumCols,Is), + drop_while(row_before(Start),Rows,Rows1), + take_while(row_before(End),Rows1,Rows2), + rows_cols(Is,Rows2,Columns). + +row_before(T0,Row) :- arg(1,Row,T), T<T0. + +options_optspec(Opts,+O) :- option(O,Opts). +options_optspec(Opts,O-Def) :- option(O,Opts,Def). +% options_optspec(M,Opts,O>Goal) :- options_optspec(M,Opts,O), call(M:Goal). + +optspec_name(+O,Name) :- functor(O,Name,1). +optspec_name(O-_,Name) :- functor(O,Name,1). +% optspec_name(O>_,Name) :- optspec_name(O,Name). + +perspective(Method,Perspective) :- perspective(Method,Perspective,_,_). + +perspective(getRecordingPerspective, properties, [+uri(URI)], cc(recording_info(URI))). +perspective(getCollectionPerspective, summary, [+cid(C)], cc(collection_summary(C))). +perspective(getCollectionPerspective, list, [+cid(C),limit(Lim)-5000,offset(Off)-0,sort_by(SortBy)-label], cc(collection_list(C,Lim,Off,SortBy))). + +collection_summary(Id,Result,stable) :- + insist(dataset_size(Id,Size), unknown_collection(Id)), + findall( _{goal:GoalA, dv:DV}, ( dataset_query_dv(Id,Goal,DV), + term_to_atom(Goal,GoalA) ), Queries), + Result = _{cid:Id, size:Size, queries:Queries }. + + +collection_list(Id, Lim, Offset, SortBy, _{cid:Id, size:Size, items:Items}, stable) :- + insist(dataset_size(Id,Size), unknown_collection(Id)), + findall(SortVal-Item, dataset_itemx(SortBy,Id,Item,SortVal), KeyedItems), sort(KeyedItems,Sorted), + findall(Item,limit(Lim,offset(Offset,member(_-Item,Sorted))),Items). + +dataset_itemx(SortProp, Id, Itemx, SortVal) :- + dataset_item(Id,URI), + filter(Lib,URI,in_library), + findall(Prop:Val, ( member(Prop,[label,audio,date]), + recording_property(URI,Lib,Prop,Val) ), Props), + (member(SortProp:Val,Props) -> SortVal=just(Val); SortVal=nothing), + dict_create(Itemx,_,[uri:URI | Props]). + + +recording_info(URI, Result, stable) :- + insist(filter(Lib,URI,in_library),unknown_recording(URI)), + findall(Prop:Val, recording_property(URI,Lib,Prop,Val), Props), + dict_create(Result,_,[ library:Lib | Props ]). + +recording_property(URI,Prop,Val) :- + filter(Lib,URI,in_library), + recording_property(URI,Lib,Prop,Val). + +recording_property(URI,_,label,Label) :- + rdf_display_label(URI,Label). +recording_property(URI,_,audio,Links) :- + % !!! HACK: force scraping for BL items here.. + % DISABLED - seems to upset BL server... + % (rdf(URI,dml:blpage,_) -> once(bl_p2r:scrape_audio_link(URI,_)); true), + setof(L,F^audio_link(URI,L,F),Links). +recording_property(URI,Lib,Prop,Val) :- + lib_property_read(Lib, Prop, Reader), + pred_values(URI,Lib:Prop,Reader,Val). + + +pred_values(URI,Lib:Prop,-Converter,Val) :- + lib_property(Lib,Prop,Pred), + once(rdf(URI,Pred,Obj)), + call(Converter,Obj,Val). +pred_values(URI,LibProp,+Converter,Vals) :- + findall(Val, pred_values(URI,LibProp,-Converter,Val), Vals). + +lib_property_read(_, collection, -literal_text). +lib_property_read(_, composer, +literal_text). +lib_property_read(_, performer, +literal_text). +lib_property_read(_, title, -literal_text). +lib_property_read(_, date, -literal_text). +lib_property_read(_, place, -literal_text). +lib_property_read(_, language, +literal_text). +lib_property_read(ilm, genre, +genre_label). + +genre_label(Genre,Label) :- + rdf(Genre,rdfs:label,Lit), + literal_text(Lit,Label). + +% ------------------- DEFINING NEW COLLECTIONS ----------------------- + +build_dataset_query(Query,DBV,Size-FullSize) --> + select_option(dv(DBV)), + select_option(sample(Subset)), + select_option(sv(SV)), + full_query(FQ), + { Subset=all -> Query=FQ, Size=FullSize + ; Query=sample(Subset,SV,FQ), + aggregate_all(count,call(FQ,_),FullSize) + }. + +full_query(qc(Filters)) --> + run_left(seqmap(process_qopt, + [ qo( library, atoms(LS), libraries(LS)) + , qo( collection, atoms(CC), any(collection,CC)) + , qo( title, atoms(TS), all(title,TS)) + , qo( composer, atoms(CS), any(composer,CS)) + , qo( performer, atoms(PS), any(performer,PS)) + , qo( genre, atoms(GS), any(genre,GS)) + , qo( year, years(YS), year(YS)) + , qo( place, atoms(PS), any(place,PS)) + , qo( language, atoms(LNS), any(language,LNS)) + ]), Filters, []). + +process_qopt(qo(OptName,Parser,Filter)) --> + { Opt=..[OptName,OptVal] }, + \> option_default_select(Opt,'*'), + ( {OptVal='*'} -> [] + ; {parse_atom(Parser,OptVal)}, + \< [Filter] + ). + +sample(Size,_,Query,X) :- + setof(X, call(Query,X), All), + length(All,Total), + ( Total=<Size -> Subset=All + ; randset(Size, Total, All, [], Subset) + ), + member(X,Subset). + +randset(0, _, _) --> !. +randset(K, N, [A|As]) --> + ({random(N)>=K} -> {K1=K}; {K1 is K-1}, cons(A)), + {N1 is N-1}, randset(K1,N1,As). + + +qc(Filters,X) :- maplist(filter(Lib,X),Filters), filter(Lib,X,in_library). + +%% lib_property(-Library, -Property, -Predicate) is nondet. +% +% This predicate manages the mapping from API search fields to RDF +% predicates. There are still some questions about: +% +% $ composer : marcrel cmp, arr, lyr +% $ performer : marcrel prf, sng, cnd, drt +:- rdf_meta lib_property(?,+,r). +lib_property(bl, collection, dcterms:isPartOf). +lib_property(bl, language, dcterms:language). +lib_property(bl, language, dc:language). +lib_property(bl, place, dcterms:spatial). +lib_property(ilm, genre, mo:genre). + +% lib_property(beets, date, beets:original_year). +lib_property(ilm, date, ilm:release_date). +lib_property(charm, date, charm:recording_date). +lib_property(mazurka, date, mazurka:recording_date). +lib_property(bl, date, dcterms:created). + +lib_property(charm, composer, charm:composer). +lib_property(mazurka, composer, mazurka:composer). +lib_property(bl, composer, marcrel:cmp). +lib_property(bl, composer, marcrel:arr). +lib_property(beets, composer, beets:composer). + +lib_property(charm, performer, charm:performer). +lib_property(mazurka, performer, mazurka:performer). +lib_property(bl, performer, marcrel:prf). +lib_property(bl, performer, marcrel:sng). +lib_property(beets, performer, beets:artist). +lib_property(ilm, performer, ilm:arist). + +lib_property(charm, title, charm:title). +lib_property(mazurka, title, mazurka:title). +lib_property(bl, title, dc:title). +lib_property(beets, title, beets:title). +lib_property(ilm, title, dc:title). + +lib_property_search(_,collection,X, substring(X)). +lib_property_search(_,place, X, substring(X)). +lib_property_search(_,language, X, prefix(X)). +lib_property_search(_,composer, X, prefix(X)). +lib_property_search(_,performer, X, prefix(X)). +lib_property_search(_,title, X, substring(X)). +lib_property_search(beets, date, L-U, between(L,U1)) :- succ(U,U1). +lib_property_search(_Lib, date, L-U, between(LA,U1A)) :- + % Lib\=beets, + succ(U,U1), + atom_number(LA,L), + atom_number(U1A,U1). + +%% filter(+Lib, -Resource, +SearchSpec) is nondet. +filter(Lib, _, libraries(Ls)) :- member(Lib,Ls). +filter(Lib, X, any(Prop,Vals)) :- member(Val,Vals), filter(Lib,X,Prop,Val). +filter(Lib, X, all(Prop,Vals)) :- maplist(filter(Lib,X,Prop),Vals). +filter(Lib, X, year(any(Ys))) :- member(Y,Ys), filter(Lib,X,date,Y-Y). +filter(Lib, X, year(L-U)) :- filter(Lib,X,date,L-U). +filter(Lib, X, Prop-Val) :- filter(Lib,X,Prop,Val). + +filter(charm, X, in_library) :- rdf(X,charm:file_name,_,charm_p2r). +filter(mazurka, X, in_library) :- rdf(X,mazurka:pid,_,mazurka_p2r). +filter(bl, X, in_library) :- rdf(X,rdf:type,mo:'Signal',bl_p2r). +filter(ilm, X, in_library) :- rdf(X,mo:track_number,_,ilm_p2r). +filter(beets, X, in_library) :- rdf(X,rdf:type,mo:'AudioFile',beets_p2r). + +%% filter(+Lib, -Resource, +Property, +Value) is nondet. + +% filter(beets, X,genre,G) :- rdf_has(X,beets:genre,literal(substring(G),_)). +filter(ilm, X,genre,G) :- + rdf(GR,rdfs:label,literal(substring(G),_),ilm_p2r), + rdf(GR,rdf:type,mo:'Genre',ilm_p2r), + rdf(X,mo:genre,GR). + +filter(Lib, X, Prop, Val) :- + lib_property(Lib,Prop,Pred), + lib_property_search(Lib,Prop,Val,Search), + rdf(X,Pred,literal(Search,_)). + +% --------- parsers ----------- + +% cids(Ids) --> seqmap_with_sep(",",alphanum,Ids). +cids(Ids) --> semicolon_sep(atom_codes,Ids). + +% atoms('*') --> "*", !. +atoms(AS) --> semicolon_sep(atom_codes,AS1), {maplist(downcase_atom,AS1,AS2),sort(AS2,AS)}. +whole(A) --> string_without("",Codes), {atom_codes(A1,Codes), downcase_atom(A1,A)}. + +% years('*') --> "*", !. +years(L-U) --> integer(L), "-", integer(U). +years(any(Ys)) --> semicolon_sep(number_codes,Ys1), {sort(Ys1,Ys)}. + +% alphanum(X) --> string_without(",",S), {atom_string(X,S)}. + +item(Conv,Item) --> string_without(";",Codes), {call(Conv,Item,Codes)}. +semicolon_sep(Conv,Items) --> + seqmap_with_sep(";",item(Conv),Items). + + +parse_atom(Phrase,Atom) :- + atom_codes(Atom,Codes), + insist( phrase(Phrase,Codes), parse_failure(Phrase)). + +thread_pool:create_pool(vis_recording) :- + current_prolog_flag(cpu_count,N), + thread_pool_create(vis_recording, N, [backlog(50)]).
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/api/matlab.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,104 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University of London + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +:- module(api_matlab, []). + +:- use_module(library(http/http_dispatch)). +:- use_module(library(http/http_parameters)). +:- use_module(library(sandbox)). +:- use_module(library(insist)). +:- use_module(library(fileutils)). +:- use_module(library(swipe)). +:- use_module(library(httpfiles)). +:- use_module(library(mlserver)). + +:- set_prolog_flag(double_quotes,string). +:- set_prolog_flag(back_quotes,symbol_char). + +:- http_handler(api(matlab/render), figure_render, []). + +:- setting(matlab:pixels_per_inch,number,150,"Pixels per inch for in browser figures"). +:- setting(matlab:default_figure_format,oneof([png,svg]),svg,"Default Matlab figure rendering method"). + +:- initialization catch(mutex_create(_,[alias(matlab_fig)]),Ex,print_message(warning,Ex)). + +%% figure_render(+Request) is det. +% +% HTTP handler for rendering Matlab figures. +figure_render(Request) :- + setting(matlab:pixels_per_inch,DefPPI), + http_parameters(Request, + [ code(CodeA,[ atom, optional(false), description("Prolog rendering goal")]) + , format(F, [ oneof([eps,svg,pdf,png]), optional(false), description("Output format") ]) + , width(W, [ number, optional(true), default(10), description("Width in cm")]) + , height(H, [ number, optional(true), default(6), description("Height in cm")]) + , color_map(CMA, [ atom, optional(true), default(hot) ]) + , font_name(FN, [ atom, optional(true), default(helvetica) ]) + , font_size(FS, [ number, optional(true), default(8) ]) + , line_width(LW, [ number, optional(true), default(0.75) ]) + , marker_size(MS,[ number, optional(true), default(4) ]) + , ppi(PPI, [ number, optional(true), default(DefPPI), description("PNG resolution")]) + ]), + debug(matlab,"Attempting to parse \"~s\".",[CodeA]), + atom_to_term(CodeA,Code,[]), + atom_to_term(CMA,CM,[]), + ( user_db:logged_on(A) + -> debug(matlab,"Logged on as ~w, no checking",[A]) + ; debug(matlab,"Checking ~q for safety...",[Code]), + sandbox:safe_goal(Code), + debug(matlab,"Goal is safe.",[]) + ), + insist(with_temp_dir(Dir, ( + render(F,Code,Dir, [ size(W,H), ppi(PPI),color_map(CM),line_width(LW) + , font_name(FN),font_size(FS),marker_size(MS) ]), + atom_concat('tmp_.',F,Out), + absolute_file_name(Dir/Out,File), + reply_file(File,F) + ))). + + +render(eps,Code,D,Opts) :- with_mutex(matlab_fig,print_fig(Code,D,Opts,'-depsc2')). +render(pdf,Code,D,Opts) :- render(eps,Code,D,Opts), run(in(D,sh(0>>0, "epstopdf tmp_.eps"))). +render(svg,Code,D,Opts) :- render(pdf,Code,D,Opts), run(in(D,sh(0>>0, "pdf2svg tmp_.pdf tmp_.svg"))). +render(png,Code,D,Opts) :- + render(eps,Code,D,Opts), + option(ppi(PPI),Opts), + run(in(D,sh(0>>0, "gs -dBATCH -dNumRenderingThreads=2 -dEPSCrop -dNOPAUSE -sDEVICE=pngalpha -sOutputFile=tmp_.png -r~d -q tmp_.eps",[\PPI]))). + +render_fig(Code,Opts) :- + option(color_map(ColorMap),Opts), + option(font_name(FontName),Opts), + option(font_size(FontSize),Opts), + option(line_width(LineWidth),Opts), + option(marker_size(MarkerSize),Opts), + option(colour(Colour),Opts,1), + option(axes_line_width_ratio(LWR),Opts,0.5), + option(figure(Fig),Opts,99), + ml_async(exec( dml_paperfig(Fig,`FontName,FontSize,LineWidth,Colour,MarkerSize,LWR); + colormap(ColorMap)),20), + debug(matlab,'Calling: ~q',[Code]), + with_output_to(string(_),call(Code)). + +print_fig(Code,Dir,Opts,PrintOpt) :- + render_fig(Code,Opts), + debug(matlab,'Saving figure to ~w',[Dir]), + absolute_file_name(Dir/'tmp_',Name), + ( option(size(Width,Height),Opts) + -> ml_async(exec(dml_fsetup(Width,Height,`centimeters)),20) + ; true), + ml_async(exec(print(`PrintOpt,`Name)),120).
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/api/perspectives.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,542 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University of London + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +:- module(perspectives, []). + +/** <module> VIS API Perspectives + + Todo + + - Chord sequences + - Standardise data structures +*/ +:- use_module(library(http/http_dispatch), [http_link_to_id/3]). +:- use_module(library(semweb/rdf_db)). +:- use_module(library(semweb/rdf_label)). +:- use_module(library(dcg_core)). +:- use_module(library(insist)). +:- use_module(library(computations)). +:- use_module(library(backend_json)). +:- use_module(library(dataset)). +:- use_module(library(memo)). +:- use_module(library(async)). +:- use_module(library(mlserver)). +:- use_module(api(dmlvis)). +:- use_module(api(archive)). + +% :- setting(memoise_failures,boolean,false,"Whether or not to record failed computations to avoid retrying"). +:- setting(default_recompute_policy,oneof([none,failed,force]),none,'Default policy on recomputing memoised computations'). +:- setting(default_vamp_on_demand,boolean,false,'Default policy on doing VAMP computations on demand'). + +% registry of perspectives. +dmlvis:perspective( getRecordingPerspective, Name, + [+uri(URI),vamp_on_demand(V)-false|Params], + cc(perspectives:rla(Pred,[vamp_on_demand(V)],URI)) + ) :- rec_persp(Name, Params, Pred). + +dmlvis:perspective( getCollectionPerspective, Name, + [+cid(CID),recompute(R)-none,vamp_on_demand(V)-false,coverage(C)-summary|Params], + cc(perspectives:cla(Pred,[recompute(R),vamp_on_demand(V),coverage(C)],CID)) + ) :- coll_persp(Name, Params, Pred). + +:- meta_predicate rla(2,+,+,-,-), cla(2,+,+,-,-). + +rla(Pred,Opts,URI,Result,stable) :- + option(vamp_on_demand(V), Opts, false), + with_global(vamp_on_demand, V, call(Pred,URI,Result)). + +cla(Pred,Opts,CID,Result,stable) :- + check_collection(CID), + call(Pred,Opts,CID,Result1), + option(coverage(Cov),Opts,full), + insist(filter_coverage(Cov,Result1,Result), invalid_coverage_parameter(Cov)). + +:- op(1050,xfy,=>). +G1 => G2 --> (call_dcg(G1) -> call_dcg(G2); []). + +filter_coverage(full) --> []. +filter_coverage(summary) --> dtrans(coverage,C1,C2) => {summarise_coverage(C1,C2)}. +summarise_coverage --> foldl(replace_list_with_length,[failed,errors],[failed_count,errors_count]). +replace_list_with_length(Key) --> dtrans(Key,List,Length) => {length(List,Length)}. +replace_list_with_length(Key1,Key2) --> ddel(Key1,List) => {length(List,Len)}, dput(Key2,Len). +dtrans(Key,Val1,Val2,D1,D2) :- get_dict(Key,D1,Val1,D2,Val2). +ddel(Key,Val,D1,D2) :- del_dict(Key,D1,Val,D2). +dput(Key,Val,D1,D2) :- put_dict(Key,D1,Val,D2). +% dget(Key,Val,D,D) :- get_dict(Key,D,Val). + +check_collection(CID) :- + insist(dataset_size(CID,Size), unknown_collection(CID)), + debug(dmlvis(perspective),'Doing collection level analysis on ~d items.',[Size]). + +rec_persp( transcription, [], output_link(transcription(0))). +rec_persp( transcription_fine, [], output_link(transcription(1))). +rec_persp( chords, [], output_link(chords)). +rec_persp( chord_notes, [], output_link(chord_notes)). +rec_persp( beatroot, [], output_link(beats(beatroot))). +rec_persp( key, [], output_link(key)). +rec_persp( key_tonic, [], output_link(tonic)). +rec_persp( beats, [], output_link(beats(qm))). +rec_persp( tempo, [], output_link(tempo)). +rec_persp( chromagram, [], output_link(chromagram)). +rec_persp( mfcc, [], output_link(mfcc)). + +rec_persp( spectrogram, [offset(O)-0,length(L)-60], spectrogram_link(O,L)). +rec_persp( tempo_nonuniform, [], nonuniform_tempo). +rec_persp( tempo_uniform, [period(DT)-1,lang(L)-ml ], uniform_tempo(L,DT)). +rec_persp( tempo_normalised, [num_samples(N)-20,lang(L)-ml ], normalised_tempo(L,N)). +rec_persp( chord_histogram, [], chord_histogram). +rec_persp( midi_pitch_histogram, [weighting(W)-none], pitch_histogram(W)). +rec_persp( pitch_histogram, [weighting(W)-none, quant(Q)-5, min(Min)-0, max(Max)-127, lang(L)-ml ], + freq_histogram(L,Min,Max,Q,W)). +rec_persp( tempo_histogram, [period(DT)-1, num_bins(N)-50, min(Min)-20, max(Max)-360, lang(L)-ml ], + tempo_histogram(L,DT,Min,Max,N)). + +%% coll_persp(P:perspective(A), Params:list(param), Pred:pred(+options,+dataset,-A)) is nondet. +% +% Database of collection perspectives. The first argument is an atom denoting a perspective +% which returns results of type A. Params must be defined as in dmlvis:options_optspec/2. +% Pred must accept a list of options and a collection (dataset) id and produce a result. +coll_persp( mean_tempo_curve, [num_samples(N)-20,lang(L)-ml], mem(collection_tempo_curve(L,N))). +coll_persp( midi_pitch_histogram, [weighting(W)-none], mem(collection_pitch_histogram(W))). +coll_persp( pitch_histogram, [weighting(W)-none, quant(Q)-5, min(Min)-20, max(Max)-100, lang(L)-ml], + mem(collection_freq_histogram(L,Min,Max,Q,W))). +coll_persp( tempo_histogram, [period(DT)-1, num_bins(N)-50, min(Min)-20, max(Max)-100, lang(L)-ml], + mem(collection_tempo_histogram(L,DT,Min,Max,N))). +coll_persp( pitch_lookup, [+midi_pitch(P), weighting(W)-none, limit(Lim)-5000,offset(Off)-0], + nomem(collection_pitch_lookup(W,P,Lim,Off))). + +% using python back-end +coll_persp( tonic_relative_pitch_class_histogram, [], + mem(py_hist(transcription_tonic_duration, tonic_norm_semitone_hist:aggregate, [opts{normalisation:piece}]))). +coll_persp( tonic_histogram, [], mem(py_hist(tagged(tonic), key_tonic_hist:aggregate, []))). +coll_persp( pitch_class_histogram, [], mem(py_hist(tagged(transcription), semitone_hist:aggregate, []))). +coll_persp( tuning_stats, [], mem(py_cla(tagged(transcription(1)),tuning_stats:per_file,[]))). +coll_persp( tuning_stats_by_year, [], mem(py_cla(transcription_date,tuning_stats_byyear:per_file,[]))). +coll_persp( places_hist, [], nomem(py_cla(list_places,places_hist:per_file,[]))). +coll_persp( key_relative_chord_seq, + [ spm_minlen(MinLen)-2, spm_maxseqs(MaxSeqs)-500, spm_algorithm(Alg)-'CM-SPADE', + spm_ignore_n(Ignn)-1, spm_maxtime(Smaxt)-60, spm_minsupport(Smins)-50 ], + mem(py_cla( keys_chords,chord_seq_key_relative:aggregate, + [opts{ spm_minlen:MinLen, spm_maxseqs:MaxSeqs, spm_algorithm:Alg, + spm_ignore_n:Ignn,spm_maxtime:Smaxt,spm_minsupport:Smins } ]))). + +coll_persp( similarity, + [ sim_downsample(SimDown)-1,sim_clusters(SimClusters)-40,sim_reclimit(Limo)-2000, + sim_type(SimType)-'euclidean',sim_features(SimFeat)-'chromagram', + sim_compressor(SimComp)-'zlib'], + mem(py_cla(similarity_bundle,similarity:per_file, + [opts{sim_type:SimType,sim_clusters:SimClusters,sim_downsample:SimDown, + sim_reclimit:Limo,sim_features:SimFeat,sim_compressor:SimComp}]))). + +% adaptor to ignore collection perspective options parameter +nomem(Goal,Opts,CID,Result) :- + option(vamp_on_demand(V), Opts, false), + with_global(vamp_on_demand, V, + with_progress_stack(call(Goal,CID,Result))). + +dmlvis:param( recompute, [oneof([none,failed,force]), default(Def), + description('Controls handling of memoised collection level results')]) :- + setting(default_recompute_policy,Def). +dmlvis:param( vamp_on_demand, [boolean, default(Def), + description('Whether to run VAMP plugins if results are not already available')]) :- + setting(default_vamp_on_demand,Def). +dmlvis:param( coverage, [oneof([full,summary]), default(summary), + description('How much detail to provide about recordings not successfully included in CLA')]). +dmlvis:param( offset, [number, default(0), description('Offset into signal in seconds')]). +dmlvis:param( length, [number, default(60), description('Length of signal extract in seconds')]). +dmlvis:param( weighting, [oneof([none,dur,vel]), default(none), description('Weighting for pitch_histogram perspective')]). +dmlvis:param( quant, [nonneg, default(5), description('Subdivisions of a semitone for freq_histogram')]). +dmlvis:param( period, [number, default(1), description('Sampling period in seconds')]). +dmlvis:param( num_bins, [nonneg, default(50), description('Number of bins for histogram')]). +dmlvis:param( num_samples, [nonneg, default(50), description('Number of samples for normalised histogram')]). +dmlvis:param( max, [nonneg, default(100), description('Max pitch for pitch histogram')]). +dmlvis:param( min, [nonneg, default(20), description('Min pitch for pitch histogram')]). +dmlvis:param( lang, [oneof([ml,r]), default(r), description('Numerical computations language')]). + +/* chord sequence parameters */ +dmlvis:param( spm_minlen, [nonneg, default(2), description('Minimum length of chord sequence')]). +dmlvis:param( spm_maxseqs, [nonneg, default(500), description('Maximum number of sequences to return')]). +dmlvis:param( spm_algorithm, [atom, default('CM-SPADE'), description('CM-SPADE, TKS or ClaSP')]). +dmlvis:param( spm_ignore_n, [nonneg, default(1), description('Ignore failed chord detections')]). +dmlvis:param( spm_maxtime, [nonneg, default(60), description('Max. runtime for SPM algorithm')]). +dmlvis:param( spm_minsupport, [nonneg, default(50), description('Minimal Support in Percent')]). + + +/* similarity parameters */ +dmlvis:param( sim_type, [atom, default('euclidean'), description('Tpye of similarity measure: euclidean, compression')]). +dmlvis:param( sim_clusters, [nonneg, default(40), description('Number of clusters for vector Quantisation (40-200)')]). +dmlvis:param( sim_downsample, [nonneg, default(1), description('Downsample the audio analysis to a resolution of 1 second')]). +dmlvis:param( sim_reclimit, [nonneg, default(2000), description('Maximum number of recordings in dataset')]). +dmlvis:param( sim_features, [atom, default('chromagram'), description('Feature basis of the similarity estimation, any combination, separated by comma: chromagram,mfcc,chords')]). +dmlvis:param( sim_compressor, [atom, default('zlib'), description('Compressor for similarity estimation: zlib, zxd')]). + + +:- rdf_meta transform_computation(+,r,r). +transform_computation(Class,In,Out) :- + ( transform(Class,Fn), computation(Fn,In,Out) *-> true + ; ( nb_current(vamp_on_demand,true) + -> insist(transform(Class,Fn), unrecognised_transform_class(Class)), % picks first match + format(string(Desc),"Running computation ~w on ~w.",[Fn,In]), + simple_task(Desc,computation_memo(Fn,In,Out)) + ; throw(missing_computation(Class,In)) + ) + ). + +:- rdf_meta transform_op(+,+,r,-). +transform_op(TName,Op,In,Out) :- + transform_computation(TName,In,X), + csv_op(Op,X,Out). + +% ------- recording level perspectives ------------ + +spectrogram_link(Offs,Len,URI,_{image_url:Link}) :- + http_link_to_id(spectrogram_window, [uri(URI), offset(Offs), length(Len)], Link). + +output_link(TransformName,Input,_{csv:Output}) :- + transform_computation(TransformName,Input,Output). + +chord_histogram(URI,_{values:Chords, counts:Counts}) :- + transform_op(chords,chord_hist,URI,Hist), + unzip(Hist,Chords,Counts). + +pitch_histogram(W,URI,_{values:NNs, counts:Counts}) :- + transform_op(transcription,pitch_hist(W),URI,Hist), + unzip(Hist,NNs,Counts). + +freq_histogram(ml,Min,Max,Q,W,URI,_{edges:Edges, counts:Counts}) :- + microtone_map(Min,Max,Q,Map), + transform_op(transcription(1),freq_hist(Map,W),URI,Counts), + map_edges(ml,Map,Edges). +freq_histogram(r,Min,Max,Q,W,URI,_{edges:Edges, counts:Counts}) :- + microtone_map(Min,Max,Q,Map), + transform_op(transcription(1),freq_hist_r(Map,W),URI,Counts), + map_edges(r,Map,Edges). + +nonuniform_tempo(URI,_{times:Times, values:Values}) :- + transform_op(tempo,tempo,URI,Result), + unzip(Result,Times,Values). + +uniform_tempo(ml,DT,URI,_{times:Times, values:Values}) :- + transform_op(tempo,uniform_tempo(DT),URI,Result), + Result=Times-Values. + +uniform_tempo(r,DT,URI,_{times:Times, values:Values}) :- + transform_op(tempo,uniform_tempo_r(DT),URI,Result), + Result=Times-Values. + +normalised_tempo(ml,N,URI,_{times:Times, values:Values}) :- + transform_op(tempo,normalised_tempo(N),URI,Result), + Result=Times-Values. + +normalised_tempo(r,N,URI,_{times:Times, values:Values}) :- + transform_op(tempo,normalised_tempo_r(N),URI,Result), + Result=Times-Values. + +tempo_histogram(ml,DT,Min,Max,N,URI,_{edges:Edges, counts:Counts}) :- + insist(Min>0, domain_error(min,"positive value",Min)), + Map=expmap(Min,Max,N), + map_edges(ml,Map,Edges), + transform_op(tempo,tempo_hist(DT,Map),URI,Result), + Result=_-Counts. +tempo_histogram(r,DT,Min,Max,N,URI,_{edges:Edges, counts:Counts}) :- + insist(Min>0, domain_error(min,"positive value",Min)), + Map=expmap(Min,Max,N), + map_edges(r,Map,Edges), + transform_op(tempo,tempo_hist_r(DT,Map),URI,Result), + Result=_-Counts. + + +% ------- collection level perspectives ------------ + +collection_pitch_histogram(W,CID,Result) :- + Min-Max = 20-100, % !!! FIXME + numlist(Min,Max,NNs), + dataset_histogram(CID, dense_pitch_hist(Min,Max,W), _{values:NNs}, Result). + +collection_pitch_lookup(Weighting, Pitch, Lim, Offset, CID, Result) :- + map_reduce_dataset(rec_pitch_hist(Weighting), pitch_lookup_cont(Pitch,Lim,Offset), CID, Result). + +pitch_lookup_cont(Pitch,Lim,Offset,RecHists, _{items:Items}) :- + findall( _{ uri: Rec, label:Label, count:Count, prob:Prob }, + offset(Offset, limit(Lim, order_by( [desc(Prob)], + ( member(Rec-Hist,RecHists), + rdf_display_label(Rec,Label), + pitch_hist_prob(Hist,Pitch,Count,Prob) + )))), + Items). + +% collection_pitch_lookup_alt(Weighting, Pitch, Lim, Offset, CID, _{ items:Items, coverage:Coverage}) :- +% findall_map_coverage(dataset_item(CID), rec_transcription, RecTrans, Coverage), +% findall( _{ uri: Rec, label:Label, count:Count, prob:Prob }, +% offset(Offset, limit(Lim, order_by( [desc(Prob)], +% ( csv_pitch_count_prob(Weighting,Trans,Pitch,Count,Prob), +% member(Rec-Trans,RecTrans), +% rdf_display_label(Rec,Label) +% )))), +% Items). +% +% rec_transcription(Rec,Rec-Transcription) :- transform_computation(transcription,Rec,Transcription). + +collection_freq_histogram(Lang,Min,Max,Q,W,CID,Result) :- + Map=binmap(Min,Max,(Max-Min)*Q+1), + map_edges(Lang,Map,Edges), + dataset_histogram(CID, dense_freq_hist(Lang,Map,W),_{edges:Edges}, Result). + +collection_tempo_histogram(Lang,DT,Min,Max,N,CID,Result) :- + insist(Min>0, domain_error(min,"positive value",Min)), + Map=expmap(Min,Max,N), + map_edges(Lang,Map,Edges), + dataset_histogram(CID, tempo_hist(Lang,DT,Map), _{edges:Edges}, Result). + +collection_tempo_curve(Lang,N,CID, Result) :- + map_reduce_dataset(tempo_curve(Lang,N), tempo_curves_stats(Lang), CID, Result). + + +dataset_histogram(CID, Mapper, Dict, Result) :- + dataset_map_fold_reduce(CID,Mapper,with_dl(fold_hist),finish_hist(Dict),nothing,Result). + +fold_hist([], S, S) :- !. +fold_hist(Xs, just(C1), just(C2)) :- !, insist(seqmap(maplist(add),Xs,C1,C2)). +fold_hist([X|Xs], nothing, just(C)) :- insist(seqmap(maplist(add),Xs,X,C)). + +finish_hist(Dict,just(Counts),Hist) :- put_dict(counts,Dict,Counts,Hist). + +py_hist(Mapper, PyFunction, Args, CID, _{counts:H,values:D,coverage:C,py_coverage:PYC}) :- + py_cla(Mapper,PyFunction,Args, CID, _{stats:_{counts:H,domain:D},coverage:C,py_coverage:PYC}). + +py_cla(Mapper, PyFunction, Args, CID, Result) :- + map_reduce_dataset(Mapper, py_cla_cont(PyFunction,Args), CID, Result). + +py_cla_cont(PyFunction,Args, Ok, _{stats:Result, py_coverage:Coverage}) :- + python_apply(PyFunction,[Ok|Args],Reply), + Reply = _{result:Result, stats:Coverage}. + + +% CLA mappers +rec_pitch_hist(W,Rec,Rec-Hist) :- transform_op(transcription,pitch_hist(W),Rec,Hist). + +dense_pitch_hist(Min,Max,W,Rec,DenseHist) :- + transform_op(transcription,pitch_hist(W),Rec,SparseHist), + sparse_to_dense(Min,Max,SparseHist,DenseHist). + +dense_freq_hist(ml,Map,W,Rec,Counts) :- + transform_op(transcription(1),freq_hist(Map,W),Rec,Counts). +dense_freq_hist(r,Map,W,Rec,Counts) :- + transform_op(transcription(1),freq_hist_r(Map,W),Rec,Counts). + +tempo_hist(ml,DT,Map,Rec,Counts) :- + transform_op(tempo,tempo_hist(DT,Map),Rec,Result), + Result=_-Counts. +tempo_hist(r,DT,Map,Rec,Counts) :- + transform_op(tempo,tempo_hist_r(DT,Map),Rec,Result), + Result=_-Counts. + +tempo_curve(ml,N,Rec,Values) :- + transform_op(tempo,normalised_tempo(N),Rec,Result), + Result=_-Values. +tempo_curve(r,N,Rec,Values) :- + transform_op(tempo,normalised_tempo_r(N),Rec,Result), + Result=_-Values. + +transcription_tonic_duration(Rec, _{transcription: Transcription, tonic: Tonic, duration:0 }) :- + tagged(transcription,Rec,Transcription), + tagged(tonic,Rec,Tonic). + +transcription_date(Rec, _{transcription: Transcription, date:Date}) :- + tagged(transcription(1),Rec,Transcription), + insist(recording_property(Rec,date,Date),missing_property(Rec,date)). + +keys_chords(Rec, _{keys: Keys, chords:Chords}) :- + tagged(key,Rec,Keys), + tagged(chords,Rec,Chords). + +similarity_bundle(Rec, _{chromagram: Chromagram, mfcc:Mfcc, keys: Keys, chords:Chords, list:_{uri:Rec, label:Label}}) :- + % nb_getval(vamp_on_demand,Vamp), + % concurrent_maplist(tagged_parallel(Vamp,Rec),[chromagram,mfcc,key,chords],[Chromagram,Mfcc,Keys,Chords]), + maplist(tagged,[chromagram,mfcc,key,chords],[Rec,Rec,Rec,Rec],[Chromagram,Mfcc,Keys,Chords]), + insist(recording_property(Rec,label,Label),missing_property(Rec,label)). + +tagged_parallel(Vamp,Rec,Transform,Result) :- + nb_setval(vamp_on_demand,Vamp), + with_progress_stack(tagged(Transform,Rec,Result)). + +list_places(Rec, _{place:Place,list:_{uri:Rec, label:Label}}) :- + insist(recording_property(Rec,place,Place),missing_property(Rec,place)), + insist(recording_property(Rec,label,Label),missing_property(Rec,label)). + +% for later... +% tagged_list(Spec,Rec,Dict) :- +% maplist(tagged_item(Rec),Spec,Pairs), +% dict_create(Dict,_,Pairs). +% tagged_item(Rec,Key:Transform,Key:Value) :- tagged(Transform,Rec,Value). + +tagged(Transform,Input,csv{value:Path}) :- + transform_computation(Transform,Input,R), uri_absolute_path(R,Path). + +% --------------------------------------------------- + +:- initialization time(memo_attach(memo(perspectives),[])). + +:- persistent_memo cla_memo(+spec:ground,+cid:atom,-result:any). +cla_memo(Spec,CID,Result) :- + debug(perspectives(cla),'cla_mem: ~q',[call(Spec,CID,Result)]), + with_progress_stack(call(Spec,CID,Result)). + +%% mem(+Spec:pred(+cid,-A),+Opts:options,+CID:cid,-Result:A) is det. +% +% Asynchronous memoised collection-level computation. +% Spec must be a ground term that can be called with two arguments: the id of a +% collection and a variable, which must be bound to an arbitrary result term on exit. +% If the computation has already be done and memoised in cla_memo/3, then the result is +% retrieved. Otherwise, the computation is started asynchronously and an exception +% describing the state of the computation will be thrown. +% == +% * dml_error(10, _{status:already_waiting, position:n}) +% the goal was previously added and is now waiting at position n in the queue. +% * dml_error(11, _{status:already_running, progress:Progress}) +% the goal was previously added and is currently running, with some progress information. +% * dml_error(12, _{status:initiate, position:N}) +% Means the goal has been added to the work queue of the thread pool at position N. +% == +% Options are options passed to control interaction with async_memo. + +mem(Spec,Opts,CID,Result) :- + option(vamp_on_demand(V), Opts, false), + async_memo(vis_cla,cla_memo(Spec,CID,Result),Status, + [ progress_levels([elapsed,summary,partial_result]), + globals([vamp_on_demand-V])|Opts ]), + ( Status=done(_-ok) -> true + ; status_response(Status,Code,Dict), + ( Status=done(_) -> Dict1=Dict + ; estimate_run_time(Spec,CID,ERT), + put_dict(ert,Dict,ERT,Dict1) + ), + throw(dml_error(Code,Dict1)) + ). + +% very crude estimate +estimate_run_time(Spec,CID0,ERT) :- + findall(Size-Dur, ( browse(cla_memo(Spec,CID,_),comp(_,_,Dur)-ok), + dataset_size(CID,Size)), Pairs), + length(Pairs,N), + ( N=0 -> ERT is -1 + ; maplist(computations:pair,Sizes,Durs,Pairs), + sumlist(Sizes,TotalSize), + sumlist(Durs,TotalDur), + dataset_size(CID0,Size), + ERT is TotalDur*Size/TotalSize + ). + +status_response(spawned(ID,Pos), 12, Info) :- + Info = _{status:initiated, id:ID, position:Pos }. +status_response(waiting(ID,T,Pos), 10, Info) :- + Info = _{status:already_waiting, id:ID, submit_time:TS, position:Pos }, + time_to_string(T,TS). +status_response(running(ID,TStart,_,nothing), 11, Info) :- + Info = _{ id:ID, status:already_running, start_time:TS }, + time_to_string(TStart,TS). +status_response(running(ID,TStart,_,just(Time-[Progress,Partial])), 11, Info) :- + maplist(progress_json,Progress,Progs), + time_to_string(TStart,TS), + Elapsed is Time-TStart, + ( member(stepwise(_,Done/Total),Progress), Done>0 + -> ETA is Elapsed*(Total-Done)/Done + ; ETA is -1 + ), + Info1 = _{ id:ID + , status:already_running + , start_time:TS + , elapsed_time:Elapsed + , progress:Progs + , eta:ETA + }, + ( Partial=just(R) + -> put_dict(partial_result,Info1,R,Info) + ; Info=Info1 + ). + +status_response(recomputing(ID,Pos,Meta), 13, Info) :- + Info = _{status:recomputing, id:ID, position:Pos, meta:MD}, + meta_dict(Meta,MD). +status_response(done(Meta), 14, _{status:failed, meta:MD}) :- + meta_dict(Meta,MD). + +meta_dict(comp(_,Time,Dur)-Result, _{ date: Date, duration:Dur, reason:Reason}) :- + format_result(Result,Reason), + time_to_string(Time,Date). + +format_result(fail,'Unspecified failure'). +format_result(ex(Ex),Description) :- message_to_string(Ex,Description). + +time_to_string(Time,String) :- format_time(string(String),'%FT%T%:z',Time). + +progress_json(A,A) :- atomic(A), !. +progress_json(stepwise(Desc,Done/Total), _{ task:Task, total:Total, done:Done }) :- !, + progress_json(Desc,Task). +progress_json(T,A) :- message_to_string(T,A). + +prolog:message(map_fold(_Mapper,_Folder)) --> ['Map-fold']. + +:- multifile thread_pool:create_pool/1. +thread_pool:create_pool(vis_cla) :- + current_prolog_flag(cpu_count,N), + thread_pool_create(vis_cla, N, [backlog(20)]). + +% ------------ computations with progress ------------------ + +map_reduce_dataset(Mapper,Reducer,CID,Result) :- + dataset_map_fold_reduce(CID,Mapper,append_dl,with_dl(Reducer),H-H,Result). + +append_dl(HH-TT,H-HH,H-TT). +with_dl(P,H-[],A) :- call(P,H,A). +with_dl(P,H-[],A,B) :- call(P,H,A,B). + +dataset_map_fold_reduce(CID,Mapper,Folder,Reducer,S0,Result) :- + dataset_items(CID,Items), + with_cont( 'Map-fold-reduce', + map_fold_with_progress( safe_call(Mapper), + safe_fold(Folder), + Items, s(0,F-F,E-E,S0)), + reduce_cont(Reducer), Result). + +reduce_cont(Reducer,s(NOk,Failed-[],Erroneous-[],S), R) :- + ( NOk>0 + -> simple_task(reducing(Reducer),call(Reducer,S,R1)), + put_coverage(NOk,Failed,Erroneous,R1,R) + ; put_coverage(NOk,Failed,Erroneous,_{status:'no successfully mapped items'},D), + throw(dml_error(20, D)) + ). + +put_coverage(NOk,Failed,Erroneous,R1,R) :- + put_dict(coverage,R1,_{ok_count:NOk, failed:Failed, errors:Erroneous},R). + +safe_call(Mapper,X,Z) :- + ( catch((call(Mapper,X,Y), Z=ok(X,Y)), Ex, + ( Ex=abort(_) -> throw(Ex) + ; Z=error(X,Ex))), ! + ; Z=fail(X) + ). + +safe_fold(Folder,Items,s(NOk1,FH-FT1,EH-ET1,S1),s(NOk2,FH-FT2,EH-ET2,S2)) :- + seqmap(partition,Items,s(NOk1,OkH,FT1,ET1),s(NOk2,OkT,FT2,ET2)), + call(Folder,OkH-OkT,S1,S2). + +partition(ok(_,X),s(N,[X|O],F,E),s(M,O,F,E)) :- M is N+1. +partition(fail(X),s(N,O,[X|F],E),s(N,O,F,E)). +partition(error(X,Ex),s(N,O,F,[_{item:X, error:Msg}|E]),s(N,O,F,E)) :- message_to_string(Ex,Msg). +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/api/r_plot.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,103 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University of London + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +:- module(api_r_plot, []). + +:- use_module(library(http/http_dispatch)). +:- use_module(library(http/http_parameters)). +:- use_module(library(sandbox)). +:- use_module(library(insist)). +:- use_module(library(fileutils)). +:- use_module(library(swipe)). +:- use_module(library(httpfiles)). +:- use_module(library(real)). + +:- set_prolog_flag(double_quotes,string). +:- set_prolog_flag(back_quotes,symbol_char). + +:- http_handler(api(r/render), r_figure_render, []). + +:- setting(r_plot:pixels_per_inch,number,150,"Pixels per inch for in browser figures"). +:- setting(r_plot:default_figure_format,oneof([png,svg]),svg,"Default R figure rendering method"). + +%% figure_render(+Request) is det. +% +% HTTP handler for rendering R figures. +r_figure_render(Request) :- + setting(r_plot:pixels_per_inch,DefPPI), + http_parameters(Request, + [ code(CodeA,[ atom, optional(false), description("Prolog rendering goal")]) + , format(F, [ oneof([eps,svg,pdf,png]), optional(false), description("Output format") ]) + , width(W, [ number, optional(true), default(10), description("Width in cm")]) + , height(H, [ number, optional(true), default(6), description("Height in cm")]) + , font_name(FN, [ atom, optional(true), default(helvetica) ]) + , font_size(FS, [ number, optional(true), default(10) ]) + , ppi(PPI, [ number, optional(true), default(DefPPI), description("PNG resolution")]) + ]), + debug(r_plot,"Attempting to parse \"~s\".",[CodeA]), + read_term_from_atom(CodeA,Code,[]), + ( user_db:logged_on(A) + -> debug(r_plot,"Logged on as ~w, no checking",[A]) + ; debug(r_plot,"Checking ~q for safety...",[Code]), + sandbox:safe_goal(Code), + debug(r_plot,"Goal is safe.",[]) + ), + insist(with_temp_dir(Dir, ( + render(F,Code,Dir,File, [size(W,H), ppi(PPI), font_name(FN), font_size(FS) ]), + debug(r_plot,'Replying with file ~s',[File]), + reply_file(File,F) + ))). + + +render(png,Code,D,PNGPath,Opts) :- !, + file_name_extension(tmp,png,PNGFile), + directory_file_path(D,PNGFile,PNGPath), + render(pdf,Code,D,EPSFile,Opts), + option(ppi(PPI),Opts,300), + run(sh(0>>0, "gs -dBATCH -dNumRenderingThreads=2 -dEPSCrop -dNOPAUSE -sDEVICE=pngalpha -sOutputFile=~s -r~d -q ~s", + [PNGPath+write,\PPI,EPSFile+read])). + +% render(png,Code,D,Opts) :- !, option(ppi(PPI),Opts,300), render(png(PPI),Code,D,Opts). +render(Fmt,Code,Dir,Path,Opts) :- + file_name_extension(tmp,Fmt,File), + directory_file_path(Dir,File,Path), + debug(r_plot,'Running ~q',[print_fig(Fmt,Code,Path,Opts)]), + with_mutex(r_plot,api_r_plot:print_fig(Fmt,Code,Path,Opts)). + +print_fig(Fmt,Code,Path,Opts) :- + debug(r_plot,'In print_fig...',[]), + option(size(Width,Height),Opts), + maplist(cm_inch,[Width,Height],[WidthInches,HeightInches]), + debug(r_plot,'Getting device ~w: ~s',[Fmt,Path]), + dev(Fmt,Path,WidthInches,HeightInches,Dev), + debug(r_plot,'Got device ~q',[Dev]), + setup_call_cleanup( + r(Dev), + call_cleanup( + with_output_to(string(_),Code), + exception(Ex), + debug(r_plot,'Exception running R code: ~q',[Ex])), + r('dev.off()')). + +dev(pdf,Name,W,H,pdf(+Name,width=W,height=H)). +dev(eps,Name,W,H,cairo_ps(+Name,width=W,height=H)). +dev(svg,Name,W,H,svg(+Name,width=W,height=H)). +dev(png(PPI),Name,W,H,png(+Name,width=WP,height=HP)) :- WP is PPI*W, HP is PPI*H. + +cm_inch(CM,INCH) :- INCH is CM/2.54. +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/api/score.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,270 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University of London + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +:- module(api_score, [get_link/3]). + +/** <module> Score related services and components +*/ +:- use_module(library(thread_pool)). +:- use_module(library(http/http_dispatch)). +:- use_module(library(http/http_parameters)). +:- use_module(library(fileutils)). +:- use_module(library(swipe)). +:- use_module(library(httpfiles)). +:- use_module(library(humdrum_p2r)). + +:- set_prolog_flag(double_quotes,string). + +:- initialization + current_thread_pool(sonify), !; + thread_pool_create(sonify, 20, [local(100), global(100), trail(100), backlog(100)]). + +user:term_expansion((:- file_setting(Name,Dir,Def,Desc)), (:- setting(Name,oneof(Files),Def1,Desc))) :- + absolute_file_name(Dir,Path,[file_type(directory),expand(true)]), + directory_files(Path,All), + exclude(dotfile,All,FilesUnsorted), + sort(FilesUnsorted,Files), + debug(score,'Found fluidsynth rc files: ~q',[All]), + ( member(Def,Files) -> Def1=Def + ; member(default,Files) -> Def1=default + ; member(Def1,Files) + ). + +dotfile(X) :- atom_concat('.',_,X). + +:- http_handler(api(score/render), score_render, []). +:- http_handler(api(score/get), score_get, []). +:- http_handler(api(score/sonify), score_sonify, [spawn(sonify),chunked]). + +:- setting(score:autobeam,boolean,true,"Use Lilypond autobeam when converting from XML"). +:- setting(score:default_width,number,170,"Default width of rendered score in mm"). +:- setting(score:reverse_spines,boolean,false,"Reverse order of spines when converting"). +:- setting(score:fluidsynth_sample_rate,number,44100,"Default Fluidsynth sample rate"). +:- setting(score:ogg_quality,between(-1,10),4,"Default oggenc quality"). +:- setting(score:mp3_lame_bitrate,oneof([96, 112, 128, 160, 192, 224, 256, 320]),128,"MP3 encoding bitrate"). +:- setting(score:hum2mid_tempo_scaling,number,1,"Tempo factor Humdrum to MIDI conversion"). +:- setting(score:soundfont_dir,string,"/usr/share/sounds/sf2","Soundfont directory"). +:- file_setting(score:fluidsynth_rc,dml(fluid),fluid_gm,"Fluidsynth initialisation file"). + + +%% score_get(+Request) is det. +% +% Handler for obtaining a score in one of several languages. +% +% The conversion relies on a number of executables, which must be available in the +% current PATH. +% * mvspine (humdrum) +% * hum2abc, hum2xml (humextra) +% * musicxml2ly (lilypond) +score_get(Request) :- + http_parameters(Request, + [ uri(URI, [ optional(false), description("URI of score to render")]) + , format(Fmt, [ optional(true), default(kern) + , oneof([kern,mxml,abc,lily]) + , description("Output format") ]) + % , transpose(Tr, [ optional(true), default('P1'), atom, description("Transposition interval") ]) + ]), + reply_converted_stream(get(Fmt),URI,[]). + + +%% score_sonify(+Request) is det. +% +% Handler for obtaining a score as MIDI or audio. +% Conversion to MIDI is affected by the following settings: +% Conversion is affected by the following settings: +% * score:hum2mid_tempo_scaling +% * score:fluidsynth_rc +% The name of fluidsynth initialisation file (in ~/etc/fluid) +% * score:fluidsynth_sample_rate +% * score:ogg_quality +% * score:mp3_lame_bitrate +% +% The conversion relies on a number of executables, which must be available in the +% current PATH. +% * mvspine (humdrum) +% * hum2mid, hum2abc, hum2xml (humextra) +% * oggenc (vorbis-tools) +% * lame +% * lilypond, musicxml2ly (lilypond) +% * pdf2svg +score_sonify(Request) :- + setting(score:hum2mid_tempo_scaling,Temp0), + setting(score:fluidsynth_rc,RC0), + ( member(range(Range),Request) + -> debug(score,'Got sonify request for range: ~q',[Range]) + ; true + ), + http_parameters(Request, + [ uri(URI, [ optional(false), description("URI of score")]) + , format(Fmt, [ optional(false), default(ogg) + , oneof([midi,ogg,mp3]) + , description("Output format") ]) + , tempo(Tempo,[ optional(true), default(Temp0), number, description("Tempo adjust factor") ]) + , fluidrc(RC, [ optional(true), default(RC0), atom, description("Fluidsynth intialisation") ]) + , transpose(Tr, [ optional(true), default('P1'), atom, description("Transposition interval") ]) + ]), + reply_converted_stream(sonify(Fmt,[tempo(Tempo),fluidrc(RC),transpose(Tr)]),URI,[]). + % ( uri_conversion_length(URI,sonify(Fmt,Tempo),Length) + % -> reply_converted_stream(sonify(Fmt,[tempo(Tempo),fluidrc(RC)]),URI,[length(Length),no_cache]) + % ; reply_converted_stream(sonify(Fmt,[tempo(Tempo),fluidrc(RC)]),URI,[length(Length),no_cache]), + % assert(uri_conversion_length(URI,sonify(Fmt,Tempo),Length)) + % ). + + +%% score_render(+Request) is det. +% +% Handler for score rendering web API. Takes a URI for a Humdrum score and a target +% graphical format, and uses Lilypond to layout and render musical notation. +% The layout parameter takes the following values: +% * page +% Results in a multi-page document suitable for printing. +% * snip +% Results in single, possibly very tall, image encapsulating the entire score. +% +% The rendering is affected by a number of settings (all in the score namespace): +% * autobeam +% Conversion to Lilypond goes via MusicXML and can use beaming information in the +% original score (autobeam=false), or Lilypond's own automatic beaming +% feature (autobeam=true). +% * default_width +% Default value for width parameter. This affects the number of bars per line and +% hence the overall scaling of the rendered score. +% * reverse_spines +% Humdrum scores maybe arranged with parts (spines) arranged by register from +% highest to lowest, or lowest to highest. If the latter, then it may help to +% reverse the spines to obtain a score with the highest parts at the top. +% +% Rendering requires serveral executable in addition to those required for conversion +% to a lilypond score: +% * lilypond +% * pdf2svg +score_render(Request) :- + setting(score:default_width,DefWidth), + http_parameters(Request, + [ uri(URI, [ optional(false), description("URI of score to render")]) + , format(F, [ optional(true), default(svg), oneof([svg,pdf,png]) + , description("Output format") ]) + , width(W, [ optional(true), default(DefWidth), nonneg + , description("Page width in mm") ]) + , layout(L, [ optional(true), default(snip), oneof([snip,page]) + , description("Lilypond backend") ]) + , transpose(Tr, [ optional(true), default('P1'), atom + , description("Transposition interval") ]) + ]), + reply_score(render(F,W,L,[transpose(Tr)]),URI). + +reply_score(Conversion,URI) :- + hum_uri_path(URI,In), + debug(score,"reply_score: ~q",Conversion), + with_temp_dir(Dir, + ( run(in(Dir,convert(Conversion,In,Out,Type))), + absolute_file_name(Dir/Out,File), + reply_file(File,Type))). + +reply_converted_stream(Conversion,URI,Opts) :- + hum_uri_path(URI,In), + debug(score,"~q",reply_converted_stream(Conversion,URI,Opts)), + with_temp_dir(Dir, + with_pipe_output( S, [type(binary)], + in(Dir,convert(Conversion,In,Type)), + reply_stream(S,Type,Opts))). + +% this should be in swipe... +:- meta_predicate with_pipe_output(-,+,+,0). +with_pipe_output(S, Opts, Spec, Goal) :- + command(Spec, 0>> $_, Cmd), + with_stream(S, open(pipe(Cmd), read, S, Opts), Goal). + + +get_link(URI,s-Fmt,URL) :- http_link_to_id(score_get,[uri(URI),format(Fmt)],URL). +get_link(URI,a-Fmt,URL) :- http_link_to_id(score_sonify,[uri(URI),format(Fmt)],URL). +get_link(URI,a(Ps)-Fmt,URL) :- http_link_to_id(score_sonify,[uri(URI),format(Fmt)|Ps],URL). + + + +% ----- conversion pipelines ----------- + +swipe:def(P,Q) :- def(P,Q). + +% get/1 conversion runs a pipeline into a file out in the +% current directory. +def( convert(get(F), In, out,F), In^kern :> humto(F,[]) >: out^F). + +% conversions with piped output (but might create files in current directory) +def( convert(get(F), In, F), In^kern :> humto(F,[])). +def( convert(sonify(F,Opts), In, F), In^kern :> humto(F,Opts)). + +% render/3 conversion produces a file out.<F> in the current +% directory where F is the requested format. +def( convert(render(F,W,L,Opts),In,Out,F), In^kern :> humto(lily,Opts) >> adjust(W,L) >> render(F,L)):- + atom_concat('out.',F,Out). + + +% these all read from In and output to stdout + +def( tomidi(Out,O), hum2mid(TF,Out)) :- option(tempo(TF),O,1). + +def( humto(Fmt,O), transpose(Interval) >> humto(Fmt,O1)) :- select_option(transpose(Interval),O,O1), Interval\='P1', !. +def( humto(Fmt,O), trans(Semis) >> humto(Fmt,O1)) :- select_option(trans(Semis),O,O1), Semis\=0, !. +def( humto(kern,_), cat). +def( humto(abc,_), sh( $kern >> $abc, "~s",[dml(scripts/hum2abcp)+execute])). +def( humto(lily,O), humto(mxml,O) >> xml2ly(B)) :- setting(score:autobeam,B). +def( humto(mxml,_), Pipe) :- + ( setting(score:reverse_spines,true) + -> Pipe = sh( $kern -> $kern, "mvspine -r") >> hum2xml + ; Pipe = hum2xml + ). +def( humto(midi,O), tomidi(Out,O) * sh($midi >> $midi, 'cat ~s',[@Out])). +def( humto(ogg,O), humto(raw(B,2,R),O) >> oggenc(B,R,Quality)) :- setting(score:ogg_quality,Quality). +def( humto(mp3,O), humto(raw(B,2,R),O) >> lame(B,R,BR)) :- setting(score:mp3_lame_bitrate,BR). +def( humto(raw(16,2,Rate),O), tomidi(Out,O) * midi2raw(Out,RC,Rate,s16)) :- + setting(score:fluidsynth_sample_rate,Rate), + setting(score:fluidsynth_rc,RC0), + option(fluidrc(RC),O,RC0). + +def( hum2mid(TF,Out), sh( $kern >> 0, "hum2mid --mv 1 --hv 1 -t ~f -o ~s", [\TF,@Out])) :- Out="out.mid". +def( midi2raw(In,RC,Rate,Fmt), + sh( 0>> $audio(raw), + "~s ~w ~s ~f ~w ~s", + [ dml(scripts/midi2snd)+execute, @In, dml(fluid/RC)+read, \Rate, \Fmt, @AbsSFDir])) :- + setting(score:soundfont_dir,SFDir), + absolute_file_name(SFDir,AbsSFDir,[file_type(directory),expand(true)]). + +def( oggenc(Q), sh( $audio(F) >> $audio(ogg), "oggenc -Q -q ~d -", [\Q])) :- member(F,[wav,aiff,flac]). +def( oggenc(B,R,Q),sh( $audio(raw) >> $audio(mp3), "oggenc -Q -r -B~d -C2 -R~d -q~d -", [\B,\R,\Q])). +def( lame(B,R,BR), sh( $audio(raw) >> $audio(mp3), Fmt, [\B,\K,\BR])) :- + Fmt="lame -h -r --bitwidth ~d -s ~f -b ~d - -", + K is R/1000. + +% these all process stdin to stdout +def( adjust(W,L), sh( 0 >> $lily, "~s ~d\\\\mm",[dml(scripts/L)+execute,\W])*cat). +def( xml2ly(true), sh( $mxml >> $lily, "musicxml2ly --no-beaming -")). +def( xml2ly(false), sh( $mxml >> $lily, "musicxml2ly -")). +def( hum2xml, sh( $kern >> $mxml, "hum2xml")). +def( transpose(I), sh( $kern >> $kern, "transpose -t ~s",[\I])). +def( trans(N), sh( $kern >> $kern, "trans -d 0 -c ~d",[\N])). + +% these all read stdin and produce a file called out.<Fmt> +def( render(svg,snip), lilypond(eps,pdf) * sh(0>>0,"pdf2svg out.pdf out.svg")) :- !. +def( render(svg,page), lilypond(svg,svg)) :- !. +def( render(Fmt,Layout), lilypond(BE,Fmt)) :- + member(Layout/BE,[page/ps,snip/eps]). + +% lilypond produces out.<F> where F is in {pdf,svg,png} +def( lilypond(B,F), sh($lily>>0, "lilypond -dsafe -dbackend=~w -f~w -o out -",[\B,\F])). +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/api/transcription.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,136 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University of London + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +:- module(api_transcription, [transcription_link/3]). + +/** <module> Score related services and components +*/ +:- use_module(library(http/http_dispatch)). +:- use_module(library(http/http_parameters)). +:- use_module(library(fileutils), [with_temp_dir/2, with_stream/3]). +:- use_module(library(dcg_core), [seqmap//2]). +:- use_module(library(httpfiles), [reply_stream/3]). +:- use_module(library(csvutils), [uri_to_csv/2]). +:- use_module(library(computations)). +:- use_module(library(plsmf)). +:- use_module(library(swipe)). +:- use_module(api(score)). % needed for pipelines + +:- set_prolog_flag(double_quotes,string). + +:- http_handler(api(transcription/sonify), transcription_sonify, [chunked]). + +:- dynamic uri_conversion_length/3. + +%% transcription_sonify(+Request) is det. +% +% Handler for obtaining a score as MIDI or audio. +% Conversion to MIDI is affected by the following settings: +% Conversion is affected by the following settings: +% * score:hum2mid_tempo_scaling +% * score:fluidsynth_rc +% The name of fluidsynth initialisation file (in ~/etc/fluid) +% * score:fluidsynth_sample_rate +% * score:ogg_quality +% * score:mp3_lame_bitrate +% +% The conversion relies on a number of executables, which must be available in the +% current PATH. +% * oggenc (vorbis-tools) +% * lame +transcription_sonify(Request) :- + setting(score:fluidsynth_rc,RC0), + http_parameters(Request, + [ uri(URI, [ optional(false), description("URI of transcription")]) + , format(Fmt, [ optional(false), default(ogg) + , oneof([midi,ogg,mp3]) + , description("Output format") ]) + , tempo(Tempo,[ optional(true), default(1), number, description("Tempo adjust factor") ]) + , fluidrc(RC, [ optional(true), default(RC0), atom, description("Fluidsynth intialisation") ]) + ]), + debug(transcription,'Sonify transcription ~w as ~w',[URI,Fmt]), + + % uri_conversion_length(URI,sonify(Fmt,Tempo),Length) + reply_sonfied_transcription(URI,Fmt,Tempo,RC,[]). + +reply_sonfied_transcription(URI,Fmt,Tempo,RC,Opts) :- + insist(uri_to_csv(URI,Rows)), + insist(once(( transcription_class(URI,Class), + seqmap(row_event(Class,Tempo),Rows,Events,[])))), + + with_temp_dir(Dir, + ( directory_file_path(Dir,'tmp.mid',MidiFile), + events_to_midi_file(Events,MidiFile), + with_pipe_output( S, [type(binary)], + in(Dir,sonify_events(Fmt,MidiFile,[fluidrc(RC)])), + reply_stream(S,Fmt,Opts)))). + +% this should be in swipe... +:- meta_predicate with_pipe_output(-,+,+,0). +with_pipe_output(S, Opts, Spec, Goal) :- + command(Spec, 0>> $_, Cmd), + with_stream(S, open(pipe(Cmd), read, S, Opts), Goal). + + +transcription_class(URI,Class) :- + rdf(Comp,dml:'comp/output',URI), + rdf(Comp,dml:'comp/function',Fn), + % rdf(Fn,vamp:plugin,Plugin), + computations:transform(Class,Fn). + +transcription_link(URI,a(Ps)-Fmt,URL) :- http_link_to_id(transcription_sonify,[uri(URI),format(Fmt)|Ps],URL). +transcription_link(URI,a-Fmt,URL) :- transcription_link(URI,a([])-Fmt,URL). + +events_to_midi_file(Events,File) :- + debug(transcription,'Writing events to ~w',[File]), + smf_new(SMF), + smf_add_events(SMF,Events), + smf_write(SMF,File). + +row_event(transcription,Tempo,row(Time,Dur,Freq,Vel,'')) --> !, + { freq_note_number(Freq,NN), T0 is Time/Tempo, T1 is (Time+Dur)/Tempo }, + [ smf(T0,144,NN,Vel), smf(T1,128,NN,0) ]. + +row_event(transcription,Tempo,row(Time,Dur,_,Vel,Pitch)) --> + { remove_cents(Pitch,Pitch1) }, + { pitch_name_number(Pitch1,NN), T0 is Time/Tempo, T1 is (Time+Dur)/Tempo }, + [ smf(T0,144,NN,Vel), smf(T1,128,NN,0) ]. + +row_event(chord_notes,Tempo,row(Time,Dur,NN)) --> + { T0 is Time/Tempo, T1 is (Time+Dur)/Tempo }, + [ smf(T0,144,NN,64), smf(T1,128,NN,0) ]. + + +% ----- conversion pipelines ----------- + +swipe:def(P,Q) :- def(P,Q). + +% these all read from In and output to stdout + +def( sonify_events(midi,In,_), cat(In^midi)). +def( sonify_events(ogg,In,O), sonify_events(raw(B,2,R),In,O) >> oggenc(B,R,Quality)) :- setting(score:ogg_quality,Quality). +def( sonify_events(mp3,In,O), sonify_events(raw(B,2,R),In,O) >> lame(B,R,BR)) :- setting(score:mp3_lame_bitrate,BR). +def( sonify_events(raw(16,2,Rate),In,O), midi2raw(In,RC,Rate,s16)) :- + setting(score:fluidsynth_sample_rate,Rate), + setting(score:fluidsynth_rc,RC0), + option(fluidrc(RC),O,RC0). + +remove_cents(P1,P2) :- sub_atom(P1,Bef,_,_,'-'), !, sub_atom(P1,0,Bef,_,P2). +remove_cents(P1,P2) :- sub_atom(P1,Bef,_,_,'+'), !, sub_atom(P1,0,Bef,_,P2). +remove_cents(P1,P1). +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/api/vis2.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,334 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University of London + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +:- module(vis2, []). + +/** <module> DML Visualisation web service + */ + + +:- use_module(library(http/html_write)). +:- use_module(library(http/html_head)). +:- use_module(library(http/http_dispatch)). +:- use_module(library(http/http_parameters)). +:- use_module(library(http/http_json)). +:- use_module(library(http/json)). +:- use_module(library(thread_pool)). +:- use_module(library(sandbox)). +:- use_module(library(dcg_core)). +:- use_module(library(dcg_codes)). +:- use_module(library(dcg_macros)). +:- use_module(library(fileutils)). +:- use_module(library(swipe)). +:- use_module(library(memo)). +:- use_module(library(rdfutils)). +:- use_module(library(httpfiles)). +:- use_module(library(dataset)). +:- use_module(library(insist)). +:- use_module(library(lambda)). +:- use_module(library(dcg/basics), [string_without//2, integer//1]). +:- use_module(library(solution_sequences)). + +:- set_prolog_flag(double_quotes,codes). +:- set_prolog_flag(back_quotes,string). + +http:location(v2,api(v2),[]). + +:- http_handler(v2(dataset), list_datasets, []). +:- http_handler(v2(dataset/define), define_dataset, []). +:- http_handler(v2(view/dataset/index), dataset_views, []). +:- http_handler(v2(view/dataset/items), dataset_items, []). +:- http_handler(v2(view/dataset/summary), dataset_summary, []). +:- http_handler(v2(view/recording/index), recording_views, []). +:- http_handler(v2(view/recording/properties), recording_properties, []). + +:- initialization + current_thread_pool(dmlvis), !; + thread_pool_create(vis, 8, [backlog(100)]). + +% ------------------------------------------------------------------------------------ +% Handlers with documentation + +%% list_datasets(+Request) is det. +% Lists previously defined datsets and the Prolog queries that define them. +list_datasets(R) :- vis(list_datasets,R). + +%% define_dataset(+Request) is det. +% Define a dataset satisfying given search terms. Result is a dataset +% ID, which may be the same as a previously defined dataset if it consists +% of the same items. +define_dataset(R) :- vis(define_dataset,R). + +%% dataset_views(+Request) is det. +% Lists available views for datasets. +dataset_views(R) :- vis(list_views(dataset),R). + +%% dataset_items(+Request) is det. +% Lists items in a given dataset specified by its ID.. +dataset_items(R) :- vis(dataset_items,R). + +%% dataset_summary(+Request) is det. +% Returns some summary information about a dataset. +dataset_summary(R) :- vis(dataset_summary,R). + +%% recording_views(+Request) is det. +% Lists available views for recordings. +recording_views(R) :- vis(list_views(recording),R). + +%% recording_properties(+Request) is det. +% Returns all the properties currently held in the RDF graph about a given recording. +recording_properties(R) :- vis(recording_properties,R). + + +% ------------------------------------------------------------------------------------ + +%% vis(+Method,+Request) is det. +% +% Top level predicate for implementing VIS API. Handles common tasks +% like determining the reply format, handling errors, and formatting the reply. +vis(Method,Request) :- + method_params_goal(Method,Params,Goal), + vis(Params,Goal,Request). + +vis(Params,Goal,Request) :- + http_parameters(Request, [format(Format), callback(Callback) | Params], + [attribute_declarations(param)]), + (Format=jsonp -> Fmt=jsonp(Callback); Fmt=json), + member(request_uri(Query),Request), + catch( insist(call(Goal,Result,Status)), + Ex, (error_result(Ex,Result), Status=error)), + result_response(Fmt,Query,Result,Status,Response), + write(Response). + +result_response(Fmt,Q,Result,Status,Response) :- + with_output_to(string(Response), + reply_as(Fmt,Status,_{ query:Q, result: Result})). + +reply_as(json,Status,Dict) :- + write_headers([Status,type(json)]), + json_write_dict(current_output, Dict). +reply_as(jsonp(Cb),Status,Dict) :- + write_headers([Status,type(jsonp)]), + write(Cb), write('('), + json_write_dict(current_output, Dict), + write(');'). + + +error_result(dml_error(Code,Descriptor),_{ code: Code, desc:Desc }) :- !, + format(string(Desc),'ERROR: ~w',[Descriptor]). + +error_result(Ex, _{ code: 500, desc: Msg }) :- + message_to_string(Ex,Msg). + +% ------------------------------------------------------------------------------------ +% Implementation of methods + +:- multifile param/2. + +% general +param( format, [oneof([json,jsonp]), default(jsonp), description('Reply format')]). +param( callback, [atom,default(jsonp_cb), description('Callback for jsonp reply')]). + +% define_dataset +param( library, [oneof([beets,charm,bl,ilm]), default(bl), description('Library to search within')]). +param( dv, [nonneg, optional(false), description('Database version ID')]). +param( genres, [atom, default(*), description('Semicolon separated list of genre names, or "*"')]). +param( years, [atom, default(*), description('Semicolon separeted list of release years or a range (Y1-Y2) or "*"')]). +param( composers, [atom, default(*), description('Semicolon separated list of composers or "*"')]). +param( performers,[atom, default(*), description('Semicolon separated list of performers or "*"')]). + +param( cid, [atom, optional(false), description('Collection ID')]). +param( cids, [atom, optional(false), description('Semicolon separated list of Collection IDs')]). +param( uri, [atom, optional(false), description('Recording URI')]). +param( limit, [integer, default(5000), description('Maximum number of things to return')]). +param( offset, [integer, default(0), description('Offset within list')]). + +method_params(listCollections, []). +method_params(listPerspectives, [method(_)]). +method_params(collection_id, [library(_),dv(_),genres(_),years(_),composers(_),performers(_)]). +method_params(Method, [ pid(_) | Params ]) :- + perspective(Method,_,_,_,_), + setof(P, perspective_param_name(Method,P), Ps), + maplist(param_name_term,Ps,Params). + +param_name_term(Name,Term) :- functor(Term,Name,1). +perspective_param_name(Method,Name) :- + perspective(Method,_,_,Specs,_), + member(S,Specs), + optspec_name(S,Name). + + +:- multifile perspective/5. + +method_result(listCollections, _, _{ collections:List }, unstable) :- + findall( _{ cid:Id, query:QA, dv:DV, size:SZ }, + ( browse(dataset:dataset(dmlvis:Q, DV, Id, SZ, _)), + term_to_atom(Q,QA) + ), + List). +method_result(Method,Opts,Result,stable) :- + method_result(Method,Opts,Result). + + + +method_result(listPerspectives, Opts, _{ perspectives:List }) :- + option(method(Method), Opts), + findall( P, perspective(Method,P,_,_,_), List). + +method_result(collection_id, Opts, _{ cid:Id, size:Size }) :- + option(dv(DBV),Opts), + option(library(Coll),Opts), + collection_query(Coll, Opts, Query), + dataset_query_id( Query, DBV, Id), + dataset_size(Id, Size). + +options_optspec(_,Opts,\O) :- option(O,Opts). +options_optspec(_,Opts,O-Def) :- option(O,Opts,Def). +options_optspec(M,Opts,O>Goal) :- options_optspec(M,Opts,O), call(M:Goal). + +optspec_name(\O,Name) :- functor(O,Name,1). +optspec_name(O-_,Name) :- functor(O,Name,1). +optspec_name(O>_,Name) :- optspec_name(O,Name). + +perspective(getRecordingPerspective, properties, dmlvis, [\uri(URI)], recording_info(URI)). +perspective(getCollectionPerspective, summary, dmlvis, [\cid(C)], collection_summary(C)). +perspective(getCollectionPerspective, list, dmlvis, [\cid(C),limit(Lim)-5000,offset(Off)-0], collection_list(C,Lim,Off)). +% perspective(getCollectionPairPerspective, summary, dmlvis, [\cids(A)>parse_atom(cids([C1,C2]),A)], binary(summary,C1,C2)). +% perspective(getMultiCollectionPerspective, summary, dmlvis, [\cids(A)>parse_atom(cids(Cs),A)], multi(summary,Cs)). + +collection_summary(Id,Result) :- + insist(browse(dataset:dataset(Goal,DV,Id,Size,_)), unknown_collection(Id)), + term_to_atom(Goal,GoalA), + Result = _{cid:Id, size:Size, goal:GoalA, dv:DV }. + +collection_list(Id, Lim, Offset, _{cid:Id, size:Size, items:Items}) :- + dataset_size(Id,Size), + findall(Item,limit(Lim,offset(Offset,dataset_item(Id,Item))),Items). + +% --------------- recording_properties ----------------------------- + +recording_info(URI, Result) :- + ( a(mo:'AudioFile',URI) -> G=audiofile_info(URI) + ; a(mo:'Track',URI) -> G=track_info(URI) + ; a(mo:'Signal',URI) -> G=signal_info(URI) + ; rdf(URI,charm:file_name,_) -> G=charm_info(URI) + ; throw(not_a_recording(URI)) + ), + insist(call(G,Result),failed(G)). + +audiofile_info(URI,Result) :- + rdf_text(URI,beets:title,Title), + rdf_text(URI,beets:album,AlbumName), + rdf_text(URI,beets:artist,ArtistName), + rdf_number(URI,beets:length,Duration), + Result = _{ type:audiofile, title:Title, artist:ArtistName, album:AlbumName, duration:Duration }. + +track_info(Track, Result) :- + rdf_number(Track,mo:duration,DurationMs), Duration is DurationMs/1000.0, + rdf_text(Track,dc:title,Title), + rdf(Record,mo:track,Track), + rdf(Release,mo:record,Record), + rdf_text(Release,dc:title,AlbumName), + rdf(Artist,foaf:made,Track), + rdf_text(Artist,foaf:name,ArtistName), + Result = _{ type:track, title:Title, artist:ArtistName, album:AlbumName, duration:Duration }. + +signal_info(Signal, _{type:signal, tracks:Infos}) :- + setof(T,rdf(T,mo:publication_of,Signal),Tracks), + maplist(track_info,Tracks,Infos). + +charm_info(URI, PropDict) :- + setof(Pred-Vals,setof(Val1,Val^(rdf(URI,Pred,literal(Val)),atomise_literal(Val,Val1)),Vals),Info), + dict_pairs(PropDict,_,Info). + +atomise_literal(type(_,Val),Val) :- !. +atomise_literal(lang(_,Val),Val) :- !. +atomise_literal(Val,Val). + +% -------------------- defining a dataset ------------------------------ + +qc(beets,Opts,X) :- maplist(filter(beets,X),Opts), a(mo:'AudioFile',X). +qc(charm,Opts,X) :- maplist(filter(charm,X),Opts), rdf(X,charm:file_name,_). +qc(bl,Opts,X) :- maplist(filter(bl,X),Opts), rdf(X,rdf:type,mo:'Signal',bl_p2r). + +filter(_,_,genres(*)) :- true. +filter(beets,X,genres(any(Gs))) :- member(G,Gs), rdf_has(X,beets:genre,literal(substring(G),_)). + +filter(_,_,years(*)) :- true. +filter(D,X,years(any(Ys))) :- member(Y,Ys), filter(D,X,years(Y-Y)). +filter(D,X,years(L-U)) :- succ(U,U1), atom_number(LA,L), atom_number(U1A,U1), filter(D,X,years(LA,U1A)). +filter(beets,X,years(L,U)) :- rdf(X, beets:original_year, literal(between(L,U),_)). +filter(charm,X,years(L,U)) :- rdf(X, charm:recording_date, literal(between(L,U),_)). +filter(bl,X,years(L,U)) :- rdf(X, dcterms:created, literal(between(L,U),_)). + +filter(_,_,composers(*)) :- true. +filter(D,X,composers(any(List))) :- member(C,List), filter(D,X,composer(C)). +filter(charm,X,composer(C)) :- rdf(X, charm:composer, literal(prefix(C),_)). +filter(bl,X,composer(C)) :- rdf(X, marcrel:cmp, literal(prefix(C),_)). +filter(_,_,performers(*)) :- true. +filter(D,X,performers(any(List))) :- member(C,List), filter(D,X,performer(C)). +filter(charm,X,performer(C)) :- rdf(X, charm:performer, literal(prefix(C),_)). +filter(bl,X,performer(C)) :- rdf(X, marcrel:prf, literal(prefix(C),_)). +filter(beets,X,performer(C)) :- rdf(X, beets:artist, literal(prefix(C),_)). +filter(charm,X,title(C)) :- rdf(X, charm:title, literal(substring(C),_)). +filter(bl,X,title(C)) :- rdf(X, dc:title, literal(substring(C),_)). +filter(beets,X,title(C)) :- rdf(X, beets:title, literal(like(C),_)). + + +collection_query(Coll, Opts, qc(Coll,Filters)) :- + seqmap(process_qopt(Opts), + [ qo( genres(GA), genres(GS), genres(*), parse_atom(atoms(GS), GA)) + , qo( composers(CA), composers(CS), composers(*), parse_atom(atoms(CS), CA)) + , qo( performers(PA), performers(PS), performers(*), parse_atom(atoms(PS), PA)) + , qo( years(YA), years(YS), years(*), parse_atom(years(YS), YA)) + , qo( title(T), title(T), title(*), true) + ], + Filters, []). + +process_qopt(Opts,qo(Opt,Filter,NullFilter,Goal)) --> + {option(Opt,Opts,'*'), call(Goal)}, + ({Filter=NullFilter} -> []; [Filter]). + + +% --------- parsers ----------- + +% cids(Ids) --> seqmap_with_sep(",",alphanum,Ids). +cids(Ids) --> semicolon_sep(atom_codes,Ids). + +atoms('*') --> "*", !. +atoms(any(AS)) --> semicolon_sep(atom_codes,AS). + +years('*') --> "*", !. +years(L-U) --> integer(L), "-", integer(U). +years(any(Ys)) --> semicolon_sep(number_codes,Ys). + + + +% alphanum(X) --> string_without(",",S), {atom_string(X,S)}. + +item(Conv,Item) --> string_without(";",Codes), {call(Conv,Item,Codes)}. +semicolon_sep(Conv,Items) --> + seqmap_with_sep(";",item(Conv),Items). + + +parse_atom(Phrase,Atom) :- + atom_codes(Atom,Codes), + debug(vis,'Attempting to parse ~q with ~q...',[Atom,Phrase]), + insist( phrase(Phrase,Codes), parse_failure(Phrase)), + debug(vis,'...got ~q',[Phrase]). +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/applications/audio_ui.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,263 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University of London + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +:- module(audio_ui, []). + +:- use_module(cp_application('config-enabled/dml_permission')). + +:- use_module(library(thread_pool)). +:- use_module(library(http/html_write)). +:- use_module(library(http/html_head)). +:- use_module(library(http/http_dispatch)). +:- use_module(library(http/http_parameters)). +:- use_module(library(dcg_core)). +:- use_module(library(swipe)). +:- use_module(library(decoration)). +:- use_module(library(rdfutils)). +:- use_module(library(httpfiles)). +:- use_module(library(dsp)). + +:- use_module(library(musicbrainz), [mb_id_uri/3]). +:- use_module(library(spotify/spotify), [spotify_player//2]). +:- use_module(library(spotify/echotools), [mb_to_spotify/2]). +:- use_module(library(spotify/spotools)). + +:- use_module(components(matlab)). +:- use_module(components(audio)). + +:- use_module(cliopatria(hooks)). + +:- set_prolog_flag(double_quotes,string). + +:- http_handler(api(audio/get), audio_get, [chunked,spawn(audio)]). +:- http_handler(api(audio/spectrogram), spectrogram_handler, []). +:- http_handler(root(dml/audio/spectrogram/window), spectrogram_window, []). +:- http_handler(root(dml/audio/spotify), spotify_handler, []). +% :- http_handler(api(audio/mpc), audio_mpc, []). + +:- setting(audio_decoration,oneof([link,player]),player,"Decoration for AudioFile URIs"). +:- setting(specgram_color_map,ground,hot,"Matlab colour map for spectrograms"). +% :- setting(mpd_host,atom,m5,"Name of MPD host"). + +:- rdf_meta reply_audio_stream(r,+,+). + +% Disabled: was causing excessive scraping of BL pages to get audio links. +% decoration:resource_decoration(URI,Link) --> +% { setof(URL-Fmt,audio_link(URI,URL,Fmt),URLS), !, +% setting(audio_decoration,Decoration) +% }, +% audio_decoration(Decoration,l(URLS),Link). + +decoration:resource_decoration(URI,Link) --> + { bagof(URL-Fmt,audio_link(URI,URL,Fmt),URLS), !, + setting(audio_decoration,Decoration) + }, + audio_decoration(Decoration,URLS,Link). + +decoration:resource_view(URI,_) --> + { mb_id_uri(recording,MBID,URI) + ; rdf(URI,mo:publication_of,Recording), + mb_id_uri(recording,MBID,Recording) + }, + { http_link_to_id(spotify_handler,[mbid(MBID)],SpotifyURL)}, + html( [ iframe([ name=spotify, seamless=seamless, src=SpotifyURL, allowtransparency=true + , style="border:0px solid #ccc;width:320px;height:80px" + ], []) + % , iframe([name=spotifyPlayer,seamless=seamless,width=320,height=80, + % frameborder=0,allowtransparency=true],[]) + , br([]) + ]). + +decoration:resource_view(URI,_) --> + % !!! HACK: force scraping for BL items here.. + {rdf(URI,dml:blpage,_) -> ignore(bl_p2r:scrape_audio_link(URI,_)); true}, + if( bagof(URL-Fmt,audio_link(URI,URL,Fmt),AudioLinks), audio_player(AudioLinks)), + if( (audio_file(URI,_,_); audio_link(URI,_,_)), html(div(\spectrogram(URI,[height(6)])))). + +%% spectrogram_window(+Request) is det. +% Returns an HTML page containing spectrogram of the the requested URI over the +% requested time range, with controls for moving forwards or backwards in the +% signal and for zooming in or out. +spectrogram_window(Request) :- + http_parameters(Request, + [ uri(URI, [ optional(false), description("URI of audio file")]) + , offset(O, [ number, optional(true), default(0), description("Offset in seconds")]) + , length(L, [ number, optional(true), default(60), description("Length of extract in seconds")]) + , width(W, [ number, optional(true), default(15)]) + , height(H, [ number, optional(true), default(8)]) + ], + [form_data(Params)]), + setting(specgram_color_map,CM), + seqmap(remove_option, [offset(_),length(_),format(_)], Params, Params2), + + ( rdf_number(URI,beets:length,Dur) + ; rdf_number(URI,mazurka:duration,Dur) + ; rdf(Sig,mo:sampled_version_of,URI), + rdf_number(Sig,mo:duration,Millis), + Dur is Millis/1000.0 + ; Dur = 36000000 + ), + OffsetPrev is max(0,O-L), + OffsetNext is min(Dur-L,O+L), + LZoomIn is L/2, OffsetZoomIn is O+L/4, + LZoomOut0 is min(Dur,L*2), OffsetZoomOut is max(0,O-L/2), + ( OffsetZoomOut + LZoomOut0 > Dur + -> LZoomOut is Dur-OffsetZoomOut + ; LZoomOut is LZoomOut0 + ), + + http_link_to_id(spectrogram_window, [offset(OffsetPrev), length(L) | Params2], URLPrev), + http_link_to_id(spectrogram_window, [offset(OffsetNext), length(L) | Params2], URLNext), + http_link_to_id(spectrogram_window, [offset(OffsetZoomIn), length(LZoomIn) | Params2], ZoomIn), + http_link_to_id(spectrogram_window, [offset(OffsetZoomOut), length(LZoomOut) | Params2], ZoomOut), + http_link_to_id(spectrogram_window, [offset(0), length(60) | Params2], Home), + + reply_html_page(cliopatria(bare),[title("Spectrogram viewer")], + [ \html_requires(font_awesome) + , \figure( spectrogram(URI,O,L), W, H, + [ format(png), color_map(CM) | Params2]) + , div(style="display:inline-block;vertical_align:middle", + [ a(href=Home, i(class='fa fa-home',[])), br([]) + , a(href=ZoomIn, i(class='fa fa-plus',[])), br([]) + , a(href=ZoomOut, i(class='fa fa-minus',[])), br([]) + , a(href=URLPrev, i(class='fa fa-chevron-left',[])), br([]) + , a(href=URLNext, i(class='fa fa-chevron-right',[])) + ]) + ], + [stable]). + +remove_option(Opt,O1,O2) :- select_option(Opt,O1,O2,_). + +%% spectrogram_handler(+Request) is det. +% Returns an image file containing a spectrogram of the requested URI over +% a given time window. +spectrogram_handler(Request) :- + http_parameters(Request, + [ uri(URI, [ optional(false), description("URI of audio file")]) + , offset(O, [ number, optional(true), default(0), description("Offset in seconds")]) + , length(L, [ number, optional(true), default(60), description("Length of extract in seconds")]) + ], + [form_data(Params)]), + select(uri(_),Params,P1), + Code=dsp:spectrogram(URI,O,L), + term_to_atom(Code,CodeAtom), + http_link_to_id(api_matlab:figure_render,[code(CodeAtom)|P1],URL), + http_redirect(see_other,URL,Request). + +%% spotify_handler(+Request) is det. +% Looks up a Spotify track URLs for the given Musicbrainz recording ID. +% If one is found, then returns an HTML page containing just a Spotify +% player component for all the Spotify tracks. If no tracks are found, +% then an HTML page containing a message is returned. +spotify_handler(Request) :- + http_parameters(Request, + [ mbid(MBID, [ optional(false), description("MusicBrainz recording ID")]) + ]), + with_output_to(string(_),findall(S,mb_to_spotify(MBID,S),SpotifyURIs)), + Head=[title("Spotify tracks for MBZ recording ~w"-MBID)], + ( SpotifyURIs=[] + -> reply_html_page(cliopatria(bare),Head,html(h3('Not found on Spotify')),[stable]) + ; reply_html_page(cliopatria(bare),Head, + \spotify_player(tracks('RecordingTracks',SpotifyURIs),[width(320),height(80)]),[stable]) + ). + +% list of Spotify URIs and a Spotify player +% spotify_handler(Request) :- +% http_parameters(Request, +% [ mbid(MBID, [ optional(false), description("MusicBrainz recording ID")]) +% ]), +% with_output_to(string(_),findall([S],mb_to_spotify(MBID,S),SpotifyURIs)), +% reply_html_page(cliopatria(bare), [title("Spotify tracks for recording")], +% table([ thead(td("Spotify URIs")) +% , \seqmap(table_row(spotify_link),SpotifyURIs) +% ])). + +% spotify_link(URI) --> +% { spotify_player_url(track(URI),[],URL) }, +% html(a([href=URL,target=spotifyPlayer ],URI)). + +% table_row(Format,Cells) --> html(tr(\seqmap(td(Format),Cells))). +% td(Format,Cell) --> html(td(\call(Format,Cell))). + + +% spotify_player(ID) --> +% ( {with_output_to(string(_),catch(mb_to_spotify(ID,SPID),_,fail))} +% -> spotify:spotify_player(SPID,[]) +% ; html(p("Not found on Spotify")) +% ). + + +audio_get(Request) :- + http_parameters(Request, + [ uri(URI, [ optional(false), description("URI of audio file")]) + , format(T, [ optional(true), default(original) + , oneof([original,ogg,mp3]), description("Audio format") ]) + ]), + debug(audio_ui,"Requested audio as ~w: ~s",[T,URI]), + insist(audio_file(URI,In,just(T0))), + insist(file_permission(In,public), access_denied), + ( (T=original; T0=T) + -> debug(audio_ui,"Returing original (~q) file ~q",[T0,In]), + reply_file(In,T0) + ; insist(command(transcode(In,URI,T0,T),Cmd)), + insist(reply_file(pipe(Cmd),T)) + ). + +% audio_mpc(Request) :- +% http_parameters(Request, +% [ uri(URI, [ optional(false), description("URI of audio file")]) +% ]), +% atom_concat('audio:',Rel,URI), +% setting(mpd_host,MPDHost), +% run(mpc_insert(MPDHost,Rel) * mpc_next(MPDHost)). + +% ----- conversion pipelines ----------- + +find_script(Name,Path) :- absolute_file_name(dml(scripts/Name),Path,[access(execute)]). + +swipe:def(P,Q) :- def(P,Q). + +def( mpc_insert(Host,Rel), sh(0>>0, "MPD_HOST=~w ~s ~w",[\Host,@MPC,@Rel])) :- find_script(mpc_insert,MPC). +def( mpc_next(Host), sh(0>>0, "MPD_HOST=~w mpc next",[\Host])). + +def( transcode(In,_,T1,T2), sox(In,T1,T2)) :- + sox_supported(T1). + +def( transcode(In,URI,aac,T2), faad(In,Bits) >> soxraw(af(Bits,C,SR),T2)) :- + ( rdf_number(URI,beets:samplerate,SR), + rdf_number(URI,beets:channels,C) + ; rdf(URI,mazurka:pid,_), + SR=44100, C=2 + ). + +def( faad(In,16), sh( 0 >> $audio(raw), "faad -f 2 -w ~s", [In+read])). +def( sox(In,F1,F2), sh( 0 >> $audio(F2), "sox -t ~w ~s -t ~w -",[\F1,In+read,\F2])). +def( soxraw(AF,Fmt), sh( $audio(raw) >> $audio(Fmt), F,[\Rate,\Bits,\Chans,\Fmt])) :- + F="sox -t raw -r ~d -b ~d -e signed -c ~d - -t ~w -", + AF=af(Bits,Chans,Rate). + +sox_supported(mp3). +sox_supported(wav). +sox_supported(ogg). +sox_supported(au). +sox_supported(aiff). + +:- initialization + current_thread_pool(audio), !; + thread_pool_create(audio, 20, [local(100), global(100), trail(100), backlog(100)]). +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/applications/callgraph_ui.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,139 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University of London + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +:- module(callgraph_ui, []). + +:- use_module(library(http/html_write)). +:- use_module(library(http/html_head)). +:- use_module(library(http/http_dispatch)). +:- use_module(library(http/http_parameters)). +:- use_module(library(http/http_host)). +:- use_module(library(http/js_write)). +:- use_module(library(semweb/rdfs)). +:- use_module(library(dcg_core)). +:- use_module(library(fileutils)). +:- use_module(library(callgraph)). +:- use_module(library(decoration)). +:- use_module(library(httpfiles)). +:- use_module(components(icons)). + + +:- http_handler(root(dml/callgraph/ui), callgraph_ui, []). +:- http_handler(root(dml/callgraph/view), callgraph_viewer, []). +:- http_handler(api(callgraph/render), callgraph_render, []). + +:- html_resource(js('callgraph.js'), [requires(jquery)]). + +cliopatria:menu_item(500=help/callgraph_ui,'Module callgraph'). + +% adds a cube icon to all module URIs to link to rendered callgraph +decoration:resource_decoration(URI,Link) --> + {rdfs_individual_of(URI,memo:'Module')}, !, + {uripattern:pattern_uri(dml:module/prolog/enc(Mod),URI)}, + {http_link_to_id(callgraph_viewer,[module(Mod)],URL)}, + html_requires("//maxcdn.bootstrapcdn.com/font-awesome/4.1.0/css/font-awesome.min.css"), + html(span([ a(href(URL),[' ',\icon(cube)]), \Link])). + +%% callgraph_viewer(+Request) is det. +% Web page displaying the callgraph for a given module. +% Uses the callgraph_view//1 component for the view area. +callgraph_viewer(Request) :- + http_parameters(Request, + [ module(Module, [ optional(false), description("Name of module to graph") ]) ]), + reply_html_page(cliopatria(wide), [title(["Module callgraph: ",Module])], + [ h1(["Module callgraph: ",Module]), \callgraph_view(Module) ], + [ stable ]). + + +%% callgraph_view(+Module:module)// is det. +% +% HTML component containing a pannable/zoomable SVG callgraph of the named module. +% The graph itself is rendered by callgraph_render/1 via an HTTP request made just +% by Javascript code inserted directly after the view element. +callgraph_view(Module) --> + html_requires(js('callgraph.js')), + html_requires(js('svg-pan-zoom.min.js')), + html_requires(jquery), + html_post(head,style("svg text {font-family:Times}")), + {http_link_to_id(callgraph_render,[module(Module),format(svg)],URL)}, + html( [ div([style="width:100%;height:25em;padding:0em",id=output,class="output-box"],[]) + , \js_script({|javascript(URL)|| load_svg('#output',URL);|}) + ]). + +%% callgraph_render(+Request) is det. +% +% Replies with a the predicate dependency graph for a given module, created using library(callgraph). +% Default reply format is SVG. In some formats, each predicate contains a link to the documentation +% for that predicate. +callgraph_render(Request) :- + http_parameters(Request, + [ module(Module, [ optional(false), description("Name of module to graph") ]), + chain(Chain, [ optional(true), default(4), nonneg, description("unflatten -c parameter") ]), + link(Link, [ optional(true), default(4), nonneg, description("unflatten -l parameter") ]), + format(Fmt, [ optional(true), default(svg), atom, description("Graphviz output format") ]) + ]), + debug(callgraph_ui,"Calling callgraph on ~w.",[Module]), + http_link_to_id(pldoc_object,[object=''],DocBase), + Method=unflatten([fl(Link),c(Chain)]), + with_mutex(callgraph, + with_temp_dir(Dir, ( + atomic_list_concat([Dir,'/',Module,'.',Fmt],File), + with_output_to(string(_), module_render(Module,[ filename(File), linkbase(DocBase), format(Fmt), method(Method)])), + reply_file(File,Fmt)))). + + +%% callgraph_ui(+Request) is det. +% Web page containing a form for a module name and an output area for +% rendered graphs. The form and view area are created using the callgraph_view//1 component. +callgraph_ui(_) :- + reply_html_page(cliopatria(wide), [title("Module callgraph")], + [ h1("Module callgraph") , \callgraph ], + [ stable ]). + +callgraph --> + {http_location_by_id(callgraph_render,Loc)}, + html_requires(js('callgraph.js')), + html_requires(js('svg-pan-zoom.min.js')), + html_requires(jquery), + html_post(head,style("svg text {font-family:Times}")), + % html_post(head,script(type("text/javascript"), + % "$(document).ready(function() { $('#output').on('load',activate_obj); });")), + html( div(class="callgraph-ui", + [ form([class=forms,target=dummy,method=post,action="about:blank",onsubmit="return false;"], + [ label(["Module" + , div(class="input-groups", + [ input([type=text,autocomplete=on,name=module,id=module],[]) + , \seqmap( append_control, + [ %number(chain,1-10,4) + button(graph,"update_svg('~w');"-[Loc], "graph") + , button(clear,"clear_output();", "clear") + ]) + ])]) + , label(["Output" + , div([style="width:100%;height:25em;padding:0em",id=output,class="output-box"],[])]) + ]) + , iframe([id=dummy,style="display:none",src="about:blank"],["Dummy"]) + ])). + +append_control(B1) --> html(span(class="btn-append",\B1)). + +number(Id,Min-Max,Val) --> + html(input([type=number,id=Id,name=Id,min=Min,max=Max,value=Val,style="min-width:7ex"],[])). + +button(Id,OnClick,Label) --> + html(button([class="btn", onclick=OnClick,id=Id], Label)).
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/applications/csv_ui.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,77 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University of London + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +:- module(csv_ui, []). + +/** <module> UI for viewing CSV files +*/ +:- use_module(library(http/html_write)). +:- use_module(library(http/html_head)). +:- use_module(library(http/http_dispatch)). +:- use_module(library(http/http_parameters)). +:- use_module(library(decoration)). +:- use_module(library(htmlutils), [paginator//3]). +:- use_module(library(csvutils), [uri_to_csv/2]). +:- use_module(library(listutils), [drop/3,take/3]). +:- use_module(components(table), [table_from_goal//2]). +:- use_module(components(icons)). +:- use_module(cliopatria(hooks)). + +:- set_prolog_flag(double_quotes,string). + +:- http_handler(root(dml/csv/view), csv_view, []). + +decoration:resource_view(URI,_) --> + { sub_string(URI,_,_,0,".csv") }, + { http_link_to_id(archive_get,[uri(URI)],EntryURL) }, + { http_link_to_id(csv_view,[uri(URI)],ViewURL) }, + html_requires(font_awesome), + html([ a(href=EntryURL, [\icon(download)," Download"]), &('MediumSpace') + , a(href=ViewURL, [\icon(table)," View"])]). + +decoration:resource_decoration(URI,Link) --> + { sub_string(URI,_,_,0,".csv") }, !, + { http_link_to_id(csv_view,[uri(URI)],ViewURL) }, + html_requires(font_awesome), + html( span( [ a(href(ViewURL),\icon(table)) + , &(nbsp), \Link + ])). + +csv_view(Request) :- + http_parameters(Request, + [ uri(URI, [ optional(false), description("URI of CSV file")]) + , page(Page, [ nonneg, default(1) ]) + , limit(Limit, [ nonneg, default(50) ]) + ]), + uri_to_csv(URI,Rows), + length(Rows,Total), + Offset is Limit*(Page-1), + Pages is ceil(Total/Limit), + insist(Page=<Pages), + drop(Offset,Rows,Rows1), + insist(Page=Pages -> Rows1=Rows2; take(Limit,Rows1,Rows2)), + format(string(FullTitle),"CSV view for ~w",[URI]), + reply_html_page(cliopatria(demo), [title(FullTitle)], + [ h1(FullTitle) + , \paginator(csv_view-[uri(URI),limit(Limit)],Page,Pages) + , \table_from_goal(csv_row(Rows2),[]) + , \paginator(csv_view-[uri(URI),limit(Limit)],Page,Pages) + ]). + +csv_row(Rows,Row) :- member(R,Rows), R=..[_|Row]. +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/applications/dml_overview.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,93 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University of London + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +:- module(dml_overview, []). + +/** <module> DML Overview pages +*/ + +:- use_module(library(http/html_write)). +:- use_module(library(http/html_head)). +:- use_module(library(http/http_dispatch)). +:- use_module(library(semweb/rdf_db)). +:- use_module(library(dcg_core)). +:- use_module(library(rdfutils)). +:- use_module(library(httpfiles),[reply_html_page/4]). +% :- use_module(components(score)). +% :- use_module(api(score)). + +:- set_prolog_flag(double_quotes,string). + +:- http_handler(root(dml/overview/top), dml_overview, []). + +dml_overview(_Request) :- + rdf(Rec,beets:title,literal(substring('I want to talk about you'),_)), + reply_html_page(cliopatria(demo), [title("DML Overview")], + [ html_post(head,style( ["h2 { margin-top:1em }"])) + , h1("Digital Music Lab Overview") + , h2("Knowledge representation: relational models and RDF") + , h2("Exploring the collections") + , p([ "The music libraries are organised in to 'graphs' (RDF sub-databases) on the basis of their origin. " + , "One way to explore them is to start from the page for each graph, and examine the predicates and classes " + , "the use to describe their content. For example, one can browse a list of values of the 'charm:composer' " + , "predicate and from their find recordings that have particular values of that property."]) + , p(\ll(list_predicates,[graph(bl_p2r)],"Predicates in the British Library recordings graph")) + , \ll(list_predicates,[graph(charm_p2r)],"Predicates CHARM collection graph") + % , p("The CHARM collection contains works by many composers. This pie chart shows the top 25 composer by number of recordings.") + % , \charm_composers_plot + , h2("The semantic web") + , p([ "DML can follow Musicbrainz URIs to retrieve information from the Linkedbrainz SPARQL endpoint and " + , "the Musicbrainz XML web service. Information from Linkedbrainz is already in Music Ontology format, " + , "but information from Musicbrainz is reorganised on import to conform to the Music Ontology's schema " + , "of events to describe composition, recordinging, and other music related data." ]) + , p(\ll(list_resource,[r(Rec)],"A recording with Musicbrainz links.")) + , h2("Symbolic scores") + , p("The database includes symbolic scores in Humdrum/Kern format obtained from the KernScores website.") + , p(\ll(list_predicate_resources,[side=object,graph=humdrum_p2r,predicate='http://dml.org/humdrum/schema/refcode/COM'],"Humdrum scores by Bach")) + , h2("Computation and memoisation") + , \ll(list_instances,[graph=memo_p2r,class='http://dml.org/memo/Function'],"Memoised functions") + , h2("SWISH: collaborative web-based Prolog") + , p([ "DML embeds a SWISH server to provide a web-based Prolog programming environment with access to the " + , "DML database and analsis functions, as well as facilities for visualising results and collaborative development." ]) + , p(html(a(href('/cp/swish/p/c3examples.swinb#'),"Music library statistics visualised using C3 graphics"))) + ], + [stable]). + +ll(ID,Params,HTML) --> line(\link(ID,Params,HTML)). +link(ID,Params,HTML) --> + {http_link_to_id(ID,Params,Link)}, + html(a(href(Link),HTML)). + +line(HTML) --> html(HTML), html(br([])). + +:- rdf_meta collection_property_hist(+,r,+,-). +collection_property_hist(Coll,P,Min,c3{data:_{columns:Pairs, type:pie}}) :- + setof([C,N], (collection_property_value_count(Coll,P,literal(C),N),N>Min), Pairs). + +collection_property_value_count(Collection,Property,Value,Count) :- + aggregate(count, R^(collection(Collection,R), rdf_has(R,Property,Value)), Count). + +collection(charm,X) :- rdf(X,charm:file_name,_). +collection(bl,X) :- rdf(X,rdf:type,mo:'Signal',bl_p2r). + +charm_composers_plot --> + {swish_render:renderer(c3,C3Mod,_)}, + {collection_property_hist(charm,dml:composer,25,Pairs)}, + % !!! This is not working. + C3Mod:term_rendering(Pairs,_,[]). +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/applications/memo_ui.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,159 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University of London + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +:- module(memo_ui, []). + +/** <module> UI for viewing memoised functions +*/ +:- use_module(library(http/html_write)). +:- use_module(library(http/html_head)). +:- use_module(library(http/http_dispatch)). +:- use_module(library(http/http_parameters)). +:- use_module(library(decoration)). +:- use_module(library(htmlutils)). +:- use_module(library(memo)). +:- use_module(library(async)). +:- use_module(library(listutils)). +:- use_module(library(httpfiles)). +:- use_module(components(table)). +:- use_module(components(icons)). +:- use_module(cliopatria(hooks)). + +:- set_prolog_flag(double_quotes,string). + +:- http_handler(root(dml/memo/view), memo_view, []). +:- http_handler(root(dml/jobs/view), job_view, []). +:- http_handler(root(dml/jobs/cancel), cancel_job, []). + +decoration:resource_view(URI,_) --> + { rdf(URI,rdf:type,memo:'Function'), !, + uripattern:pattern_uri(\func(Mod,Pred,Arity),URI), + format(string(Name),"~w:~w/~d",[Mod,Pred,Arity]), + http_link_to_id(pldoc_object,[object=Name],DocLink), + http_link_to_id(memo_view,[uri(URI)],ViewURL) + }, + html_requires(font_awesome), + html( [ a(href=ViewURL, [\icon(table)," View"]), ' ' + , a(href=DocLink, [\icon(book)," Documentation"]) + ]). + +decoration:resource_decoration(URI,Link) --> + { rdf(URI,rdf:type,memo:'Function'), !, + % uripattern:pattern_uri(dml: \func(Mod,Pred,Arity),URI), + % format(string(Name),"~w:~w/~d",[Mod,Pred,Arity]), + % http_link_to_id(pldoc_object,[object=Name],DocLink), + http_link_to_id(memo_view,[uri=URI],ViewLink) + }, + html_requires(font_awesome), + html( span( [ a(href(ViewLink),\icon(table)), &(nbsp) + % , a(href(DocLink),\icon(book)), &(nbsp) + , \Link ])). + +memo_view(Request) :- + http_parameters(Request, + [ uri(URI, [ optional(false), description("URI of CSV file")]) + , page(Page, [ nonneg, default(1) ]) + , limit(Limit, [ nonneg, default(50) ]) + ]), + format(string(FullTitle),"View for ~w",[URI]), + uripattern:pattern_uri(\func(Mod,Pred,Arity),URI), + length(Args,Arity), + Head =.. [Pred|Args], + aggregate_all(count,browse(Mod:Head),Total), + ( Total=0 + -> Content=p("This function has no successful memoised computations.") + ; Offset is Limit*(Page-1), + Pages is ceil(Total/Limit), + insist(Page=<Pages), + % insist(Page=Pages -> Rows1=Rows2; take(Limit,Rows1,Rows2)), + Content = [ \paginator(memo_view-[uri(URI),limit(Limit)],Page,Pages) + , \table_from_goal(goal_row(limit(Limit,offset(Offset,browse(Mod:Head))),Args),[]) + , \paginator(memo_view-[uri(URI),limit(Limit)],Page,Pages) + ] + ), + reply_html_page(cliopatria(demo), [title(FullTitle)], [ h1(FullTitle) | Content ], [unstable]). + +cancel_job(Request) :- + insist(user_db:logged_on(_),not_authorised(cancel_job)), + http_parameters(Request, + [ pool(Pool, [ atom, optional(false) ]) + , id(Id, [ atom, optional(false) ]) + , return_to(ReturnTo, [ atom, default(_) ]) + ]), + async_cancel(Pool,Id), % !!! this could throw an error + (var(ReturnTo) -> member(referer(ReturnTo),Request); true), + debug(async,'Cancelling job ~w:~w, returning to ~w',[Pool,Id,ReturnTo]), + http_redirect(see_other,ReturnTo,Request). + +job_view(Request) :- + http_parameters(Request, [pool(Pool, [atom, default(vis_cla)])]), + format(string(FullTitle),"Current jobs in thread pool ~w",[Pool]), + findall(job(Goal,ID,TSub,Status),async_current_job(Pool,Goal,ID,TSub,Status),Jobs), + reply_html_page(cliopatria(demo), [title(FullTitle)], + [h1(FullTitle), \job_tables(Pool,Jobs)], + [unstable]). + +job_tables(Pool,Jobs) --> + {partition(is_waiting, Jobs, Waiting, Running)}, + ( {Running=[]} -> html(h3("No jobs running.")) + ; html( [ h3("Running jobs") + , \table_from_goal(running_job(Pool,Running), + [headings(['Started','Elapsed','Progress','Goal','Actions'])]) + ]) + ), + ( {Waiting=[]} -> html(h3("No jobs waiting.")) + ; html( [ h3("Waiting jobs") + , \table_from_goal(waiting_job(Pool,Waiting), + [headings(['Position','Submitted','Goal','Actions'])]) + ]) + ). + + +is_waiting(job(_,_,_,waiting(_))). + +waiting_job(Pool,Jobs,[Pos,TSubmit,GoalCell,a(href(Cancel),cancel)]) :- + member(job(Goal,ID,TSubmit,waiting(Pos)),Jobs), % !!! add submit time to table? + http_link_to_id(cancel_job,[pool=Pool,id=ID],Cancel), + goal_cell(Goal,GoalCell). +running_job(Pool,Jobs,[StartS,ElapsedS,ProgressS,GoalCell,a(href(Cancel),cancel)]) :- + member(job(Goal,ID,_TSubmit,running(Thread,Start)),Jobs), + http_link_to_id(cancel_job,[pool=Pool,id=ID],Cancel), + format_time(string(StartS),'%FT%T%:z',Start), + debug(async,'Getting running job progress from thread ~w...',[Thread]), + catch(( async_thread_progress(Thread,[summary],TNow,[Progress]), + progress_string(Progress,ProgressS), + Elapsed is TNow-Start, format(string(ElapsedS),'~2f',[Elapsed]) + ), Ex, ( debug(async,'Failed to get job progress ~q',[Ex]), + ElapsedS="N/A", ProgressS="ENDED")), + copy_term(Goal,Goal1), + numbervars(Goal1,0,_), + goal_cell(Goal1,GoalCell). + +goal_cell(Mod:Head,a(href(URL),GoalS)) :- + functor(Head,Pred,Arity), + uripattern:pattern_uri(\func(Mod,Pred,Arity),URI), + http_link_to_id(list_resource,[r(URI)],URL), + term_cell(Mod:Head,GoalS). + +progress_string(Progress,String) :- memberchk(stepwise(_Desc,Done/Total), Progress), !, format(string(String),'~d/~d',[Done,Total]). +progress_string(_Terms, "-"). + +goal_row(Pred,Vals,Cells) :- call(Pred), maplist(term_cell,Vals,Cells). +term_cell(Term,Cell) :- + with_output_to(string(Cell),write_term(Term,[quoted(true),max_depth(6),numbervars(true)])). +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/applications/score_ui.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,165 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University of London + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +:- module(score_ui, [ sonify_ui//2]). + +/** <module> Score related pages and hooks + + This module provides a web pages for displaying rendered scores and for + an audio player to play sonified scores. + It also module provides resource decorations and local view customisations + for Humdrum scores. +*/ + +:- use_module(library(http/html_write)). +:- use_module(library(http/html_head)). +:- use_module(library(http/http_dispatch)). +:- use_module(library(http/http_parameters)). +:- use_module(library(semweb/rdfs)). +:- use_module(library(semweb/rdf_label)). +:- use_module(library(dcg_core)). +:- use_module(library(dcg_codes)). +:- use_module(library(decoration)). +:- use_module(library(rdfutils)). +:- use_module(library(httpfiles)). +:- use_module(components(score)). +:- use_module(components(icons)). +:- use_module(api(score)). + +:- set_prolog_flag(double_quotes,string). + +:- http_handler(root(dml/score/audio), score_audio, []). +:- http_handler(root(dml/score/view), score_view, []). + +decoration:resource_decoration(URI,Link) --> + {rdfs_individual_of(URI,hum:'File')}, !, + {http_link_to_id(score_view,[uri(URI)],ScoreURL)}, + {http_link_to_id(score_sonify,[uri(URI),format(ogg)],AudioURL)}, + html_requires(font_awesome), + html_requires(js('add_dummy_iframe.js')), + html( span( [ a(href(ScoreURL),\icon(music)) + , &(nbsp), a([href(AudioURL),target(dummy)],\icon(play)) + , &(nbsp), a([href('about:blank'),target(dummy)],\icon(stop)) + , &(ensp), \Link + ])). + +rdf_label:label_hook(URI,literal(Lit)) :- + rdf(URI,rdf:type,hum:'File'), + (var(Lit) -> Lit=Label; Lit=lang(_,Label)), + phrase_string(uri_label(URI),Label). + +uri_label(URI) --> + {atom_concat('kern:',File,URI)}, + file_label(URI,File). + +file_label(URI,File) --> + { suffix(30,File,ShortFile) }, + at(ShortFile), + if(rdf_text(URI,hum:'refcode/OTL',Title), (" - ",at(Title)," ")), + if((rdf_text(URI,hum:'refcode/COM',Composer),short_name(Composer,Comp)), + paren(at(Comp))). + +suffix(MaxLen,String,Shorter) :- + string_length(String,N), + ( N=<MaxLen, Shorter=String + ; sub_string(String,_,MaxLen,0,S1), + string_concat("...",S1,Shorter) + ). +surname(Full,Surname) :- + split_string(Full,","," ",[Surname|_]). +short_name(Full,Short) :- + split_string(Full,","," ",[Surname|Rest]), + maplist(split(" "," "),Rest,ForeNested), + flatten(ForeNested,Forenames), + maplist(initial,Forenames,Initials), + atomics_to_string(Initials,".",Inits), + atomics_to_string([Inits,Surname],".",Short). + + +split(Sep,Pad,String,Parts) :- split_string(String,Sep,Pad,Parts). +initial(String,Init) :- string_chars(String,[Init|_]). + +decoration:resource_view(URI,_) --> + {rdfs_individual_of(URI,hum:'File')}, + {http_link_to_id(score_view,[uri(URI)],ViewURL)}, + html([ a(href=ViewURL, [\icon(music), " View score"]), &('MediumSpace') + , br([]), "Download as:" + , \seqmap(link(URI),[s-kern,s-mxml,s-lily,s-abc,a-midi]) + , \seqmap(render_link(URI),[pdf]) + , h2("Score sonification") + % , br([]), "Download audio as:" + % , \seqmap(link(URI),[a-ogg,a-mp3]) + % , br([]) + % , \score_audio_player(URI) + , \sonify_ui(URI,score_ui:score_audio) + , \pitch_class_histogram(URI) + ]). + + +score_audio(Request) :- + http_parameters(Request, + [ uri(URI, [optional(false), description("URI of score to render")]) + , autoplay(Auto, [boolean, default(false)]) + ], [form_data(Params)]), + reply_html_page(cliopatria(bare), [title("Audio element")], + \score_audio_player(URI,[autoplay(Auto)],Params), + [stable]). + +score_view(Request) :- + http_parameters(Request, + [ uri(URI, [optional(false), description("URI of score to render")]) + , width(W, [ optional(true), default(170), nonneg + , description("Page width in mm") ]) + ]), + ( (rdf_text(URI,hum:'refcode/OPT',Parent);rdf_text(URI,hum:'refcode/OPR',Parent)) + -> (rdf_text(URI,hum:'refcode/OTL',Title); Title="<Untitled part>"), + format(string(FullTitle),"~w, ~w",[Parent,Title]) + ; (rdf_text(URI,hum:'refcode/OTL',FullTitle); FullTitle="<Untitled>") + ), + (rdf(URI,hum:'refcode/COM',Composer); Composer="<Unknown composer>"), + reply_html_page(cliopatria(demo), [title(FullTitle)], + [ h1(FullTitle) + , h2(['By ',Composer]) + , p([ "Resource view: ", \(cp_label:rdf_link(URI,[decoration(false), resource_format(nslabel)])) + % , br([]) + % , "Download as:" + % , \seqmap(link(URI),[s-kern,s-mxml,s-lily,s-abc,a-midi]) + % , \seqmap(render_link(URI),[pdf]) + , \sonify_ui(URI,score_ui:score_audio) + % , br([]), "Download audio as:" + % , \seqmap(link(URI),[a-ogg,a-mp3]) + % , br([]) + % , \score_audio_player(URI) + , br([]) + ]) + , \score(URI,W) + ], + [stable]). + +render_link(URI,Fmt) --> + {http_link_to_id(score_render,[uri(URI),layout(page),format(Fmt)],URL), + string_concat("score.",Fmt,Filename)}, + html([" ",a([href=URL,download=Filename],Fmt)]). + +link(URI,R-Fmt) --> + { variant_sha1(URI,Hash), + atomics_to_string([score,Hash,'.',Fmt],Filename), + get_link(URI,R-Fmt,URL) + }, + html([" ",a([href=URL,download=Filename],Fmt)]). +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/applications/transcription_ui.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,101 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University of London + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +:- module(transcription_ui, []). + +/** <module> Score related pages and hooks + + This module provides a web pages for displaying rendered scores and for + an audio player to play sonified scores. + It also module provides resource decorations and local view customisations + for Humdrum scores. +*/ + +:- use_module(library(http/html_write)). +:- use_module(library(http/html_head)). +:- use_module(library(http/http_dispatch)). +:- use_module(library(http/http_parameters)). +:- use_module(library(semweb/rdf_db)). +:- use_module(library(computations)). +:- use_module(library(csvutils)). +:- use_module(library(decoration)). +:- use_module(library(httpfiles)). +:- use_module(library(sandbox)). +:- use_module(library(real)). +:- use_module(api(transcription)). +:- use_module(components(audio), [audio_player//2]). +:- use_module(components(r_fig), [figure//4]). +:- use_module(applications(score_ui)). + +:- set_prolog_flag(double_quotes,string). + +:- http_handler(root(dml/transcription/audio), transcription_audio, []). + +decoration:resource_view(URI,_) --> + { once(rdf(Comp,dml:'comp/output',URI)), + rdf(Comp,dml:'comp/function',Transform), + rdf(Transform,vamp:plugin,vamp_plugins:'silvet#silvet') }, + html([ h2("Transcription sonification") + , \sonify_ui(URI,transcription_ui:transcription_audio) + , \figure(piano_roll(URI),20,8,[]) + ]). + +decoration:resource_view(URI,_) --> + { once(rdf(Comp,dml:'comp/output',URI)), + rdf(Comp,dml:'comp/function',Transform), + computations:transform(chord_notes,Transform) }, + html([ h2("Chord notes sonification") + , \sonify_ui(URI,transcription_ui:transcription_audio) + ]). + +transcription_audio(Request) :- + http_parameters(Request, + [ uri(URI, [optional(false), description("URI of transcription to sonify")]) + , autoplay(Auto, [boolean, default(false)]) + ], [form_data(Params)]), + maplist(transcription_audio_link(URI,Params),[ogg,mp3],Links), + reply_html_page(cliopatria(bare), [title("Audio element")], + \audio_player(Links,[autoplay(Auto)]), + [stable]). + +transcription_audio_link(URI,Params,Fmt,URL-just(Fmt)) :- + transcription_link(URI,a(Params)-Fmt,URL). + +freq_pitch_name_number(Freq,'',NN) :- !, freq_note_number(Freq,NN). +freq_pitch_name_number(_,Pitch,NN) :- remove_cents(Pitch,Pitch1), pitch_name_number(Pitch1,NN). + +piano_roll(URI) :- + uri_to_csv(URI,Rows), + maplist(computations:column(transcription),[time,dur,freq,vel,pitch],Cols), + rows_cols(Cols,Rows,[Time,Dur,Freq,Vel,Pitch]), + maplist(freq_pitch_name_number,Freq,Pitch,NoteNum), + aggregate_all(min(NN)-max(NN),member(NN,NoteNum),MinNN-MaxNN), + % using ggplot2? ... + % r( ggplot() + % +geom_rect('data.frame'([t=Time,d=Dur,v=Vel,nn=NoteNum]), + % mapping(xmin=t,xmax=t+d,ymin=nn-0.4,ymax=nn+0.4,alpha=0.25+v/256)) + % +theme_minimal()), + r(par(ps=10,mar=[2.1,2.2,0.1,0],yaxs="i",xaxs="i")), + r(plot(x='NULL',y='NULL',xlim=c(0,max(Time+Dur)),ylim=c(MinNN-0.5,MaxNN+0.5),type="n",xlab="time/s",ylab="notenum",tcl=0.2)), + r(rect(Time,NoteNum-0.4,Time+Dur,NoteNum+0.4,border='NA',col=rgb(0,0,0,64+Vel,maxColorValue=255))). + +remove_cents(P1,P2) :- sub_atom(P1,Bef,_,_,'-'), !, sub_atom(P1,0,Bef,_,P2). +remove_cents(P1,P2) :- sub_atom(P1,Bef,_,_,'+'), !, sub_atom(P1,0,Bef,_,P2). +remove_cents(P1,P1). + +sandbox:safe_primitive(transcription_ui:piano_roll(_)).
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/components/audio.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,143 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University of London + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +:- module(cp_audio, + [ audio_player//1 + , audio_player//2 + , audio_decoration//3 + , spectrogram//2 + , audio_link/3 + , audio_file/3 + , audio_playlist//2 + , finder_player/2 + , finder_player/3 + ]). + +:- use_module(library(http/http_dispatch)). +:- use_module(library(http/http_path)). +:- use_module(library(http/html_write)). +:- use_module(library(http/html_head)). +:- use_module(library(http/js_write)). +:- use_module(library(semweb/rdf_db)). +:- use_module(library(semweb/rdf_label),[rdf_label/2]). +:- use_module(library(dcg_core)). +:- use_module(library(httpfiles)). +:- use_module(library(optutils)). +:- use_module(components(icons)). + +:- multifile audio_link/3, audio_file/3. +:- rdf_meta audio_link(r,-,-). + +:- html_resource(js('add_dummy_iframe.js'), [requires(jquery)]). + + +%% audio_decoration(+Type:oneof([none,link,player]), +Links:list(pair(url,maybe(filetype))), +Content:phrase) is det. +% +% Emits the HTML content specified by Content, but optionally decorated with controls +% that allow any associated audio to be played. Links is a list of pairs of links to audio +% content with an optional filetype, where a filetype is a standard audiofile extension like +% mp3, ogg, wav etc. +audio_decoration(none,_,Link) --> phrase(Link). + +audio_decoration(link,[URL|_],Link) --> + html_requires(font_awesome), + html_requires(js('add_dummy_iframe.js')), + html(span( [ a([href(URL),target(dummy)],\icon(play)) + , &(nbsp), a([href('about:blank'),target(dummy)],\icon(stop)) + , &(ensp), \Link + ])). + +audio_decoration(player,URLS,Link) --> + html(span(style="display:inline-block;width=auto", + [ div(\audio_player(URLS)), div(\Link) ])). + +audio_player(Links) --> audio_player(Links,[]). +audio_player(Links,Attribs) --> + html(audio([ controls, preload=none | Attribs ], + [ \seqmap(audio_source,Links), + "Your browser does not support HTML5 audio." ])). + +audio_playlist(ID,Links) --> + % html_requires(js('playlist.js')), + {http_absolute_location(js('playlist.js'),PlaylistJS,[])}, + {Links=[item(Src1,_,_)|_]}, + html( div(class(playlist), + [ style([ 'div.playlist ul {list-style-type:none; margin:0px;padding:0px;height:10em;overflow:auto }' + , 'div.playlist li div {display:block}' + , 'div.playlist li div a {color:#ccc;text-decoration:none;overflow-x:hidden}' + , 'div.playlist li div a:hover {color:white}' + , 'div.playlist li.active {color:black;background-color:#eee}' + , 'div.playlist li.active div a {color:black}' + , 'div.playlist {padding:1ex;background-color:#222;width:400px;border-radius:1ex}' + ]) + , audio([ id('~w-audio'-[ID]), controls, preload=none ], + [ source([src=Src1],[]), "Your browser does not support HTML5 audio." ]) + , ul(id('~w-list'-[ID]), \alinks(1,Links)) + , \js_script({|javascript(PlaylistJS,ID)|| + $.getScript(PlaylistJS, function(x,y,z){init_playlist(ID)})|}) + % , script(type('text/javascript'),'init_playlist(~w)'-ID) + ])). + +alinks(NSelected,Links) --> alinks(NSelected,1,Links). +alinks(_,_,[]) --> !. +alinks(N,N,[Item|Links]) --> !, {succ(N,M)}, html(li(class(active),\alink(Item))), alinks(N,M,Links). +alinks(S,N,[Item|Links]) --> !, {succ(N,M)}, html(li(\alink(Item))), alinks(S,M,Links). +alink(item(URL,Label,Page)) --> + html(div([ a([href(Page),target('_blank')],\icon('external-link')),' ' + , a([class(audio),href(URL)],Label)])). + + +audio_source(URL-Fmt) --> + ( {Fmt=just(Type), mime_type(Type,MimeType)} + -> html(source([src=URL,type=MimeType],[])) + ; html(source([src=URL],[])) + ). + + +%% spectrogram(+URI, +Options) is det. +% +% Emits HTML for a spectrogram viewer for a given recording URI. The viewer +% includes controls for controlling the time window extracted from the full signal. +spectrogram(URI,Opts) --> + { seqmap( option_default_select, + [offset(Off), length(Len), width(W), height(H)], + [0, 60, 15, 7], + Opts,Opts1), + http_link_to_id(spectrogram_window, + [ uri(URI), offset(Off), length(Len), width(W), height(H) | Opts1 ], + SpectroURL ) + }, + html_requires(font_awesome), + html(iframe([ frameborder=0, seamless=seamless, src=SpectroURL, + scrolling=no, style="width:100%;height:~dcm"-[H] ],[])). + +:- meta_predicate finder_player(1,-). +%% finder_player(+Finder:pred(-uri), -Player:html_term) is det. +finder_player(Finder,html(\audio_playlist(ID,Items))) :- + gensym(pl,ID), + findall(item(H,L,P),( call(Finder,X), + http_link_to_id(list_resource,[r(X)],P), + audio_link(X,H,_), + rdf_label(X,L) + ), Items). + +%% finder_player(@URI:uri, +Finder:goal, -Player:html_term) is det. +:- meta_predicate finder_player(-,0,-). +finder_player(R,Goal,Player) :- finder_player(call1(R,Goal),Player). +call1(R,Goal,R) :- call(Goal). +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/components/icons.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,9 @@ +:- module( icons, [icon//1]). + +:- use_module(library(http/html_write)). +:- use_module(library(http/html_head)). + +icon(Name) --> + {string_concat("fa fa-",Name,Class)}, + html_requires(font_awesome), + html(i(class(Class),[])).
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/components/matlab.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,115 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University of London + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +:- module(cp_matlab, + [ figure//4 + , figure//3 + , term_rendering//3 + ]). + +:- meta_predicate figure(0,+,+,+,?,?). +:- meta_predicate figure(0,+,+,?,?). +:- meta_predicate figure(0,+,?,?). + +:- use_module(library(http/http_dispatch),[http_link_to_id/3]). +:- use_module(library(http/html_write)). +:- use_module(library(http/html_head)). +:- use_module(library(dcg_core)). +:- use_module(library(listutils)). +:- use_module(library(optutils)). +:- use_module(library(pengines_io)). +:- use_module(library(swish/render)). +:- use_module(library(mlserver)). +:- use_module(library(code_cache)). +:- use_module(library(insist)). +:- use_module(components(smartimg)). + +:- register_renderer(matlab,"Render Matlab figures"). + +:- html_resource(js('smartimg.js'), []). % no requirements + +%% term_rendering(FigSpec,Something,Opts)// is det. +% +% Matlab term rendering. +% Output from Matlab code is send to current_output of Matlab server thread (usually user_output). +% Options are: +% * timeout(T:float) +% * format(F:oneof([svg,png])) +% And any accepted by api_matlab:figure_render/1.r +term_rendering(fig(Code),_,Opts) --> + {rendering_options(T,Opts,Opts1)}, + figure(mlserver:ml_async(exec(Code),T), Opts1). +term_rendering(fig(Code,W,H),_,Opts) --> term_rendering(fig(Code),_,[width(W),height(H)|Opts]). +term_rendering(fig(Code,FOpts),_,Opts) --> + {merge_options(FOpts,Opts,Opts1)}, + term_rendering(fig(Code),_,Opts1). + +rendering_options(T) --> + seqmap(option_default_select,[module(_),numbervars(_),quoted(_)],_), + option_default_select(timeout(T),60). + +user:portray(ws(X)) :- ml_ws_name(X,Var,Eng), format('ws(|~w:~w|)',[Eng,Var]). +pengines_io:blob_rendering(ws,_Blob,_) --> + html(span(class='pl-blob','ws:_')). + +%% figure(+Code:callable, +Width:natural, +Height:natural, +Params:list)// is det. +%% figure(+Code:callable, +Width:natural, +Height:natural)// is det. +% +% Component to render a Matlab figure into a HTML code. Code must be a Prolog +% goal that renders the desired figure into Matlab's current figure. +% The default figure format (eg SVG or PNG) is taken from the default_figure_format +% setting. Options are +% * cache(boolean) +% If true (default: false), put the code in a cache and use its unique id to call +% it. Useful for code that is to long to encode in a URL. +% * downloadable(boolean) +% If true (default: false), add download links (for PDF and EPS formats) below the image. +% * smart(boolean) +% If true (default: false), then use Javascript image loading code instead of a standard HTML +% <IMG> tag. If the server returns an error HTML page, this is displayed +% instead of the image. +% See api_matlab:figure_render/1 for other valid options. +figure(Code,W,H) --> figure(Code,[width(W),height(H)]). +figure(Code,W,H,Params) --> figure(Code,[width(W),height(H)|Params]). +figure(Code,Params) --> + { debug(cp_matlab,"figure(~q,~q)",[Code,Params]), + process_options(Download,Smart,Code,Params,Params1), + insist(option(width(W),Params1), missing_parameter(width)), + insist(option(height(H),Params1), missing_parameter(height)), + http_link_to_id(figure_render, Params1,URL) + }, + ( {Download=true} + -> { option_default_select(format(_),_,Params1,Params2)}, + html(div([\image(Smart,URL,W,H),br([]), 'Download as:', \download(pdf,Params2), \download(eps,Params2)])) + ; image(Smart,URL,W,H) + ). + +download(F,Params) --> + {http_link_to_id(figure_render,[format(F)|Params],URL)}, + html([' ',a([href(URL),download],F)]). + +process_options(Download,Smart,Code) --> + {setting(matlab:default_figure_format,Fmt0)}, + seqmap(option_default_select, [format(Fmt), cache(Cache), downloadable(Download), smart(Smart)], + [Fmt0,false,false,false]), + (select_option(color_map(CM)) -> {term_to_atom(CM,CMA)}, cons(color_map(CMA)); []), + (select_option(size(W,H)) -> cons(width(W)), cons(height(H)); []), + {Cache=true -> cache_code(Download,Code,Code1); Code=Code1}, + {term_to_atom(Code1,CodeAtom)}, + cons(format(Fmt)), + cons(code(CodeAtom)).
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/components/r_fig.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,92 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University of London + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +:- module(cp_r_fig, + [ figure//4 + , figure//3 + , term_rendering//3 + ]). + +:- meta_predicate figure(0,+,+,+,?,?). +:- meta_predicate figure(0,+,+,?,?). + +:- use_module(library(http/http_dispatch),[http_link_to_id/3]). +:- use_module(library(http/html_write)). +:- use_module(library(http/html_head)). +:- use_module(library(dcg_core)). +:- use_module(library(listutils)). +:- use_module(library(optutils)). +:- use_module(library(pengines_io)). +:- use_module(library(swish/render)). +:- use_module(library(code_cache)). +:- use_module(library(insist)). +:- use_module(library(real)). +:- use_module(components(smartimg)). + +:- register_renderer(rfig,"Render R figures"). + +term_rendering(rfig(Code),_,Opts) --> + {rendering_options(Opts,Opts1)}, + figure(r(Code),Opts1). +term_rendering(rfig(Code,W,H),_,Opts) --> + term_rendering(rfig(Code),_,[width(W),height(H)|Opts]). +term_rendering(rfig(Code,FOpts),_,Opts) --> + {merge_options(FOpts,Opts,Opts1)}, + term_rendering(rfig(Code),_,Opts1). + +rendering_options --> + seqmap(option_default_select,[module(_),numbervars(_),quoted(_)],_). + + +%% figure(+Code:callable, +Width:natural, +Height:natural, +Params:list)// is det. +%% figure(+Code:callable, +Width:natural, +Height:natural)// is det. +% +% Component to render an R figure into a HTML code. Code must be a Prolog +% goal that renders the desired figure. +% The default figure format (eg SVG or PNG) is taken from the default_figure_format +% setting. See figure_render/1 for valid parameters. +figure(Code,W,H) --> figure(Code,[width(W),height(H)]). +figure(Code,W,H,Params) --> figure(Code,[width(W),height(H)|Params]). +figure(Code,Params) --> + { debug(r_fig,"figure(~q,~q)",[Code,Params]), + process_options(Download,Smart,Code,Params,Params1), + insist(option(width(W),Params1), missing_parameter(width)), + insist(option(height(H),Params1), missing_parameter(height)), + http_link_to_id(r_figure_render, Params1, URL) + }, + ( {Download=true} + -> { option_default_select(format(_),_,Params1,Params2)}, + html(div([\image(Smart,URL,W,H),br([]),'Download as:', \download(pdf,Params2), \download(eps,Params2)])) + ; image(Smart,URL,W,H) + ). + +download(F,Params) --> + {http_link_to_id(r_figure_render,[format(F)|Params],URL)}, + html([' ',a([href(URL),download],F)]). + + +process_options(Download,Smart,Code) --> + {setting(r_plot:default_figure_format,Fmt0)}, + seqmap(option_default_select, [format(Fmt), cache(Cache), downloadable(Download), smart(Smart)], + [Fmt0,false,false,false]), + (select_option(color_map(CM)) -> {term_to_atom(CM,CMA)}, cons(color_map(CMA)); []), + (select_option(size(W,H)) -> cons(width(W)), cons(height(H)); []), + {Cache=true -> cache_code(Download,Code,Code1); Code=Code1}, + {term_to_atom(Code1,CodeAtom)}, + cons(format(Fmt)), + cons(code(CodeAtom)).
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/components/score.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,132 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University of London + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +:- module(cp_score, + [ score//2, score//3 + , sonify_ui//2 + , score_audio_player//1 + , score_audio_player//3 + , pitch_class_histogram//1 + ]). + +:- use_module(library(http/html_write)). +:- use_module(library(http/http_dispatch)). +:- use_module(library(dcg_core)). +:- use_module(library(musiclab)). +:- use_module(library(humdrum_p2r)). +:- use_module(library(mlserver)). +:- use_module(library(real)). +:- use_module(library(sandbox)). +:- use_module(components(matlab),[]). +:- use_module(components(r_fig),[]). +:- use_module(components(audio),[audio_player//2]). +:- use_module(api(score)). + +:- set_prolog_flag(double_quotes,string). + +%% score(+R:uri,+Width:number)// is det. +% +% Generates an HTML DIV element containing a rendered score. URI is assumed +% to refer to a Humdrum file. Width is in mm and is passed to Lilypond as +% the desired staff width. +score(URI,Width) --> score(URI,Width,[]). +score(URI,Width,Opts) --> + {option(transpose(T),Opts,'P1')}, + {http_link_to_id(score_render,[uri(URI),width(Width),layout(snip),format(svg),transpose(T)],URL)}, + html(div([id=score,width='100%',height=auto],[img([src=URL],[])])). + + +%% sonify_ui(+R:uri,+ID:hander_id)// is det +% +% Generates an interface for setting parameters and sonifying a Humdrum score. +sonify_ui(URI,HandlerID) --> + { http_link_to_id(HandlerID,[],AudioPlayerURL), + setting_property(score:fluidsynth_rc,type(oneof(RCs))), + setting(score:fluidsynth_rc,RC0), + Intervals=['-P5','-d5','-P4','-M3','-m3','-M2','-m2','P1','m2','M2','m3','M3','P4','d5','P5'] + }, + html([ form([class=forms,target=player,method=get,action=AudioPlayerURL], + [ input([type=hidden,name=uri,value=URI]) + , input([type=hidden,name=autoplay,value=true]) + %, input([type=hidden,name=format,value=ogg]) + , table([class=form], + [ tr([ th(class=label,"Tempo scaling factor"), + td(input([type=number,min=0,max=4,step=0.1,name=tempo,value=1],[]))]) + % , tr([ th(class=label,"Transposition in semitones"), + % td(input([type=text,name=transpose,value='P1'],[]))]) + , tr([ th(class=label,"Transposition interval"), + td(\html_select(transpose,Intervals,'P1'))]) + , tr([ th(class=label,"Fluidsynth initialisation"), + td(\html_select(fluidrc,RCs,RC0))]) + ]) + , input([type=submit,class=btn,value="Sonify"],[]) + , iframe([name=player,seamless=seamless,style="display:inline-block;height:3.2em"],[]) + ]) + ]). + +html_select(Name,Values,Initial) --> + html(select([name=Name], \seqmap(html_option(Initial),Values))). + +html_option(X,X) --> !, html(option(selected=selected,X)). +html_option(_,X) --> html(option(X)). + + +%% score_audio_player(+R:uri,+As:list(html_attrib),+Ps:list(http_param))// is det. +%% score_audio_player(+R:uri)// is det. +% +% Generates an HTML 5 audio player to play a sonified score. Ps is a list +% of HTTP parameters to be passed ultimately to score_sonify/1. As is a list +% of HTML element attributes to be added to the HTML AUDIO element. +score_audio_player(URI) --> score_audio_player(URI,[],[]). +score_audio_player(URI,Attr,Params) --> + {maplist(score_audio_link(URI,Params),[ogg],Links)}, + audio_player(Links, Attr). + +score_audio_link(URI,Params,Fmt,URL-just(Fmt)) :- get_link(URI,a(Params)-Fmt,URL). + + +%% pitch_class_histogram(+Lang:oneof([ml,r]),+R:uri)// is det. +% +% Generates a graphical rendering of the pitch class histogram computed +% from the given URI, assumed to refer to a Humdrum file. Figure is +% generated using Matlab. +pitch_class_histogram(URI) --> + cp_r_fig:figure( cp_score:pitch_class_histogram(r,URI), 12, 6, []). + % cp_matlab:figure( cp_score:pitch_class_histogram(ml,URI), 12, 6, []). + +pitch_class_histogram(Lang,URI) :- + hum_uri_path(URI,Path), + kern_pc_hist(Path,Hist1), + findall(PCN-X, (member(PC-X,Hist1), pitch_class_number(PC,PCN)), Hist2), + numlist(0,11,PCNs), + maplist(pc_number_name,PCNs,PCNames), + maplist(pcn_count(Hist2),PCNs,Counts), + ( Lang=r + -> r(par(ps=10,mar=[2.1,2.2,1.1,0])), + r(barplot(Counts,'names.arg'=PCNames,main="Pitch class histogram")) + ; Lang=ml + -> ?? ( bar(PCNs,Counts); + xticks(PCNs,cell(PCNames)); + title("Pitch class histogram"); + caxis([0,3])) + ). + +pcn_count(Hist,PCN,Count) :- member(PCN-Count,Hist) -> true; Count=0. + + +sandbox:safe_primitive(cp_score:pitch_class_histogram(_,_)).
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/components/smartimg.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,31 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University of London + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ +:- module(smartimg, [image//4]). + +:- use_module(library(http/html_write)). +:- use_module(library(http/html_head)). +:- use_module(library(http/js_write)). + +image(false,URL,W,H) --> html(img([src=URL, class=matlabfig, style=("width:~dcm;height:~dcm"-[W,H])],[])). +image(true,URL,W,H) --> + html_requires(js('smartimg.js')), + {gensym(img,ID)}, + html(img([alt="loading image data", id=ID, class=matlabfig, + style=("width:~dcm;height:~dcm"-[W,H])],[])), + js_script({|javascript(ID,URL)||load_img2(ID,URL)|}). +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/components/table.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,45 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University of London + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +:- module(cp_table, + [ table_from_goal//2 + ]). + +:- meta_predicate table_from_goal(1,+,?,?). + +:- use_module(library(http/http_dispatch),[http_link_to_id/3]). +:- use_module(library(http/html_write)). +:- use_module(library(http/html_head)). +:- use_module(library(dcg_core)). + +table_from_goal(Goal,Opts) --> + {findall(Row,call(Goal,Row),Rows)}, + ( {option(headings(Heads),Opts)} + -> html(table([\table_heads(Heads), \seqmap(table_row,Rows)])) + ; html(table(\seqmap(table_row,Rows))) + ). + +table_heads(Row) --> + html(tr(\seqmap(table_head,Row))). +table_row(Row) --> + html(tr(\seqmap(table_cell,Row))). + +table_cell(Cell) --> html(td(Cell)). +table_head(Cell) --> html(th(Cell)). + +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/config-available/dml.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,192 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University of London + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +:- module(dml, + [ call_debugging/2 + , call_nodebug/1 + , view_computations/0 + , start_matlab/0 + , stop_matlab/0 + , start_r_server/0 + , update/1 ]). + +/** <module> DML main loader + */ + +:- set_prolog_flag(double_quotes, string). +:- debug_message_context(+time('%FT%T')). + +user:file_search_path(memo, cp_application(memo_db)). + +:- use_module(cp_application('config-enabled/dml_permission')). + +:- use_module(library(rcutils)). +:- use_module(library(http/http_dispatch)). +:- use_module(skin(minimal)). +:- use_module(library(dml_data)). +:- use_module(applications(callgraph_ui)). +:- use_module(applications(audio_ui)). +:- use_module(applications(score_ui)). +:- use_module(applications(csv_ui)). +:- use_module(applications(memo_ui)). +:- use_module(applications(transcription_ui)). +:- use_module(applications(dml_overview)). + +:- use_module(library(code_cache)). +:- use_module(library(dml_crawler)). +:- use_module(library(dml_spotify)). +:- use_module(library(dml_musicbrainz)). +:- use_module(library(dml_swish)). +:- use_module(library(dml_misc)). +:- use_module(library(musiclab)). +:- use_module(library(rdfutils)). +:- use_module(library(dlogic)). +:- use_module(library(dataset)). +:- use_module(library(mlserver), except([start_matlab/0,start_matlab/1])). +:- use_module(library(real)). +:- use_module(library(backend_json)). +:- use_module(library(dovamp)). +:- use_module(api(matlab)). +:- use_module(api(r_plot)). +:- use_module(api(archive)). +:- use_module(api(dmlvis)). +:- use_module(api(perspectives)). +:- use_module(api(transcription)). +:- use_module(components(audio)). +:- use_module(cliopatria(hooks)). + +cliopatria_openid:insecure_host('mirg.city.ac.uk'). + + +% Hooks for audio related services +cp_audio:audio_file(URI,File,Fmt) :- beets_p2r:audio_file(URI,File,Fmt). +cp_audio:audio_file(URI,File,Fmt) :- charm_p2r:audio_file(URI,File,Fmt). +cp_audio:audio_file(URI,File,Fmt) :- bl_p2r:audio_file(URI,File,Fmt). +cp_audio:audio_file(URI,File,Fmt) :- mazurka_p2r:audio_file(URI,File,Fmt). + +cp_audio:audio_link(URI,Link,just(mp3)) :- bl_p2r:audio_link(URI,Link). +cp_audio:audio_link(URI,URL,just(Fmt)) :- + bl_p2r:audio_file(URI,File,just(Fmt)), + file_permission(File,public), + http_link_to_id(audio_get,[uri(URI),format(Fmt)],URL). +cp_audio:audio_link(URI,Link,just(mp3)) :- charm_p2r:audio_link(mp3,URI,Link). +cp_audio:audio_link(URI,URL,just(Fmt)) :- + Formats=[ogg,mp3], % in order of preference + ( beets_p2r:audio_file(URI,File,just(Orig)) + ; mazurka_p2r:audio_file(URI,File,just(Orig)) + ), + file_permission(File,public), + (member(Orig,Formats) -> member(Fmt,Formats); member(Fmt,[Orig|Formats])), + http_link_to_id(audio_get,[uri(URI),format(Fmt)],URL). + +%:- rdf_set_cache_options([enabled(true),global_directory(cache)]). + +% ------------------ string portrayal ------------- +% user:portray(String) :- +% string(String), !, +% truncate(50,String,Short), +% writeq(Short). + +% truncate(Max,S,S) :- string_length(S,L), L<Max, !. +% truncate(Max,S1,S3) :- +% L is Max-3, +% sub_string(S1,0,L,_,S2), +% string_concat(S2,"...",S3). + +% Adjust menus +cliopatria:menu_item(900=query/isearch, 'Interactive faceted search'). +cliopatria:menu_item(900=places/http_skos_browser, 'SKOS Concept browser'). +cliopatria:menu_item(800=help/dml_overview, 'DML overview'). +cliopatria:menu_item(800=admin/job_view, 'Current jobs'). + +warm_indices :- + ignore(rdf(s, _, _)), + ignore(rdf(_, p, _)), + ignore(rdf(_, _, o)), + ignore(rdf(s, p, _)), + ignore(rdf(_, p, o)), + ignore(rdf(s, p, o)), + ignore(rdf(_, _, _, g)), + ignore(rdf(s, _, _, g)), + ignore(rdf(_, p, _, g)). + +% :- rdf_register_prefix(dmlcla,'http://dml.org/cla#'). +% :- initialization rdf_load(dml('cla/ontologies/dmlclaOntology.n3')). +:- initialization open_log, maplist(debug,[dmlvis(perspective),dmlvis(error),dmlvis(response)]). +:- initialization persistent_history('.dml.history',[interval(300)]), confirm_on_halt. +:- initialization p2r_import(memo_p2r). +:- initialization + ( current_periodical(_,clean_code_cache(_),Id) + -> remove_periodical(Id) + ; true + ), + periodically(3600,clean_code_cache(3600)). + +:- dynamic log_stream/1. +open_log :- + (log_stream(S) -> close(S), retractall(log_stream(_)); true), + expand_file_name('~/var/log/dml.log',[LogFile]), + open(LogFile,append,LogStream,[buffer(line)]), nl(LogStream), + assert(log_stream(LogStream)), + debug(log), debug(log,'Started logging.',[]). + + +:- meta_predicate call_debugging(?,0), call_nodebug(0). +call_debugging(Topic,Goal) :- setup_call_cleanup(debug(Topic), Goal, nodebug(Topic)). +call_nodebug(Goal) :- + setup_call_cleanup( (setof(T,debugging(T),Topics),maplist(nodebug,Topics)), Goal, maplist(debug,Topics)). + +view_computations :- + call_debugging(computations(item),termutils:with_status_line(get_single_char(_))). + +logging(dmlvis(method)). +logging(dmlvis(perspective)). +logging(log). + +prolog:debug_print_hook(computations(item),Fmt,Args) :- + termutils:status(Fmt,Args). + +prolog:debug_print_hook(Topic,Fmt,Args) :- + logging(Topic), log_stream(S), + get_time(T), + format(S,'~@ ~w | ~@\n',[format_time(current_output,'%FT%T',T), Topic, format(Fmt,Args)]), + fail. + +update(dml) :- + debug(log,'Updating dml-cliopatria repository.',[]), + shell('cd cpack/dml && hg pull && hg update'), + make. + +start_matlab :- start_matlab([]). +start_matlab(Opts) :- mlserver:start_matlab([path([dml(matlab)])|Opts]). +start_r_server :- real:r_start_server. + +:- multifile sandbox:safe_primitive/1. +:- multifile sandbox:safe_directive/1. +sandbox:safe_primitive(dml_permissions:file_permission(_,_)). +sandbox:safe_primitive(cp_audio:audio_link(_,_,_)). + +initiate_bl_scraping(Status) :- + format('% Initiating BL audio link scraping...\n',[]), + async:async_memo(vis_cla, bl_p2r:scrape_all([],_), Status, [recompute(failed),status_var(time-progress(summary))]). + +after_load :- + warm_indices, + initiate_bl_scraping(_), + start_r_server, + start_matlab.
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/config-available/dml_permission.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,41 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University of London + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +:- module(dml_permissions, [file_permission/2]). + +/** <module> control public access to DML resources + */ + +%% file_permission(+File,-Permission:oneof([public,user,private])) is det. +% This predicate is called to check whether or not the contents of a given +% file should be available. There are three levels of access: +% * public +% Accessible to everyone. +% * user +% Accessible to registered, logged in Cliopatria users. +% * private +% Accessible to no-one. +% The default level is private for all files. If you wish to make some files +% available, you must copy (not link) this file to the 'config-available' directory +% of your Cliopatria installation and edit the definition of file_permission/2 +% as you see fit. + +%file_permission(Path,public) :- atom_concat('/home/dml/lib/mazurka/',_,Path), !. +file_permission(_,public) :- user_db:logged_on(admin). +file_permission(_,private). +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/examples/c3examples.swinb Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,56 @@ +<div class="notebook"> + +<div class="nb-cell markdown"> +# C3 Rendering examples + +This is an example of how to use C3 graphics to illustrate the content in the DML collection. +</div> + +<div class="nb-cell program"> +:- use_rendering(c3). + +%% collection(-C:oneof([charm,bl]), -X:uri) is nondet. +collection(charm,X) :- rdf(X,charm:file_name,_). +collection(bl,X) :- rdf(X,rdf:type,mo:'Signal',bl_p2r). + +collection_property_value_count(Collection,Property,Value,Count) :- + aggregate(count, R^(collection(Collection,R), rdf_has(R,Property,Value)), Count). + +% Unfortunately rdf_meta is not legal in sandbox yet. +%:- rdf_meta collection_property_hist(+,r,+,-). +%% collection_property_hist(+C:atom, +P:uri, +Min:nonneg, -Chart:dict) is det. +collection_property_hist(Coll,P,Min,c3{data:_{columns:Pairs, type:pie}}) :- + rdf_global_id(P,Prop), % expand Namespace:Local resource representation + setof( [C,N], (collection_property_value_count(Coll,Prop,literal(C),N),N>Min), Pairs). +</div> + +<div class="nb-cell markdown"> +Next a little test that we can use this to get pairs of composer and count. +</div> + +<div class="nb-cell query" data-tabled="true"> +aggregate(count, X^(collection(charm,X), rdf_has(X,dml:composer,C)), N). +</div> + +<div class="nb-cell markdown"> +Next a pie chart showing the proportions of different composers in the CHARM collection. (This query should run automatically when this notebook loads). If you click on the labels in the legend, that segment is removed and the pie redrawn. +</div> + +<div class="nb-cell query" data-run="onload"> +collection_property_hist(charm,dml:composer,25,Pairs). +</div> + +<div class="nb-cell markdown"> +Finally, a couple more distributions over language and composer in the BL collection. Press the white-on-green arrow to run the query. +</div> + +<div class="nb-cell query"> +collection_property_hist(bl,dc:language,150,Pairs). +</div> + +<div class="nb-cell query"> +% top 20 composers +collection_property_hist(bl,dml:composer,20,Pairs). +</div> + +</div>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/examples/csv_op_viewer.swinb Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,65 @@ +<div class="notebook"> + +<div class="nb-cell program"> +:- use_module(library(computations)). +:- use_module(library(mlserver)). +:- use_module(library(real)). +:- use_module(library(dml_c3)). +:- include(search). +:- use_rendering(rdf,[resource_format(nslabel)]). +:- use_rendering(c3). + +transform_memo(Class,Transform,In,Out) :- + transform(Class,Transform), + computation_memo(Transform,In,Out). + +op_chart(Op,CSV,Chart) :- + csv_op(Op,CSV,Result), + csv_op_chart(Op,Result,Chart). +</div> + +<div class="nb-cell markdown"> +Histogram of durations of computations on CSV files. +</div> + +<div class="nb-cell query"> +findall(Dur,browse(computations:csv_op_memo(A,B,_C),comp(_,_,Dur)-ok),_Durs), +[Counts,Map] === hist1d(transpose(_Durs),edgemap(0:0.01:2)), +array_list(Counts,_LC), +c3_hist(steps,dur,Map,_LC,Chart). +</div> + +<div class="nb-cell markdown"> +Recording level analyses... +</div> + +<div class="nb-cell query"> +distinct(A,browse(computations:csv_op_memo(A,B,_C),comp(_,_,Dur)-ok)), +computation(_,Rec,B), +writeln(doing(A,B)), +csv_op_chart(A,_C,D). +</div> + +<div class="nb-cell markdown"> +Collection level analyses... +</div> + +<div class="nb-cell query"> +distinct(Name/Arity, + ( browse(perspectives:cla_memo(A,B,_C),comp(_,_,Dur)-ok), + functor(A,Name,Arity))), +cla_op_chart(A,_C,Chart), +dataset_size(B,Size). +</div> + +<div class="nb-cell markdown"> +This example shows how VAMP computations can be triggered on demand. +</div> + +<div class="nb-cell query"> +X :: title(piano) /\ title(sonata), +transform_memo(tempo,_,X,Y), +op_chart(uniform_tempo_r(linear,2),Y,Chart). +</div> + +</div>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/examples/index.json Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,9 @@ +// list of examples, represented as a JSON list +[ +"--", +{ "file":"c3examples.swinb", "title":"Using C3 graphics to visualise collection statistics" }, +{ "file":"csv_op_viewer.swinb", "title":"Graphical viewers for recording level analyses" }, +{ "file":"system_metrics.swinb","title":"Analytics on collection level performance" }, +"--", +{ "file":"visuals.pl", "title":"Plots and term renderings" } +]
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/examples/system_metrics.swinb Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,217 @@ +<div class="notebook"> + +<div class="nb-cell markdown"> +## Analysis of collection level computation performance + +This following block of code defines some predicates for browsing the database of collection level computations and tagging them by what kind of computation it was, what the implementation language was, the date and time of the computation, the size of the collection and the duration of the computation. + +Scroll down the query boxes below and press the green arrow to run each query. +</div> + +<div class="nb-cell program"> +:- use_module(library(computations)). +:- use_module(library(mlserver)). +:- use_module(library(real)). +:- use_module(library(dml_c3)). + +:- use_rendering(rdf,[resource_format(nslabel)]). +:- use_rendering(matlab,[format(svg),size(15,10)]). +:- use_rendering(c3). + +% Enumerates collection level analysis events, providing +% Func=Label/Lang, collection size, and computation duration. +cla_op(Lab,Size,Dur) :- cla_op(label>>relabel-size-dur,Lab-Size-Dur). + +% main CLA browser predicate. Uses Filter to determine which computations +% are returned and what information is provided. +cla_op(Filter,Out) :- + browse(perspectives:cla_memo(Op,CID,_),comp(_,Time,Dur)-ok), + dataset_size(CID,Size), + x(Filter,op(Op,Time,Size,Dur),Out). + +% field extractor predicate (a v. small arrow interpreter!) +x(id,X,X). +x(F>>G,X,Y) :- x(F,X,Z), x(G,Z,Y). +x(fst(F),X1-Y,X2-Y) :- x(F,X1,X2). +x(snd(F),X-Y1,X-Y2) :- x(F,Y1,Y2). +x(F1-F2,X,Y1-Y2) :- x(F1,X,Y1), x(F2,X,Y2). +x(H,X,Y) :- defx(H,F), x(F,X,Y). +x(add(N),X,Y) :- Y is X+N. +x(arg(N),X,Y) :- arg(N,X,Y). +x(log,X,Y) :- Y is log10(X). +x(jitter(L,U),X,Y) :- random(D), Y is L+(U-L)*D+X. +x(divide,X-Y,Z) :- Z is X/Y. +x(diff,X-Y,Z) :- Z is Y-X. +x(quant(Q),X,Y) :- Y is Q*floor(X/Q). +x(event,T1-_,T1-start). +x(event,T1-DT,T2-stop) :- T2 is T1+DT. + +% gets month number and name from timestamp +x(month_num_name,Time,Num-Name) :- + format_time(atom(Name),'%B',Time), + stamp_date_time(Time,Date,local), + date_time_value(month,Date,Num). + +% Transforms collection level operation spec to Label/Lang, +% where Lang is in { ml, pl, r, py }. +x(relabel,Op,Label/Lang) :- cla_label_lang(Op,Label,Lang). +x(lang,_/Lang,Lang). + +defx(op, arg(1)). +defx(time, arg(2)). +defx(size, arg(3)). +defx(dur, arg(4)). +defx(month, time>>month_num_name). + +normalise_hist(Name-Pairs,Name-Pairs2) :- + unzip(Pairs,Vals,Counts), + stoch(Counts,Probs), + unzip(Pairs2,Vals,Probs). + +stoch(Xs,Ys) :- sumlist(Xs,Total), maplist(divby(Total),Xs,Ys). +divby(Z,X,Y) :- Y is X/Z. + +concurrency([T0-start|StartStopEvents],ConcurrencyEvents) :- + foldl(conc,StartStopEvents,ConcurrencyEvents,T0-1,_). + +conc(T2-Event,(T1-T2)-N1,T1-N1,T2-N2) :- + ( Event=start -> succ(N1,N2) + ; Event=stop -> succ(N2,N1) + ). + +% ------- tools for building C3 charts ----------- + +%% add_points(+Data:pair(term,list(pair(number,number))))// is det. +% Adds a set of points to a scatter plot +add_points(Name-Pairs) --> + {unzip(Pairs,Xs,Ys)}, + add_points(Name,Xs,Ys). + +%% add_points(+Name:term,+X:list(number),+Y:list(number),+C1:c3,-C2:c3) is det. +% adds a named set of points to a C3 scatter plot. +add_points(Name1,Xs,Ys,Ch1,Ch2) :- + term_to_atom(Name1,Name), + atom_concat(Name,'_x',NameX), + Ch2=Ch1.put(data/columns,[[NameX|Xs],[Name|Ys]|Ch1.data.columns]) + .put(data/xs/Name,NameX). +</div> + +<div class="nb-cell markdown"> +This query shows the relationship between collection size and computation time for all collection level analyses, grouped by month of computation. Note that the axis scales +are _logarithmic_. +</div> + +<div class="nb-cell query"> +setof(Size-Dur, + cla_op(month-size>>log>>jitter(0,0.05)-dur>>log,(_-M)-Size-Dur), + _Points), +call_dcg(( c3:scat('log size','log dur'), + add_points(all-_Points), + c3:legend(false), + c3:zoom(true) + ), + c3{},Ch0). +</div> + +<div class="nb-cell markdown"> +Histogram of logarithm of computation time per item, quantised to 0.1 bins (a ratio of about 1.26). +</div> + +<div class="nb-cell query"> +Q=0.1, % size of quantisation bin (in log domain) +histof(T, cla_op((dur-size)>>divide>>log>>quant(Q),T), _Hist), +call_dcg(( c3:bar('log dur','count'), + add_points(all-_Hist), + c3:put(bar/width/ratio,Q) + ), c3{},Chart). +</div> + +<div class="nb-cell markdown"> +Histogram of logarithm of computation time per item, quantised to bins of width 0.25, grouped computation label and language. +</div> + +<div class="nb-cell query"> +findall(L-Hist, + histof(T, + cla_op(op>>relabel-(dur-size)>>divide>>log>>quant(0.25),L-T), + Hist), + _Hists), +maplist(normalise_hist,_Hists,_Dists), +call_dcg(( c3:bar('log dur','count'), + foldl(add_points,_Dists), + c3:put(bar/width/ratio,0.5) + ), c3{}, Ch0). +</div> + +<div class="nb-cell markdown"> +Histogram of logarithm of computation time per item, quantised to bins of width 0.25, grouped language. +</div> + +<div class="nb-cell query"> +findall(L-Hist, + histof(T, + cla_op(op>>relabel>>lang - (dur-size)>>divide>>log>>quant(0.25),L-T), + Hist), + Hists), +maplist(normalise_hist,Hists,_Dists), +call_dcg(( c3:bar('log dur','fraction'), + foldl(add_points,_Dists), + c3:put(bar/width/ratio,0.45) + ), c3{}, Ch0). +</div> + +<div class="nb-cell markdown"> +This next query shows how collection size vs computation duration varies with the kind of analysis being done and the implementation language. Note that computations in Prolog have the lowest overheads, and that computations in Matlab seem to have the most variable range of durations for a given collection size. +</div> + +<div class="nb-cell query"> +findall(Op-_Ps, + setof(Size-Dur, + cla_op(op>>relabel-(size>>log)-dur>>log,Op-Size-Dur), + _Ps), + _Rs), +foldl(add_points,_Rs,c3{}.scat('log size','log dur'),Ch1). +</div> + +<div class="nb-cell markdown"> +This query is like the previous one, but grouped by language only. +</div> + +<div class="nb-cell query"> +findall(Op-_Ps, + setof(Size-Dur, + cla_op(op>>relabel>>lang-(size>>log)-dur>>log,Op-Size-Dur), + _Ps), + _Rs), +foldl(add_points,_Rs,c3{}.scat('log size','log dur'),Ch1). +</div> + +<div class="nb-cell markdown"> +This query breaks down the performance of analysis method by month. There does not seem to be any significant pattern in this other than the overall volume of computation done in each month. +</div> + +<div class="nb-cell query"> +setof(Month-_Ps, + setof(Size-Dur, + cla_op( month - op>>relabel - size>>log - dur>>log, + Month - Label - Size - Dur), + _Ps), + _Rs), +call(foldl(add_points,_Rs), c3{}.scat(log_size,log_dur), Ch). +</div> + +<div class="nb-cell markdown"> +This query analyses the degree of concurrency of collection level computations. It works by getting a complete set of point events describing the beginning and ending times of computations. Then the predicate concurrency/2 (defined in the initial code block) folds over these events and produces a list of time interval events of the form (StartTime-EndTime)-Concurrency, where Concurrency is the number of concurrent computations occuring over that interval. Then, the time intervals are mapped to durations and a histogram of concurrency weighted by duration is produced. +</div> + +<div class="nb-cell query"> +setof(Ev,cla_op((time-dur)>>event,Ev),_Evs), +concurrency(_Evs,_CEvs), +maplist(x(fst(diff)),_CEvs,_CEvs2), +weighted_histof(Dur,Conc,member(Dur-Conc,_CEvs2),Hist), +select(0-_,Hist,_Hist1), +unzip(_Hist1,_Values,_Durs), +c3_bar(concurrency-_Values,duration-_Durs,Chart). +</div> + +</div>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/examples/visuals.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,62 @@ +:- use_module(library(mlserver)). +:- use_module(library(semweb/rdf_label)). +:- use_module(components(matlab)). +:- use_module(components(audio)). +:- use_module(components(score)). +:- use_rendering(matlab,[size(12,8),cache(true)]). +:- use_rendering(html). + +%:- include(search). + +/** <examples> + ?- test_plot(X). + ?- test_html(X). + ?- X=html(\figure(??bar(rand(10,1)),5,3)), Y=fig(plot(1:10),5,3), hold. + ?- ml_fig(??bar(1:10),5,3), ml_fig(??plot(sin(0:0.05:12)),5,3). + ?- finder_player(title(brandenburg),Player). + ?- finder_player(title('prelude and fugue')/\composer(bach),Player). + ?- R::title(prelude)/\title(cello)/\humdrum, + X=html(\score(R,150)), + Y=html(\score_audio_player(R)). + +*/ + +bar(Opts,X-Y,Fig) :- decorate(fig(bar(X,Y),15,5),Opts,Fig). +plot(Opts,X-Y,Fig) :- decorate(fig(plot(X,Y),15,5),Opts,Fig). + +ml_fig(Cmd,W,H) :- write_html(\figure(Cmd,W,H)). + +decorate(fig(Cmd,W,H),Opts,fig(Cmd2,W,H)) :- + ( option(labels(XL,YL),Opts) + -> Cmd1 = (Cmd;xlabel(q(XL));ylabel(q(YL))) + ; Cmd1 = Cmd + ), + ( option(title(T),Opts) + -> Cmd2 = (Cmd1;title(q(T))) + ; Cmd2 = Cmd1 + ). + + +/* Note that there is a subtle problem which affects + * the use of the figure//3 HTML component: the first argument + * is a module-qualified goal, and gets tagged with the name + * of the module created to run the current pengine query. + * The component results in an HTML IMAGE element whos + * URL encodes the goal and its module. If the pengine query + * has terminated by the time the image URL is dereferenced, + * the call fails. Thus, to make this work with write_html/1 + * you need either a delay (eg sleep(3)) after the call, to allow + * the image to render before the query terminates, or you need + * to introduce some nondeterminism so that the query remains + * active. To make it work with html term rendering, only the + * non-determinism method will work. To do this, you can add the + * following hold as a final goal - it succeeds but leaves a choice point. + */ +hold :- true; fail. + +test_plot(fig(plot(X,X.^2))) :- X= -1:0.01:1. + +test_html(html(span([b(hello),' ',i(world)]))). +test_html(html(\figure(??imagesc(magic(5)),3,3))). +test_html(_) :- fail. +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/fluid/bassoon Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,5 @@ +load SFDIR/bassoon.sf2 1 0 +set synth.gain 1 +set synth.chorus.active no +chorus off +select 9 1 0 0
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/fluid/cello Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,5 @@ +load SFDIR/cello_solo.sf2 1 0 +set synth.gain 1 +set synth.chorus.active no +chorus off +select 9 1 0 0
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/fluid/fluid_gm Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,5 @@ +load SFDIR/FluidR3_GM.sf2 1 0 +set synth.gain 1 +set synth.chorus.active no +chorus off +select 9 1 0 0
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/fluid/fluid_gs Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,5 @@ +load SFDIR/FluidR3_GS.sf2 1 0 +set synth.gain 1 +set synth.chorus.active no +chorus off +select 9 1 0 0
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/fluid/genuser_fs Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,5 @@ +load SFDIR/GeneralUser-FluidSynth.sf2 1 0 +set synth.gain 1 +set synth.chorus.active no +chorus off +select 9 1 0 0
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/fluid/genuser_ms Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,5 @@ +load SFDIR/GeneralUser-MuseScore.sf2 1 0 +set synth.gain 1 +set synth.chorus.active no +chorus off +select 9 1 0 0
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/fluid/organ Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,5 @@ +load SFDIR/organ.sf2 1 0 +set synth.gain 1 +set synth.chorus.active no +chorus off +select 9 1 0 0
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/fluid/piano Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,5 @@ +load SFDIR/piano.sf2 1 0 +set synth.gain 1 +set synth.chorus.active no +chorus off +select 9 1 0 0
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/fluid/rhodes Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,5 @@ +load SFDIR/rhodes.sf2 1 0 +set synth.gain 0.8 +set synth.chorus.active no +chorus off +select 9 1 0 0
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/fluid/violin Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,13 @@ +load SFDIR/stavi_violin.sf2 1 0 +set synth.gain 1 +set synth.chorus.active no +chorus off +select 9 1 0 0 +select 0 1 0 3 +select 1 1 0 3 +select 2 1 0 3 +select 3 1 0 3 +select 4 1 0 3 +select 5 1 0 3 +select 6 1 0 3 +select 7 1 0 3
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/fluid/yamaha_dx7 Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,5 @@ +load SFDIR/Piano_Yamaha_DX7.sf2 1 0 +set synth.gain 1 +set synth.chorus.active no +chorus off +select 9 1 0 0
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/lib/async.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,469 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University of London + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +:- module(async, + [ async_memo/4 + , async_current_job/5 + , async_thread_progress/4 + , async_get_progress_callback/1 + , async_set_progress_callback/1 + , async_unset_progress_callback/0 + , async_cancel/3 + , async_cancel/2 + , with_progress_stack/1 + , with_cont/4 + , simple_task/2 + , stepwise_task/4 + , updatable_status_task/3 + , map_with_progress/3 + , map_fold_with_progress/5 + , with_global/3 + , with_new_ref/3 + ]). + +/** <module> Asynchronous memoised computations with progress and partial results + + This module provides services for managing memoised computations in a thread pool + with the ability to check on the progress of running jobs and receive partial + results if they are available. Completed computations are memoised using + library(memo). + + ---++ Job control + The first half of the module is concerned with managing memoised computations. + Computations are requested using async_memo/4. If the result is already available in + the memoised database, the result is returned. If the computation is already running, + status information about the job is returned. Otherwise, a new job is started. Status + information is returned as the type =|async_status(A)|=. + == + async_status(A) ---> done(metadata) + ; initiated(job_id,natural) + ; waiting(natural) + ; running(job_id,A)) + ; recompute(job_id,natural,metadata). + + job_id == atom. + == + The type =|metadata|= is defined in library(memo). + + + ---++ Helper meta-predicates + The second half of the module provides a collection of predicates for computations + to use to handle requests for progress information, in the form of a stack of tasks. + It recognises the following levels of progress information: + == + summary :: progress_level(list(any)). + partial_result :: progress_level(any). + == +*/ +:- meta_predicate + async_set_progress_callback(2) + , async_memo(+,0,-,+) + , with_global(+,+,0) + , with_new_ref(-,+,0) + , with_progress_stack(0) + , with_progress_handler(2,0) + , with_cont(+,1,2,-) + , simple_task(+,0) + , stepwise_task(+,+,-,0) + % , stepwise_partial_task(+,+,-,-,0) + % , fold_with_progress(3,+,+,-) + , map_with_progress(2,+,-) + , map_fold_with_progress(2,3,+,+,-). + +:- use_module(library(thread_pool)). +:- use_module(library(insist)). +:- use_module(library(memo)). +:- use_module(library(dcg_core),[seqmap/4]). + +%% async_memo(+P:thread_pool, +G:memo_goal, -S:async_status(_), Opts:options) is det. +% +% Start running a goal asynchronously in a thread pool if it is not +% already running. +% In order for the goal to provide progress information, it must use nb_setval/2 +% to set the global variable =|progress|=. +% +% Options: +% * status_var(Var:status_var(A)) +% If computation is already running, information of type =|A|= +% associated with job is returned in Stats. Default is =|progress(summary)|=. +% * recompute(R:oneof([none,failed,test(Pred)])) +% If =|none|=, then a previously failed computation is not retried, and the +% status =|done(Comp-Result)|= is returned, where Comp includes +% the computation time and host and Result is =|fail|= or =|ex(Exception)|=. +% If =|failed|=, unsuccessful computations are retried and the status +% =|recomputing(ID,Pos,Meta)|= is returned, where =|ID|= is the ID of the +% new job, =|Pos|= its initial position in the queue, and =|Meta=Comp-Result|= +% the status of the previous computation. +% If =|test(Pred)|=, then the computation is retried if =|call(Pred,Meta)|= +% succeeds, where Meta is the memoisied computation metadata and the variables +% in Goal will be unified with their values resulting from that computation. +% The status returned is =|initiated(ID,Pos)|=. Pred must include its module +% specifier as a I am too lazy to worry about meta-predicate options right now. +% * globals(list(pair(atom,any))) +% Set global variables to given values in new thread. +% +% The value of the =|status_var(_)|= option determines the information returned +% if the status of the computation is =|running(ID,StatusVals)|=. +% == +% progress(progress_level(A)) :: status_var(A). +% stats(list(stats_key)) :: status_var(list(stats_vals)). +% time :: status_var(pair(time,float)). % start and elapsed times +% status_var(A)-status_var(B) :: status_var(pair(A,B)). +% +% time==float. % as returned by get_time/1. +% == +% The type =|stats_key|= denotes any atom accepted by thread_statistics/3, and +% =|stats_vals|= the type of values returned. + +async_memo(_,Goal,done(Meta),Opts) :- + option(recompute(none),Opts,none), + browse(Goal,Meta), !. + +async_memo(Pool,Goal,Status,Opts) :- + with_mutex(async,unsafe_async_memo(Pool,Goal,Status,Opts)). + +unsafe_async_memo(Pool,Goal,Status,Opts) :- + option(globals(Globals),Opts,[]), + ( browse(Goal,Meta) + -> option(recompute(Recompute),Opts,none), + ( recompute(Recompute,Meta) + -> clear_all(Goal,Meta), + spawn(Pool,Goal,Globals,ID,Waiting), + Status=recomputing(ID,Waiting,Meta) + ; Status=done(Meta) + ) + ; % !!! it's possible that another thread might be computing + % this goal and complete at this point. If this happens, + % that job will not be detected and a new a job will be started + % here. If that happens, the newly created job will find the result + % and complete quickly. + ( async_current_job(Pool,Goal,ID,T0,S) + -> option(progress_levels(Levels),Opts,[summary]), + % !!! it's possible that the job will complete here + % and so the progress request will create an error + goal_status(ID,T0,Levels,S,Status) + ; spawn(Pool,Goal,Globals,ID,Waiting), + Status=spawned(ID,Waiting) + ) + ). + +recompute(failed,_-fail). +recompute(failed,_-ex(_)). +recompute(test(P),M) :- call(P,M). + +goal_status(ID, TSubmit, _, waiting(Pos), waiting(ID,TSubmit,Pos)). +goal_status(ID, _, Levels, running(Thread,TStart), running(ID,TStart,Thread,Progress)) :- + catch( ( async_thread_progress(Thread,Levels,T,Vals), Progress=just(T-Vals)), Ex, + ( print_message(warning,error_getting_job_progress(Thread,Ex)), Progress=nothing)). + +spawn(Pool,Goal,Globals,ID,Waiting) :- + uuid(ID), + (thread_pool_property(Pool,backlog(Waiting)) -> true; Waiting=0), + get_time(Time), + setup_call_catcher_cleanup( + recordz(Pool,job(ID,Time,Goal),Ref), + thread_create_in_pool(Pool,spawnee(ID,Goal,Globals),_, + [ detached(true), at_exit(erase(Ref))]), + exception(_), + erase(Ref)). + +spawnee(ID,Goal,Globals) :- + setup_call_cleanup( + with_mutex(async, + ( recorded(ID,async:cancelled,Ref) + -> debug(async,'Cancelled before starting: ~q',[Goal]), + erase(Ref), fail + ; pairs_keys_values(Globals,GNames,GVals), + maplist(nb_setval,GNames,GVals), + get_time(T0), + thread_self(Thread), + recordz(ID,running(Thread,T0),Ref) + )), + ( freeze(Res,check_result(Res)), % prevent memoisation if abort(_) is caught + debug(async,"Running asyc goal ~q",[Goal]), + memo(Goal,_-Res)), + erase(Ref)). + +check_result(Ex) :- + ( Ex=ex(abort(Reason)) + -> debug(async,'Computation aborted (~w)',[Reason]), + throw(abort(Reason)) + ; true + ). + +%% async_current_job(+Pool:thread_pool, -Goal:callable, -ID:job_id, -T:time, -S:job_status) is nondet. +% Retrieves information about current pending jobs. A job is pending if it is running +% or waiting to run in the specified thread pool. T is the time the job was submitted. +% Job status is: +% == +% job_status ---> waiting(natural) % queued at given postion +% ; running(thread_id,time). % with start time +% == +async_current_job(Pool,Goal,ID,Time,Status) :- + recorded(Pool,job(ID,Time,Goal)), % this finds ALL jobs + ( recorded(ID,running(Thread,StartTime)) + -> Status=running(Thread,StartTime) + ; thread_pool_property(Pool,waiting(Waiting)), + nth1(Pos,Waiting,create(Pool,async:spawnee(ID,_,_),_,_,_)) + -> Status=waiting(Pos) + ; print_message(warning, async_job_status_indeterminate(Pool,ID,Goal)), + Status=indeterminate % could be finished, or transferring from waiting to running + ). + + +%% async_thread_progress(+Thread:thread_id,+Levels:list(progress_level), -T:time, -Vals:list) is det. +% Called in main thread to get information about job running in thread Thread. +% Will throw an exception if: +% - the thread has terminated +% - the thread does not respond with progress info in less than 3 seconds +% - the thread does not have a progress handler call back registered +% - the progress handler fails on any of the progress levels requested. +async_thread_progress(Thread,Levels,Time,Vals) :- + thread_self(Me), + gensym(prog,RID), % progress request ID + flush_all_messages(Me,progress(_,_,_,_)), + thread_signal(Thread,report_progress(RID,Levels,Me)), + ( thread_get_message(Me,progress(RID,Time,Vals,St),[timeout(3)]) -> true + ; throw(get_thread_progress_timeout(Thread,Levels)) + ), + debug(async,'Got progress ~w from thread ~w: ~w',[Levels,Thread,Vals]), + memo:reflect(St). + +flush_all_messages(Queue,Pattern) :- + repeat, \+thread_get_message(Queue,Pattern,[timeout(0)]), !. + +%% report_progress(+RID:atomic, +Var:status_var(A), +Thread:thread_id) is det. +% Called from job thread in response to a signal, to send progress information to thread Thread. +report_progress(RID,Levels,Thread) :- + get_time(Time), + memo:reify(async:my_progress(Levels,Vals),St), !, + debug(async,'reporting progress(~w): ~q',[Levels,Vals]), + thread_send_message(Thread,progress(RID,Time,Vals,St)). + +my_progress(Levels,Vals) :- nb_getval(async_progress,G), insist(maplist(G,Levels,Vals)). + + +%% async_cancel(+Pool:thread_pool, +ID:job_id, +Ex:term) is det. +%% async_cancel(+Pool:thread_pool, +ID:job_id) is det. +% Cancel job with given ID, if it is currently pending. If it is running, the +% exception term Ex is thrown (=|abort(cancel)|= in async_cancel/2). +% If not, the recorded database is used to mark the job for immediate failure +% as soon as it is started. +async_cancel(Pool,ID) :- async_cancel(Pool,ID,abort(cancel)). +async_cancel(Pool,ID,Ex) :- + debug(async,'Cancelling ~w:~w with ~w',[Pool,ID,Ex]), + with_mutex(async, (async_current_job(Pool,_,ID,_,S) -> cancel(ID,S,Ex); true)). + +cancel(ID,waiting(_),_) :- recordz(ID,async:cancelled). +cancel(_, running(Thread,_),Ex) :- + catch( thread_signal(Thread,throw(Ex)), E, + print_message(warning,error_signalling_job_thread(Thread,E))). +cancel(ID,indeterminate,_) :- print_message(warning,indeterminate_job_state_on_cancel(ID)). + +%% async_set_progress_callback(+P:pred(+Level:any,-Info:any)) is det. +% Sets the progress handler for the current thread. +async_set_progress_callback(Pred) :- nb_setval(async_progress,Pred). + +%% async_get_progress_callback(-P:pred(+Level:any,-Info:any)) is semidet. +% Gets the progress handler for the current thread, if one has been set. +async_get_progress_callback(Pred) :- nb_current(async_progress,Pred). + +%% async_unset_progress_callback is det. +% Unsets the progress handler for the current thread. Subsequent calls to +% async_get_progress_callback/1 will fail. +async_unset_progress_callback :- nb_delete(async_progress). + +% ----------------------------------------------------------------------- + + +%% with_progress_stack(+Goal:callable) is nondet. +% +% Runs Goal with the current thread's progress handler (which must be initially +% unset) set to an empty task stack. Tasks (goals which run in cooperation with a +% a progress handler) can be pushed on to the task stack using with_progress_handler/2. +% Fails if progress callback has already been set to something else. +% +% The progress handler recognises progress level terms: +% * summary :: progress_level(list(any)) +% Yields a list of progress terms, one for each entry in the task stack. +% * partial_result :: progress_level(any) +% Yields partial results of the computation if they are available. +with_progress_stack(Goal) :- + async_get_progress_callback(CB), !, + CB=async:get_stack_progress, + call(Goal). +with_progress_stack(Goal) :- + with_global(async_progress_stack, nil, + setup_call_cleanup( + async_set_progress_callback(get_stack_progress), Goal, + async_unset_progress_callback)). + +%% get_stack_progress(+Level:progress_level(A),-Info:A) is semidet. +% Gets the request level of progress information from the currently installed +% progress stack. +get_stack_progress(summary,P) :- + nb_getval(async_progress_stack,H), + call(H,progress(summary),P). + +get_stack_progress(partial_result,R) :- + nb_getval(async_progress_stack,H), + call(H,partial_result,R). + + +%% with_progress_handler(+H:progress_handler, +Goal:callable) is nondet. +% Pushes the progress handler H to the top of the task stack associated with +% the current thread and calls Goal. The handler is removed on exit. +with_progress_handler(H,Goal) :- + nb_getval(async_progress_stack,H0), call(H0,push(H),H1), + setup_call_cleanup( nb_setval(async_progress_stack,H1), Goal, + nb_setval(async_progress_stack,H0)). + +nil(progress(_),[]). +nil(push(H),chain(H,nil)). +nil(partial_result,nothing). +nil(partial_result(Cont),R) :- call(Cont,nothing,R). + +chain(Head,Tail1,push(H),chain(Head,Tail2)) :- call(Tail1,push(H),Tail2). +chain(Head,Tail,progress(L),[PH|PT]) :- + call(Head,progress(L),PH), + call(Tail,progress(L),PT). +chain(Head,Tail,partial_result,MR) :- + call(Tail,partial_result,R1), + (call(Head,partial_result(R1),R) -> MR=just(R); MR=nothing). + + +%% simple_task(+Desc,+Goal:callable) is det. +% +% Calls goal with a progress handler that reports Desc when progress +% information is requested. No partial results are available. +simple_task(Desc,Goal) :- with_progress_handler(simple_progress(Desc),Goal). + +simple_progress(Desc,progress(_),Desc). + + +%% with_cont(+Desc,+Pred:pred(-A),+Cont:pred(+A,-B),-Result:B) is det. +% +% Calls Pred and then passes the result to Cont yielding Result. +% A progress handler is installed such that any partial results yielded by +% subtasks in Pred are passed to Cont to yield a partial result. Progress requests +% yield Desc. +with_cont(Desc,Pred,Cont,Result) :- + with_progress_handler(cont(Desc,Cont), + (call(Pred,R),call(Cont,R,Result))). + +cont(_,Cont,Tail1,push(H),cont(Cont,Tail2)) :- call(Tail1,push(H),Tail2). +cont(Desc,_,progress(_),Desc). +cont(_,Cont,partial_result(just(R1)),R) :- call(Cont,R1,R). + +%% stepwise_task(+Desc,+Total:nonneg,-Step:callable,+Goal:callable) is det. +% +% Calls Goal with a progress handler that is able to report progress as a term +% =|stepwise(Desc,Done/Total)|=. Goal is permitted to call Step in order to increment +% the =|Done|= counter. Partial results are not available. +stepwise_task(Desc,Total,async:increment(Counter),Goal) :- + with_new_ref(Counter,0, with_progress_handler(stepwise_progress(Desc,Total,Counter), Goal)). + +stepwise_progress(Desc,Total,Counter,progress(_),stepwise(Desc,Done/Total)) :- b_getval(Counter,Done). + + +%% updatable_status_task(+Initial,-Update:pred(any),+Goal:callable) is det. +% +% Calls goal with Update set to a predicate which can be used to set the +% current status of the task. This will be reported if progress is requested. +% No partial results are available. Initial is the status before Update is called. +:- meta_predicate updatable_status_task(+,-,0). +updatable_status_task(Initial,async:set_ref(Status),Goal) :- + with_new_ref(Status,Initial, with_progress_handler(status_progress(Status),Goal)). + +status_progress(Status,progress(_),S) :- b_getval(Status,S). + + +map_with_progress(P,Xs,Ys) :- + length(Xs,Total), + stepwise_task(map(P),Total,Step, maplist(call_and_step(Step,P),Xs,Ys)). + +call_and_step(Step,P,X,Y) :- call(P,X,Y), call(Step). + +/* +fold_with_progress(Folder,Items,S0,S1) :- + length(Items,N), + stepwise_partial_task(folding(Folder),N,Step,Update, + seqmap(step_update(Step,Update,Folder),Items,S0,S1)). + +step_update(Step,Update,P,X,S0,S1) :- + call(P,X,S0,S1), + call(Update,S1), + call(Step). +*/ + +:- setting(map_fold_batch,nonneg,512,"Batch size for flushing fold queue."). + +%% map_fold_with_progress(+Mapper:pred(A,B), +Folder:pred(list(B),S,S), +Items:list(A), +S1:S, -S2:S) is det. +% +% Map Mapper over Items and fold over the results with Folder, with progress information +% partial results available. Note that Folder operates on a _list_ of items, not just one +% item at a time. Mapper is used to accumulate up to N items before folding them batchwise +% into the accumulator, where N is the value of the setting =|map_fold_batch|=. +% +% Progress information is returned as a term =|stepwise(Desc,Done/Total)|=, where +% =|Desc=map_fold(Mapper,Folder)|=. If partial results are requested, the current batch +% of mapped items is first folded in before returning the value of the accumulator. +map_fold_with_progress(Mapper,Folder,Items,S1,S2) :- + length(Items,Total), + setting(map_fold_batch,M1), + with_new_ref(StateRef,s(Items,0,M1,Head,Head,S1), + ( Handler=map_fold_progress(map_fold(Mapper,Folder),Total,StateRef), + with_progress_handler(Handler, + ( map_fold_loop(Mapper,Folder,StateRef), + call(Handler,partial_result(nothing),S2))))). + +map_fold_loop(Mapper,Folder,StateRef) :- + b_getval(StateRef,s(Xs1,N1,M1,Head,Ys1,S)), + ( Xs1=[] -> Ys1=[] + ; Xs1=[X|Xs2] + -> call(Mapper,X,Y), !, + Ys1=[Y|Ys2], succ(N1,N2), + State1=s(Xs2,N2,M2,Head,Ys2,S), + ( succ(M2,M1) -> State2=State1 + ; simple_task(folding,flush_fold(Folder,State1,State2)) + ), + b_setval(StateRef,State2), !, + map_fold_loop(Mapper,Folder,StateRef) + ). + +map_fold_progress(Desc,Total,StateRef,progress(_),stepwise(Desc,Done/Total)) :- + b_getval(StateRef,s(_,Done,_,_,_,_)). +map_fold_progress(map_fold(_,Folder),_,StateRef,partial_result(_),S2) :- + b_getval(StateRef,State1), + flush_fold(Folder,State1,State2), + b_setval(StateRef,State2), + State2=s(_,_,_,_,_,S2). + +flush_fold(Folder,s(Xs,Done,_,Head,[],S1),s(Xs,Done,M1,H2,H2,S2)) :- + setting(map_fold_batch,M1), + call(Folder,Head,S1,S2), !. + +% for managing global variable +new_ref(Ref) :- gensym('$ref',Ref). +new_ref(Ref,Val) :- new_ref(Ref), b_setval(Ref,Val). + +with_global(Name,Val,Goal) :- setup_call_cleanup(b_setval(Name,Val), Goal, nb_delete(Name)). +with_new_ref(Name,Val,Goal) :- new_ref(Name), with_global(Name,Val,Goal). + +set_ref(Ref,Val) :- nb_setval(Ref,Val). +increment(Counter) :- b_getval(Counter,N), succ(N,M), b_setval(Counter,M).
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/lib/backend_json.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,53 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University of London + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +:- module(backend_json, + [ python_json/3 + , python_apply/3 + , python_call/3 + , python_call/4 + , python_call/5 + ]). + +:- use_module(library(http/json)). + +python_apply(Module:Function,Args,Result) :- !, + Input = _{ module:Module, function:Function, arguments:Args }, + python_json('json_wrapper.py', Input, Output), + ( Output=error{value:Msg} -> throw(python_json_error(Msg,Module:Function)) + ; Output=ok{value:Result} + ). +python_apply(Function,Args,Result) :- atom(Function), + python_apply('__builtin__':Function,Args,Result). + +python_call(ModFunc,A1,Result) :- python_apply(ModFunc,[A1],Result). +python_call(ModFunc,A1,A2,Result) :- python_apply(ModFunc,[A1,A2],Result). +python_call(ModFunc,A1,A2,A3,Result) :- python_apply(ModFunc,[A1,A2,A3],Result). + +python_json(Script,Input,Output) :- + setup_call_cleanup( + process_create( dml(python/Script),[], + [ cwd(dml(python)), process(PID), + stdin(pipe(ToScript)), stdout(pipe(FromScript))]), + call_cleanup( + ( call_cleanup(json_write_dict(ToScript,Input,[width(0),tag(tag)]), close(ToScript)), + json_read_dict(FromScript,Output,[tag(tag)]) + ), exception(_), process_kill(PID)), + (close(FromScript), process_wait(PID,_)) + ). +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/lib/backend_rdf.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,82 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University of London + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +:- module(backend_rdf, + [ rdf//3 + , in/5 + ]). + +:- use_module(library(semweb/rdf_db)). +:- use_module(library(semweb/turtle)). +:- use_module(library(semweb/rdf_turtle_write)). +:- use_module(library(dcg_core)). + +:- rdf_meta rdf(r,r,o,?,?). +rdf(S,P,O) --> [rdf(S,P,O)]. + +:- rdf_meta to_literal(+,o). +to_literal(integer(X), literal(type(xsd:integer,Y))) :- atom_number(Y,X). +to_literal(float(X), literal(type(xsd:float,Y))) :- atom_number(Y,X). +to_literal(double(X), literal(type(xsd:double,Y))) :- atom_number(Y,X). +to_literal(string(X), literal(type(xsd:string,Y))) :- atom_string(Y,X). +to_literal(atom(X),literal(X)). + +comp(Comp,Function,Input) --> + {once(to_literal(Input,InputLit))}, + rdf(Comp,dmlcla:function,literal(Function)), + rdf(Comp,dmlcla:input,InputLit). + + +inx(Triples,SS,PP,OO,_) :- + in(Triples,S,P,O,_), + rdf_global_id(S,SS), + rdf_global_id(P,PP), + rdf_global_object(O,OO). + +in(Triples,S,P,O,_) :- + number_vars_as_uris(Triples), + member(rdf(S,P,O),Triples). + +phrase_triple(Phrase,S,P,O,_) :- + phrase(Phrase,Triples), + number_vars_as_uris(Triples), + member(rdf(S,P,O),Triples). + + +:- meta_predicate python_rdf(//,-). +python_rdf(Input,Output) :- + phrase(Input,Triples), + number_vars_as_uris(Triples), + setup_call_cleanup( + process_create( dml('python/rdf_wrapper.py'),[], + [ cwd(dml(python)), process(PID), + stdin(pipe(ToScript)), stdout(pipe(FromScript))]), + ( call_cleanup(rdf_save_turtle(stream(ToScript),[expand(in(Triples)), silent(true)]), close(ToScript)), + rdf_read_turtle(stream(FromScript),Output,[base_uri('_:tmp#')]) + ), + (close(FromScript), process_wait(PID,Status)) + ), + debug(backend,'Process exit status was: ~q',[Status]). + +number_vars_as_uris(Term) :- + term_variables(Term,Vars), + seqmap(number_var_as_uri,Vars,1,_). +number_var_as_uri(Var,N,M) :- + atom_number(NN,N), + rdf_global_id(dmlcla:NN,Var), + succ(N,M).
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/lib/beets_p2r.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,160 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University of London + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +:- module(beets_p2r, []). + +/** <module> Access to beets database + */ + + +:- use_module(library(prosqlite)). +:- use_module(library(musicbrainz)). +:- use_module(library(semweb/rdf_db)). +:- use_module(library(rdfutils)). +:- use_module(entailment(p2r)). + +:- set_prolog_flag(double_quotes,string). + +:- rdf_register_prefix(beets,'http://dml.org/beets/props/item/'). +:- rdf_register_prefix(beets_album,'http://dml.org/beets/props/album/'). +:- rdf_register_prefix(audio,'audio:'). +:- rdf_register_prefix(dml,'http://dml.org/dml/'). +:- rdf_register_prefix(mb,'http://musicbrainz.org/'). + +:- setting(db_file,string,"~/lib/beets/music-ro.db","Location of beets database"). +:- setting(audio_root,string,"/usr/local/share/Music/","Root of audio file directory tree"). + + +rdf(audio:tail(Rel), rdf:type, mo:'AudioFile'), +rdf(audio:tail(Rel), mo:encoding, literal(Enc)) <== + setting(audio_root,Root), + expand_file_name(Root,[Root1]), + item(Id,path,Path), + item(Id,format,Enc), + atom_concat(Root1,Rel,Path). + +rdf(audio:tail(Rel), beets:enc(Prop), literal(Val)) <== + audio_item_path(Id,Rel), + item(Id,Prop,Val1), + ( Prop=path -> exists_file(Val1); true), + as_typed_literal(Val1,Val). + +rdf(Signal,rdf:type,mo:'Signal') <== + item(_,mb_trackid,ID), % track id is actually a Recording. + mb_id_uri(recording,ID,Signal). + +rdf(Signal,mo:available_as,audio:tail(Rel)) <== + setting(audio_root,Root), + expand_file_name(Root,[Root1]), + item(Id,path,Path), + exists_file(Path), + atom_concat(Root1,Rel,Path), + item(Id,mb_trackid,ID), % track id is actually a Recording. + % need to ask Linkedbrainz to get Signal URI + mb_id_uri(recording,ID,Signal). + +rdf(audio:tail(Rel), dml:file_artist, URI) <== + audio_item_path(Id,Rel), + item(Id,mb_artistid,ID), + mb_id_uri(artist,ID,URI). + +rdf(audio:tail(Rel), dml:file_release, URI) <== + audio_item_path(Id,Rel), + item(Id,mb_albumid,ID), + mb_id_uri(release,ID,URI). + +rdf(audio:tail(Rel), dml:file_recording, URI) <== + audio_item_path(Id,Rel), + item(Id,mb_trackid,ID), + mb_id_uri(recording,ID,URI). + +% rdf(URI,mo:release_type,mo: +rdf(URI,rdf:type,mo:'Release') <== + item(_,mb_albumid,ID), + mb_id_uri(release,ID,URI). + +audio_item_path(Id,Rel) :- + setting(audio_root,Root), + expand_file_name(Root,[Root1]), + item(Id,path,Path), + atom_concat(Root1,Rel,Path). + +:- public import/0. +import :- with_beets_db(assert_all(beets_p2r)). + +with_beets_db(Goal) :- + setting(db_file,DBFile), + expand_file_name(DBFile,[Path|_]), + setup_call_cleanup( + sqlite_connect(Path,Con,[alias(beets),ext(''),as_predicates(true),arity(unary),at_module(beets)]), + Goal, + sqlite_disconnect(Con)). + +:- dynamic beets:items/1. +item(Id) :- beets:items([id=Id]). + +item(Id,path,Path) :- + ( var(Path) -> beets:items([id=Id,path=Path]) + ; var(Id) -> sqlite_format_query(beets,"select id from items where path like '~s'"-[Path],row(Id)) + ; sqlite_format_query(beets,"select null from items where id=~w and path like '~s'"-[Id,Path],row(_)) + ). + +item(Id,Prop,Val) :- + table_column(items,Prop), Prop\=path, Prop\=comp, + beets:items([id=Id,Prop=Val]), + \+invalid(Prop,Val). + + +% album(Id) :- beets:albums([id=Id]). +% album(Id,Prop,Val) :- +% table_column(albums,Prop), +% beets:albums([id=Id,Prop=Val]), Val\=''. + +table_column(T,C) :- + sqlite_table_column(beets,T,C1), C=C1. + +invalid(_,''). +invalid(Prop,0) :- nonzero(Prop). +invalid(mtime,0.0). + +nonzero(bitdepth). +nonzero(bitrate). +nonzero(samplerate). +nonzero(track). +nonzero(tracktotal). +nonzero(disc). +nonzero(disctotal). +nonzero(bpm). +nonzero(day). +nonzero(month). +nonzero(year). +nonzero(original_day). +nonzero(original_month). +nonzero(original_year). + +:- public audio_file/3. + +audio_file(URI,File,just(T0)) :- + rdf(URI,beets:path,literal(File)), !, + rdf(URI,beets:format,literal(F0)), + format_type(F0,T0). + +format_type('MP3',mp3). +format_type('OGG',ogg). +format_type('AAC',aac). +format_type('ALAC',mp4). % !!! ??
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/lib/bl_p2r.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,501 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University of London + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +:- module(bl_p2r,[ audio_file/3, audio_link/2, scrape_audio_link/2, has_available_audio/1 ]). + +:- use_module(library(semweb/rdf_db)). +:- use_module(library(xmlarchive)). +:- use_module(library(xpath)). +:- use_module(library(settings)). +:- use_module(library(sandbox)). +:- use_module(library(fileutils)). +:- use_module(library(termutils)). +:- use_module(library(rdfutils)). +:- use_module(library(insist)). +:- use_module(library(memo)). +:- use_module(entailment(p2r)). +:- use_module(cliopatria(hooks)). +:- use_module(library(http/http_client)). + +:- set_prolog_flag(double_quotes,string). + +/* + METS to RDF conversion. + + Useful info: + 0. Each top-level mets:mets element contains several sections. + 1,4 x dmdSec .. 1 x mdWrap + 1 x amdSec .. [ N x techMD, {0,1} x rightsMD, {0,1} x sourceMD ] + 1 x fileSec .. 1-4 x fileGrp .. 1-36 x file + 1 x structLink .. {1,3} x smLink + 2-3 x structMap .. 1 x div + + 1. Each dmdSec only ever contains one mdWrap element + 5. each techMD or sourceMD contains exactly 1 mdWrap + 6. each rightsMD contains an mdRef + 7. The rightsMD is not interesting to look at. + 8. dmdSec mdWraps can be empty + + List of all dmdSec tags in dataset + blapsi:id3album + blapsi:id3artist + blapsi:id3comment + blapsi:id3songtitle + blapsi:id3year + dc:description + dc:identifier + dc:language + dc:rights + dc:source + dc:subject + dc:title + dc:type + dcterms:created + dcterms:isPartOf + dcterms:spatial + dcterms:temporal + marcrel:CMP + marcrel:CND + marcrel:IVE + marcrel:IVR + marcrel:LYR + marcrel:PRF + marcrel:RCE + marcrel:SPK + mods:accessCondition + mods:identifier + mods:name + mods:recordInfo + mods:titleInfo + + amdSec tags + blapsi:audioObject + blapsi:file_bitrate + blapsi:file_channels + blapsi:file_duration + blapsi:file_sample + blapsi:resolution + + sourceMD .. blapsi:audioObject + blapsi:face + blapsi:format + blapsi:physicalProperties + blapsi:face + blapsi:format + blapsi:physicalProperties + blapsi:primaryIdentifier + blapsi:secondaryIdentifier + blapsi:primaryIdentifier + blapsi:secondaryIdentifier + + would prefer to have mo predicates to foaf:Person resources for these. + marcrel:'CMP',dml:composer). + marcrel:'CND',dml:conductor). + marcrel:'PRF',dml:performer). + + */ + +:- setting(audio_root,ground,nothing,'Root directory of audio file collection'). +:- setting(archive_pattern,atom,'~/lib/datasets/mets/BL_metadata_complete.7z','Pattern to match METS metadata files'). + +:- rdf_register_prefix(bldata,'http://sounds.bl.uk/resource/'). +:- rdf_register_prefix(marcrel,'http://id.loc.gov/vocabulary/relators/'). +:- rdf_register_prefix(blapsi,'http://sounds.bl.uk/blapsi#'). +:- rdf_register_prefix(blterms,'http://www.bl.uk/schemas/bibliographic/blterms#'). + +% https://code.google.com/p/libarchive/issues/detail?id=328&colspec=ID%20Type%20Status%20Priority%20Milestone%20OpSys%20Owner%20Summary + +:- public import/0. +import :- assert_all(bl_p2r). + +rdf(dml:blpage,rdfs:range,foaf:'Document') <== true. +rdf(dml:blpage,rdfs:subPropertyOf,foaf:page) <== true. +rdf(S,P,O) <== bl_archive_triple(T), once(expand_triple(T,rdf(S,P,O))). + +expand_triple(rdf(SS,PP,OO),rdf(S,P,O)) :- + uripattern:pattern_uri(SS,S), + uripattern:pattern_uri(PP,P), + ( OO=literal(_) -> rdf_global_object(OO,O) + ; uripattern:pattern_uri(OO,O) + ). + +%% import_directory(+Dir:atom, +Graph:atom) is det. +% +% Import contents of a given directory into a named RDF graph. +% The directory must be a subdirectory of the directory named in the +% bl_p2r:audio_root setting (whose value is either =|just(Dir)|= or +% =|nothing|=). +import_directory(Dir,Graph) :- + forall( directory_triple(Dir,T), (once(expand_triple(T,rdf(S,P,O))), rdf_assert(S,P,O,Graph))). + +directory_triple(Dir,T) :- + Ext=txt, + setting(audio_root,just(AudioRoot)), + atom_concat(AudioRoot,'/',Prefix), + find_files(under(AudioRoot/Dir),FullPath), + atom_concat(Prefix,Path,FullPath), + split_path(Path,Loc,Ext), + with_stream(Str,open(FullPath,read,Str), ext_loc_stream_triple(Ext,Loc,Str,T)). + + +%% bl_archive_triple(-T:rdf) is nondet. +% This predicate generates triples from the metadata archive files whose names +% match the pattern stored in the setting bl_p2r:archive_pattern. +bl_archive_triple(T) :- + setting(archive_pattern, ArchivePattern), + find_files(like(ArchivePattern), Archive), + with_archive_stream(Archive, Path, path_triple_stream(Path,T)). + +path_triple_stream(Path,T,S) :- + status('Importing ~s',[Path]), + catch(( insist(split_path(Path,Loc,Ext)), + ext_loc_stream_triple(Ext,Loc,S,T) + ), Ex, (nl,print_message(warning,Ex),fail)). + +split_path(Path,Dirs-Base,Ext) :- + % split_string(Path,'/','',Parts), + atomic_list_concat(Parts,'/',Path), + exclude(ignore_dir,Parts,Parts1), + append(Dirs,[Name],Parts1), + sub_atom(Name,_,3,0,Ext), % NB this assumes three character extension + sub_atom(Name,0,_,4,Base). + +%% ext_loc_stream_triple(+Ext:atom, +Loc:pair(list(atom), atom), +S:stream, -T:rdf) is nondet. +% +% This predicate succeeds once for each RDF triple that can be derived from +% an archive stream whose path in the archive Loc=Dirs-Base consist of the directories +% Dirs and whose name is Base,'.',Ext. It understands entries with extensions +% xml and txt. XML streams are decoded as full METS documents. TXT streams are decoded +% as the DMD section of a METS document. Other extensions generate a warning and then fail. + +ext_loc_stream_triple(xml,Dirs-Base,S,T) :- !, + insist(load_xmlns(S,Doc)), + insist(member(element(mets:mets,_,METS),Doc)), + ( insist(get_bl_url(Base,Dirs,URL)), + T=rdf(bldata:Base,dml:blpage,URL) + ; T=rdf(bldata:Base,rdf:type,mo:'Signal') + ; insist(multi,member(element(Tag,_,Content),METS),no_content(mets,Dirs-Base)), + mets_triple(Tag,Content,Dirs,Base,T) + ). + +ext_loc_stream_triple(txt,Dirs-Base,S,T) :- !, + % TXT streams appear to be LATIN-1 encoded, not UTF-8 + Base\=combined, % exclude combined metadata files + set_stream(S,encoding(iso_latin_1)), + insist(load_xmlns(S,Doc)), + txt_triple(Doc,Dirs,Base,T). + +ext_loc_stream_triple(Ext,Dirs-Base,_,_) :- + warning(unrecognised_extension(Ext,Dirs-Base)). + + +%% get_bl_url(+Name:atom,+Dirs:list(atom),-URL:atom) is det. +% Deduces the sounds.bl.uk URL from entry name and directory. +get_bl_url(Name,Dirs,URL) :- + sub_atom(Name,0,4,_,CatCode), + category(CatCode,Category), + append(_,[Collection],Dirs), + atomic_list_concat([ 'http://sounds.bl.uk', + Category,Collection,Name],'/',URL). + +category('021M','Oral-history'). +category('025M','World-and-traditional-music'). +category('023M','Jazz-and-popular-music'). +category('026M','Classical-music'). +category('028M','Jazz-and-popular-music'). +category('020A','Classical-music'). + +ignore_dir('_Metadata'). +ignore_dir('_Non-music'). +ignore_dir('_Audio_Metadata'). + +% --------------------- TOP LEVEL STRUCTURE ------------------------------- + +unwrap([element(mets:mdWrap,MDAttr,[element(mets:xmlData,_,XMLContent)])],MDAttr,XMLContent). + +% for complete METS documents +mets_triple(mets:dmdSec,DMDContent,_,ID,T) :- !, + unwrap(DMDContent,MDAttr,XMLContent), + member('MDTYPE'='DC',MDAttr), + dmd_triple(XMLContent,bldata:ID,T). + +mets_triple(mets:amdSec,AMDContent,_,ID,T) :- !, + member(element(Tag,Attr,Content),AMDContent), + amd_triple(Tag,Attr,Content,ID,T). + +mets_triple(mets:fileSec,FileSecContent,Dirs,ID,T) :- !, + member(element(T1,GAttr,GroupContent),FileSecContent), insist(T1=mets:fileGrp), + member(element(T2,FAttr,FileContent),GroupContent), insist(T2=mets:file), + \+member('ID'='WEBRESOURCES',GAttr), + FileContent=[element(Tag,Attr,Content)], + file_triple(Tag,Attr,Content,GAttr-FAttr,Dirs,ID,T). + +mets_triple(mets:metsHdr,_,_,_,_) :- !, fail. +mets_triple(mets:structLink,_,_,_,_) :- !, fail. +mets_triple(mets:structMap,_,_,_,_) :- !, fail. +mets_triple(Tag,_,_,_,_) :- warning(unrecognised_tag(Tag,mets:mets)). + +% for txt, partial XML documents +txt_triple(_,_,ID,rdf(bldata:ID,rdf:type,mo:'Signal')). +txt_triple(Doc,Dirs,ID,T) :- + insist(multi,member(element(Tag,_,Content),Doc),no_content(txt)), + txt_tag_triple(Tag,Content,Dirs,ID,T). + +identifier_file_ext(F,F1,mp3) :- sub_atom(F,Bef,_,_,'.mp3'), !, insist(sub_atom(F,0,Bef,_,F1)). +identifier_file_ext(F,F1,wav) :- sub_atom(F,Bef,_,0,'.wav'), !, insist(sub_atom(F,0,Bef,_,F1)). +identifier_file_ext(F,F1,m4a) :- sub_atom(F,Bef,_,0,'.m4a'), !, insist(sub_atom(F,0,Bef,_,F1)). + +txt_tag_triple(dc:identifier, [F], Dirs, ID, rdf(bldata:ID, bldata:path, literal(Path))) :- !, + % NB some of the txt files have the file name written twice. Hence I am going to discard + % everything after the first dot. Relies on sub_atom returning matches starting from the beginning + ( identifier_file_ext(F,F1,Ext) + -> file_name_extension(F1,Ext,Name), + atomics_to_string(Dirs,"/",Dir), + directory_file_path(Dir,Name,Path) + ; print_message(warning,txt_triple_identifier_fail(ID,F)), + fail + ). + +% !!! MUSICALS only. Should not really have mo:duration in them either... +txt_tag_triple(dml:rating,Content, _, ID, rdf(bldata:ID, dml:rating, literal(Content))) :- !. +txt_tag_triple(mo:duration,Content, _, ID, rdf(bldata:ID, mo:duration, literal(type(xsd:float,Millis)))) :- !, + insist(Content=[Dur],bad_content(Content,mo:duration)), + insist(atom_number(Dur,Millis)). +txt_tag_triple(blapsi:file_duration,Content, _, ID, rdf(bldata:ID, mo:duration, literal(type(xsd:float,Millis)))) :- !, + insist(Content=[Dur],bad_content(Content,blapsi:file_duration)), + % insist(parse_duration_millis(Dur,Millis)). + ( parse_duration_millis(Dur,Millis) -> true + ; warning(bad_duration(ID,Dur)) + ). +txt_tag_triple(Tag,Content,_,ID,T) :- dmd_tag_triple(Tag,Content,bldata:ID,T). + + +% --------------- Document meta data -------------------------- + +dmd_triple(DMD,URI,T) :- + member(element(Tag,_,Content),DMD), + dmd_tag_triple(Tag,Content,URI,T). + +dmd_tag_triple(dcterms:contributor,Content,ID,T) :- !, dmd_triple(Content,bldata:ID,T). +dmd_tag_triple(dc:contributor,Content,ID,T) :- !, dmd_triple(Content,bldata:ID,T). +dmd_tag_triple(marcrel:REL,Content,URI,rdf(URI,marcrel:Rel,literal(Lit))) :- !, + Content=[Lit],%empty_tag(marcrel:REL,Content)), + downcase_atom(REL,Rel). +dmd_tag_triple(Tag,Content,URI,rdf(URI,Tag,literal(Lit))) :- keep_tag(Tag), !, Content=[Lit]. +dmd_tag_triple(Tag,_,_,_) :- ignore_tag(Tag), !, fail. +dmd_tag_triple(Tag,_Content,URI,_) :- warning(unrecognised_tag(Tag,dmd,URI)). + +% !!!FIXME - sometimes dates are given in D/M/Y instead of Y-M-D +keep_tag(dc:title). +keep_tag(dc:description). +keep_tag(dc:source). +keep_tag(dc:subject). +keep_tag(dc:language). +keep_tag(dc:created). +keep_tag(dcterms:language). +keep_tag(dcterms:abstract). +keep_tag(dcterms:created). +keep_tag(dcterms:spatial). +keep_tag(dcterms:temporal). +keep_tag(dcterms:extent). % !!!FIXME need to parse this +keep_tag(blterms:mechanism). +keep_tag(dcterms:isPartOf). +keep_tag(blapsi:format). + +ignore_tag(dc:identifier). +ignore_tag(blapsi:marker). +ignore_tag(dc:rights). +ignore_tag(dc:type). +ignore_tag(rdf:about). +ignore_tag('ARK'). + +% ------------------------- ADMINISTRATIVE METADATA SECTION ----------------------------- + +amd_triple(mets:sourceMD,_,SMDContent,ID,T) :- + insist(unwrap(SMDContent,_,XMLContent),no_xml_content(SMDContent,smd)), + atom_concat(ID,'#source',Src), + ( T=rdf(bldata:ID,dml:source,bldata:Src) + ; insist(multi,member(element(Tag,Attr,Content),XMLContent),no_xml_content(smd)), + smd_xml_triple(Tag,Attr,Content,bldata:Src,T) + ). + +amd_triple(mets:techMD,Attr,TMDContent,ID,T) :- + insist(member('ID'=TMDId,Attr)), + unwrap(TMDContent,_,XMLContent), + ( T=rdf(bldata:ID/TMDId, mo:sampled_version_of, bldata:ID) +% ; T=rdf(bldata:ID/TMDId, dml:annotation,literal(Label)), member('LABEL'=Label,TMDAttr) + ; member(element(Tag,_,Content),XMLContent), + blapsi_triple(Tag, Content, bldata:ID/TMDId, T) + ). + +blapsi_triple(blapsi:Tag, [Text], Signal, rdf(Signal, Pred, literal(Lit))) :- + insist(blapsi_info(Tag, Text, Pred, Lit)). + +% ------------ Source --------------- + +smd_xml_triple(blapsi:audioObject,Attr,AOContent,SrcURI,rdf(SrcURI,Pred,literal(Lit))) :- !, + ( member(A=Lit,Attr), A\='ID', Pred=bldata:A + ; insist(multi,member(element(Tag,Attr1,Content),AOContent),no_content(blapsi:audioObject,AOContent)), + ao_tag_info(Tag,Attr1,Content,Pred,Lit) + ). + +smd_xml_triple(blapsi:Tag,Content,SrcURI,rdf(SrcURI,blapsi:Tag,literal(Lit))) :- !, + insist(Content=[Lit],bad_content(blapsi:Tag,Content,smd_xml_triple)). + +ao_tag_info(blapsi:primaryIdentifier,_,_,_,_) :- !, fail. +ao_tag_info(blapsi:secondaryIdentifier,_,_,_,_) :- !, fail. +ao_tag_info(blapsi:format,_,Content,blapsi:format,Lit) :- !, + insist(Content=[Lit],bad_content(Content,blapsi:format)). +ao_tag_info(blapsi:face, Attr, Content, Pred, Lit) :- !, + %insist(member('ID'=ID,Attr)), + insist(member('label'=Label,Attr)), + insist(Content=[],non_empty_content(blapsi:face,Content)), + ( fail % Pred=bldata:face_id, Lit=ID IGNORE FOR NOW + ; Pred=bldata:face_label, Lit=Label + ). +ao_tag_info(blapsi:physicalProperties, _, PPContent, Tag, Lit) :- !, + insist(multi,member(element(Tag,_,Content),PPContent),no_content(blapsi:physicalProperties)), + insist(Content=[Lit],bad_content(Tag,Content)). +ao_tag_info(Tag,_,_,_,_) :- + warning(unrecognised_tag(Tag,blapsi:audioObject)). + +% identifier_pred('ASR Root ID',asr_root_id). +% identifier_pred('Sound Archive accession number',accession_number). + + + +% -------------- FILE SECTION --------------------------- + +file_triple(mets:'FLocat',Attr,LocContent,GAttr-FAttr,Dirs,ID,T) :- !, + ( member('MIMETYPE'=MimeType,FAttr) + -> audio_mimetype(MimeType), + insist(member('AMDID'=TMDId1,FAttr)), + insist(member('LOCTYPE'='URL',Attr)), + insist(member((xlink:href)=Link,Attr)), + insist(LocContent=[],non_empty(mets:'FLocat',LocContent)), + insist(member('USE'=Use1,FAttr);member('USE'=Use1,GAttr)), + % TMDId1 is sometimes "techMDxx digiprovXX" - need to get rid of second word + atomic_list_concat([TMDId|_],' ',TMDId1), + downcase_atom(Use1,Use), + ( T=rdf(bldata:ID/TMDId,dml:mimetype,literal(MimeType)) + ; file_path_triple(bldata:ID/TMDId,Dirs,Link,T) + ; T=rdf(bldata:ID/TMDId,bldata:use,literal(Use)) + ) + ; insist(\+member('AMDID'=_,FAttr)), + insist(member('ID'=FileID,FAttr)), + insist(member('LOCTYPE'='URL',Attr)), + insist(member((xlink:href)=Link,Attr)), + sub_atom(Link,_,3,0,Ext), + audio_extension(Ext), + ( T=rdf(bldata:ID/FileID,mo:sampled_version_of,bldata:ID) + ; file_path_triple(bldata:ID/FileID,Dirs,Link,T) + ; member(element(Tag,_,Content),LocContent), + blapsi_triple(Tag,Content,bldata:ID/FileID,T) + ) + ). + +file_triple(mets:'Fcontent',_,_,_,_,_,_) :- !, fail. +file_triple(Tag,_,_,_,_,_,_) :- warning(unrecognised_tag(Tag,file)). + +file_path_triple(URI,Dirs,Link,rdf(URI,bldata:path,literal(Path))) :- + atomics_to_string(Parts,"/",Link), + atomics_to_string(Dirs,"/",Dir), + append(_,[Name],Parts), + directory_file_path(Dir,Name,Path). + +audio_mimetype('sound/wav'). +audio_mimetype('sound/wma'). +audio_mimetype('sound/mp3'). +audio_mimetype('sound/ogg'). + +audio_extension(wav). +audio_extension(mp3). +audio_extension(wma). + +% ---------------------------- BLAPSI INFO --------------------------------- + +blapsi_info(file_sample, X, mo:sample_rate, type(xsd:float,SampleRate)) :- atom_number(X,SampleRate). +blapsi_info(file_resolution, X, mo:bitsPerSample, type(xsd:int,Bits)) :- atom_number(X,Bits). +blapsi_info(resolution, X, mo:bitsPerSample, type(xsd:int,Bits)) :- atom_number(X,Bits). +blapsi_info(file_channels, X, mo:channels, type(xsd:int,Channels)) :- atom_number(X,Channels). +blapsi_info(file_duration, X, mo:duration, type(xsd:float,Millis)) :- parse_duration_millis(X,Millis). +blapsi_info(file_bitrate, X, blapsi:file_bitrate, X). % !!! FIXME should be attached to file, not to signal +blapsi_info(file_size, X, blapsi:file_size, type(xsd:int,Size)) :- atom_number(X,Size). +blapsi_info(file_length, X, blapsi:file_length, type(xsd:int,Size)) :- atom_number(X,Size). + +% --------------------------- SUPPORTING PREDICATES -------------------------- + +:- use_module(library(async)). +:- public scrape_all/2. +:- volatile_memo scrape_all(+options:list,-count:nonneg). +scrape_all(Opts,Count) :- + option(spacing(Sleep),Opts,1), + option(timeout(Timeout),Opts,10), + findall( R, rdf(R,dml:blpage,_), Rs), + with_progress_stack(map_with_progress(scrape_then_sleep(Sleep,Timeout),Rs,Ss)), + exclude(=(ok),Ss, Failures), + (Failures=[] -> length(Rs,Count); throw(scrape_errors(Failures))). + +scrape_then_sleep(D,T,R,Status) :- + ( audio_link(R,_) -> Status=ok + ; memo:reify(bl_p2r:slow(D,call_with_time_limit(T,scrape_audio_link(R,_))),Status), + (Status=ex(abort(Reason)) -> throw(abort(Reason)); true) + ). + +slow(Delay,Goal) :- call(Goal), sleep(Delay). + +%% has_available_audio(+R:uri) is semidet. +%% has_available_audio(-R:uri) is nondet. +% True when R is a recording in the BL collection whose audio is +% publicly available. +has_available_audio(R) :- + rdf(R,dml:blpage,_), + scrape_audio_link(R,_). + +:- public audio_link/2. +audio_link(URI,AudioURL) :- + browse(scrape_audio_link(URI,AudioURL)). + +:- public audio_file/3. +audio_file(URI,Path,just(mp3)) :- + setting(audio_root,just(Root)), + ( rdf(URI,bldata:path,literal(RelPath)), + rdf(URI,rdf:type,mo:'Signal') + ; rdf(URI2,mo:sampled_version_of,URI), + rdf(URI2,dml:mimetype,literal('sound/mp3')), + rdf(URI2,bldata:path,literal(RelPath)) + ), + atomic_list_concat([Root,RelPath],'/',Path). + +:- volatile_memo scrape_audio_link(+atom,-atom). + +scrape_audio_link(URI,AudioURL) :- + rdf(URI,dml:blpage,PageURL), + debug(bl_p2r,'Scraping audio link for ~w...',[URI]), + atom_concat('http://sounds.bl.uk/',_,PageURL), + http_get(PageURL,Doc,[]), + xpath(Doc,//li(@class=mainTrack)/a(@id),ID), + string_concat("MNT-",Key,ID), + string_concat('http://sounds.bl.uk/GT/',Key,AudioURL). + +sandbox:safe_primitive(bl_p2r:audio_link(_,_)). +sandbox:safe_primitive(bl_p2r:scrape_audio_link(_,_)). + +xpath(Prop,E,Path,Val) :- xpath(E,Path,I), xpath(I,/self(Prop),Val). + +warning(Term) :- nl, print_message(warning,Term), fail.
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/lib/charm_p2r.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,245 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University of London + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +:- module(charm_p2r, [ audio_link/3 ]). + +/** <module> Access to beets database + */ + + +% :- use_module(library(odbc)). +:- use_module(library(csv)). +:- use_module(library(musicbrainz)). +:- use_module(library(semweb/rdf_db)). +:- use_module(library(termutils)). +:- use_module(library(rdfutils)). +:- use_module(library(stringutils)). +:- use_module(library(dcg/basics)). +% :- use_module(library(odbcutils)). +:- use_module(entailment(p2r)). +:- use_module(library(memo)). +% :- use_module(library(resolve)). + +:- set_prolog_flag(double_quotes,string). + +:- rdf_register_prefix(charm,'http://dml.org/charm/'). + +:- setting(csv_database,string,"~/lib/charm/charm-1.csv","Location of CHARM colon-separated-values"). +:- setting(audio_root,ground,nothing,"Location of CHARM audio files"). +% item(Id) :- +% odbc_query(charm,"select id from cmr",row(Id)). + +% item(Id,Prop,Val) :- +% odbc_table_column(charm,cmr,Prop), +% \+ignore_column(Prop), +% qsql(charm,"select ~w from cmr where id=~d and ~w is not null and ~w!=''",[Prop,Id,Prop,Prop], row(Val)). + +% ignore_column(id). +% ignore_column(digital_eq). +% ignore_column(eq_base). +% ignore_column(eq_mid). +% ignore_column(eq_top). +% ignore_column(old_id). + +map('TNo',tno). %? + +% work +map('Title',title,list(";",atom)). +map('Composer(s)',composer,list("/",composer)). + +% performance +map('Artist',performer,list("/",set(";",performer))). +map('Conductor',conductor,atom). + +map('Label',label,atom). +map('Series',series,atom). +map('Cat No.',cat_no,atom). +map('Size',size,number). +% map('Matrix No.',matrix_no,atom). +% map('Single Side No. (or other ref.)',single_side_no). +map('File Name',file_name,atom). +map('Notes',notes,atom). +map('Rec.Date (dd/mm/yyyy)', recording_date, date(old)). + +% transfer event (recording from vinyl to digital signal) +map('Speed', speed, number). + +% No need for this much detail really.. +% map('Stylus',stylus_size, number). +% map('Weight',stylus_weight, number). +% map('EQ bass',eq_bass). +% map('EQ mid',eq_mid). +% map('EQ top',eq_top). +% map('Digital EQ','digital_eq'). +% map('turnover',turnover). +map('tech notes', technical_notes, atom). +map('x-fer date', transfer_date, date(new)). +map('Transfer Engineer', transfer_engineer, atom). + +:- volatile_memo string_to_date(+atom,+string,-ground). +string_to_date(Era,X,Date) :- + string_codes(X,Codes), + once(phrase(charm_interval(Era,DD),Codes)), + charm_date_to_time(DD,Date). + +:- rdf_meta convert(+,+,o). +convert(string,X,literal(X)). +convert(atom,X,literal(Y)) :- atom_string(Y,X). +convert(number,X,literal(Y)) :- number_string(Y,X). +convert(date(E),X,literal(Date)) :- string_to_date(E,X,Date). +convert(set(Sep,Type),X,Y) :- + split_string(X,Sep,"\s",Xs), + member(Z,Xs), + convert(Type,Z,Y). +convert(list(Sep,Type),X,Y) :- + split_string(X,Sep,"\s",Xs), + member(Z,Xs), + convert(Type,Z,Y). + +convert(performer,X,Y) :- convert(atom,X,Y). +% convert(performer,X,literal(Y)) :- +% porter_stem:tokenize_atom(X,Tokens), +% phrase(charm_performer(Perf),Tokens), +% phrase(performer(Perf),Codes1), +% atom_codes(Y,Codes1). + + +convert(arranger,X,literal(Y)) :- atom_concat(X,' [arranger]',Y). +convert(writer,X,literal(Y)) :- atom_concat(X,' [writer]',Y). + +convert(composer,X,Y) :- + split_string_around(" arr. ",X,Composer,Arranger), !, + ( convert(composer,Composer,Y) + ; convert(arranger,Arranger,Y) + ). + +convert(composer,X,Y) :- + split_string_around(" - ",X,Composer,Writer), !, + ( convert(composer,Composer,Y) + ; convert(writer,Writer,Y) + ). + +convert(composer,X,literal(Y)) :- traditional(X,Z), !, format(atom(Y),'[traditional:~s]',[Z]). +convert(composer,X,literal(Y)) :- anonymous(X,Z), !, format(atom(Y),'[anonymous:~s]',[Z]). +convert(composer,X,literal(Y)) :- atom_string(Y,X). + +% charm_performer(agent(Tokens)) --> + +anonymous(X,Z) :- (string_concat("Anon",Y,X); string_concat("anon",Y,X)), strip_string(Y,Z). +traditional(X,Z) :- string_concat("Trad.",Y,X), strip_string(Y,Z). + + +pad_int(L,N,C1,C2) :- format(codes(C1,C2),'~`0t~d~*+',[N,L]). + +xsd_time(ymd(Y,M,D),xsd:date) --> pad_int(4,Y), "-", pad_int(2,M), "-", pad_int(2,D). +xsd_time(ym(Y,M),xsd:gYearMonth) --> pad_int(4,Y), "-", pad_int(2,M). +xsd_time(y(Y),xsd:gYear) --> pad_int(4,Y). +xsd_time(range(D1,_),Type) --> xsd_time(D1,Type). + +charm_date_to_time(Date,type(Type,Value)) :- + phrase(xsd_time(Date,Type1),Codes), + rdf_global_id(Type1,Type), + atom_codes(Value,Codes). + +year(old,Y) --> integer(YY), { YY>=100 -> Y=YY ; Y is YY+1900 }. +year(new,Y) --> integer(YY), { YY>=100 -> Y=YY ; Y is YY+2000 }. +month(M) --> integer(M), {between(1,12,M)}. +day(D) --> integer(D), {between(1,31,D)}. + +charm_date(E,ymd(Y,M,D)) --> year(E,Y), "-", month(M), "-", day(D). +charm_date(E,ymd(Y,M,D)) --> day(D), "-", month(M), "-", year(E,Y). +charm_date(E,ymd(Y,M,D)) --> day(D), "/", month(M), "/", year(E,Y). +charm_date(E,ymd(Y,M,D)) --> day(D), ".", month(M), ".", year(E,Y). +charm_date(E,ym(Y,M)) --> year(E,Y), "-", month(M). +charm_date(E,ym(Y,M)) --> month(M), "/", year(E,Y). +charm_date(E,y(Y)) --> year(E,Y). + +charm_interval(_,range(y(Y1),y(Y2))) --> + integer(Y1), {Y1>=100}, "-", + integer(YY), {YY>12}, + { YY<100 -> Y2=1900+YY; Y2=YY }. + +charm_interval(E,Int) --> + charm_date(E,D1), + ( "--", charm_date(E,D2), {Int=range(D1,D2)} + ; {Int=D1} + ). + + +rdf(charm:title, rdfs:subPropertyOf, dc:title) <== true. +rdf(charm:enc(Id), charm:enc(Prop), Obj) <== + setting(csv_database,Pattern), + expand_file_name(Pattern,[DBFile]), + csv_to_rdf(DBFile,Id,Prop,Obj). + +csv_to_rdf(DBFile,Id,Prop,Obj) :- + once(csv_read_file_row(DBFile,Header,[convert(false),line(1)])), + functor(Header,row,NumCols), + functor(Row,row,NumCols), + arg(N,Header,' I.D.'), + arg(N,Row,Id), + csv_read_file_row(DBFile,Row,[convert(false),line(L)]), L>1, + status("Importing charm: ~w",[Id]), + map_row(Header,Row,Prop,Obj). + +null_value(""). +null_value("na"). +null_value("n/a"). +null_value("#VALUE!"). + +map_row(Header,Row,Pred,Obj) :- + arg(I,Header,Col), arg(I,Row,Val1), + map(Col,Pred,Type), + strip_string(Val1,Val), \+null_value(Val), + ( convert(Type,Val,Obj) *-> true + ; print_message(warning,conversion_failed(Col,Type,Val)), + format(atom(Lit),'FAILED(~q)',[Val]), % fail + Obj=literal(Lit) + ). + +% Old MYSQL version +% rdf(charm:num(4,Id), charm:enc(Prop), literal(Val)) <== +% item(Id), +% status("Importing charm:~d",[Id]), +% item(Id,Prop,Val). + + +:- public import/0. +% import :- with_odbc(charm, assert_all(charm_p2r)). +import :- assert_all(charm_p2r). + +:- public audio_file/3. +audio_file(URI,Path,just(flac)) :- + rdf(URI,charm:file_name,literal(FileName)), + setting(audio_root,just(Root)), + atomic_list_concat([Root,'/',FileName,'.',flac],Path). + +audio_link(Type,URI,URL) :- + member(Type,[mp3,flac]), + rdf(URI,charm:file_name,literal(Filename)), + ( sub_atom(Filename,_,_,_,'£') + -> atom_codes(Filename,C1), + fix_url(C1,C2), + atom_codes(Filename2,C2) + ; Filename2=Filename + ), + format(atom(URL),'http://charm.cchcdn.net/audio/~w/~w.~w',[Type,Filename2,Type]). + +fix_url([],[]). +fix_url([0'£|C1],[0'%, 0'A, 0'3|C2]) :- !, fix_url(C1,C2). +fix_url([C|C1],[C|C2]) :- !, fix_url(C1,C2).
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/lib/code_cache.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,35 @@ +:- module(code_cache, + [ clean_code_cache/1 + , cache_code/3 + , cache_code/2 + , call_cached/2 + ]). + +:- use_module(library(insist)). + +:- meta_predicate cache_code(0,-). +:- meta_predicate cache_code(+,0,-). + + +cache_code(Code,Code1) :- cache_code(false,Code,Code1). +cache_code(MultiUse,Code,code_cache:call_cached(ID,MultiUse)) :- + uuid(ID), + get_time(T), + recorda(ID,code_cache(T,Code)). + +call_cached(ID,Keep) :- + insist(recorded(ID,code_cache(_,Code),Ref),code_not_in_cache(ID)), + (Keep=false -> erase(Ref); true), + call(Code). + +clean_code_cache(MaxAge) :- + get_time(Now), + Oldest is Now-MaxAge, + forall( ( recorded(_,code_cache(T,Code),Ref), T<Oldest), + ( debug(code_cache,'Removing old cached code: ~q',[Code]), + erase(Ref))). + +:- multifile sandbox:safe_meta/2. +sandbox:safe_meta(code_cache:call_cached(ID,_),[Code]) :- + insist(recorded(ID,code_cache(_,Code)),code_not_in_cache(ID)). +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/lib/compression.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,464 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University of London + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +:- module(compression, + [ with_transducer/3 + , stream_length/1 + , print_delimited_dcg/1 + , complexity_method/1 + , complexity/3 + , conditional_complexity/4 + , min_complexity/3 + , min_conditional_complexity/4 + , ncd/4 + , conditional_ncd/5 + , write_bytes/1 + , length_prob/3 + , with_stream_encoding/3 + , with_zlib_stream/1 + , zsync//1 + ]). + +/** <module> Tools for applying compression programs to abitrary streams. + + This module provides a framework for applying a range of compression and + delta compression programs to arbitrary streams generated by Prolog code. + In particular, the predicates complexity/3 and conditional_complexity/4 + use compression programs to estimate Kolmogorov complexity and conditional + complexity. + + Compression programs are invoked by a collection of shell scripts included + with this software, in the scripts/compression subdirectory of the dml cpack. + The method to be used is determined by a term of type compression_method: + == + compression_method ---> id % no compression + ; compress(c_method) + ; diff(d_method,pred). + c_method ---> lzma ; gz ; bz. + + d_method ---> bsdiff + ; xdelta % using xdelta3 program + ; vcdiff % using open-vcdiff + ; vczip % using vczip tools from AT&T + ; xdiff % using binary to text encoding and diff + ; zzd(c_method, d_method) + ; zzcd(c_method, d_method) + ; dz(d_method, c_method). + == + + Currently we do not subtract an known overheads associated with redundant + information in compression program outputs, such as 'magic bytes' in a header + used to enable tools to recognise which program was used to compress a given file. +*/ + +:- use_module(library(settings)). +:- use_module(library(memo)). +:- use_module(library(process)). +:- use_module(library(fileutils)). +:- use_module(library(swipe)). +:- use_module(library(dcg_core)). +:- use_module(library(dcg_codes)). +:- use_module(library(zlib)). + +user:file_search_path(compression,dml(scripts/compression)). + +:- initialization time(memo_attach(memo(compression),[])). + +%% print_delimited_dcg(+P:phrase(list(code))) is det. +% +% Runs the DCG phrase to generate a list of character codes, and then +% print the textually encoded length of the resulting list, followed by +% a carriage return, followed by the characters themselves. Thus, the resulting +% sequence of bytes is self-delimiting. +print_delimited_dcg(Phrase) :- + phrase(Phrase,Codes), + length(Codes,Length), + format('~d\n~s',[Length,Codes]). + +:- meta_predicate + complexity(+,0,-), + min_complexity(-,0,-), + conditional_complexity(+,0,0,-), + min_conditional_complexity(-,0,0,-), + conditional_ncd(+,0,0,0,-), + ncd(+,0,0,-). + +:- meta_predicate with_zlib_stream(//). + +%% complexity(+Method:compression_method, +Writer:pred, -K:nonneg) is det. +%% complexity(-Method:compression_method, +Writer:pred, -K:nonneg) is nondet. +%% complexity(-Method:compression_method, -Writer:pred, -K:nonneg) is nondet. +% +% Estimates the Kolmogorov complexity in bits of the sequence of bytes written to the +% current output stream by the goal Writer. If Writer is unbound on entry, then +% browses the set of previously computed results, which are stored in a volatile memo. +% +% Method can be =|id|= for no compression, or =|compress(M)|= for compression using +% program M. If Method is a ground term of the form =|diff(M,RefWriter)|=, then +% complexity is estimated using a delta compression with respect to the bytes written +% by RefWriter. Methods are described in the module header. Conditional complexity +% can more conveniently be estimated using conditional_complexity/4. +complexity(Method,Mod:Writer,K) :- + ( nonvar(Writer), complexity_method(Method), ground(Method) + *->complexity1(Method,Mod:Writer,K) + ; browse(complexity1(Method,Mod:Writer,K)) + ). + +execable(A) :- var(A), !, fail. +execable((A,B)) :- !, execable(A), execable(B). +execable(_). + +:- volatile_memo min_complexity(-ground,+callable,-number). +min_complexity(Best,Writer,KMin) :- + aggregate(min(K,Meth),complexity(Meth,Writer,K),min(KMin,Best)). + +%% conditional_complexity(+M:cc_method, +RefWriter:pred, +Writer:pred, -K:nonneg) is det. +% +% Estimate conditional Kolmogorov complexity of byte sequence produced by Writer +% given bit sequence produced by RefWriter, using one of several methods: +% == +% cc_method ---> id % no compression, complexity is length of data from Writer +% ; compress(c_method) % ignore reference sequence and compress +% ; delta(d_method) % do delta compression using given method +% ; naive(c_method). % use naive estimate using concatentation method +% == +% The naive estimate of K(x|y) is C(yx) - C(y), where C(.) is compressed length and +% xy is simply x concatenated with y. It may give nonsensical zero results. +% It is not the length of any concrete message that can produce x given y. +conditional_complexity(Method,Ref,Writer,K) :- + ( Method=delta(Diff), M=diff(Diff,Ref) +% ; Method=compress(C), M=compress(C) +% ; Method=compress(zlib), M=zlib + ; Method=delta(zlib), M=zlib(Ref) + ; Method=delta(dlzma), M=dlzma(Ref) +% ; Method=id, M=id + ), + complexity(M,Writer,K). + +conditional_complexity(naive(C),Ref,Writer,K) :- + complexity(compress(C),Ref,KY), + complexity(compress(C),(Ref,Writer),KXY), + K is KXY - KY. + +ncd(naive(C),Writer1,Writer2,D) :- + complexity(compress(C),Writer1,K1), + complexity(compress(C),Writer2,K2), + complexity(compress(C),(Writer1,Writer2),K12), + D is (K12 - min(K1,K2))/max(K1,K2). + +ncd(CM-DM,Writer1,Writer2,D) :- + complexity(CM,Writer1,K1), + complexity(CM,Writer2,K2), + conditional_complexity(DM,Writer1,Writer2,K2g1), + conditional_complexity(DM,Writer2,Writer1,K1g2), + D is max(min(K1,K1g2)/K1, min(K2,K2g1)/K2). + +ncd(opt,Writer1,Writer2,D) :- + min_complexity(_,Writer1,K1), + min_complexity(_,Writer2,K2), + min_conditional_complexity(_,Writer1,Writer2,K2g1), + min_conditional_complexity(_,Writer2,Writer1,K1g2), + D is max(min(K1,K1g2)/K1, min(K2,K2g1)/K2). + +conditional_ncd(naive(Method),Ref,Writer1,Writer2,D) :- + conditional_complexity(Method,Ref,Writer1,K1), + conditional_complexity(Method,Ref,Writer2,K2), + conditional_complexity(Method,Ref,(Writer1,Writer2),K12), + D is (K12 - min(K1,K2))/max(K1,K2). + +conditional_ncd(DM,Ref,Writer1,Writer2,D) :- + conditional_complexity(DM,Ref,Writer1,K1), + conditional_complexity(DM,Ref,Writer2,K2), + conditional_complexity(DM,(Ref,Writer1),Writer2,K2g1), + conditional_complexity(DM,(Ref,Writer2),Writer1,K1g2), + D is max(min(K1,K1g2)/K1, min(K2,K2g1)/K2). + +:- volatile_memo min_conditional_complexity(-ground,+callable,+callable,-number). +min_conditional_complexity(Best,Ref,Writer,KMin) :- + aggregate(min(K,Meth),(conditional_complexity(Meth,Ref,Writer,K),Meth\=naive(_)), min(KMin,Best)). + +%% complexity_method(-M:compression_method) is nondet. +complexity_method(diff(Diff,_)) :- command(diff0(Diff,library('swipe.pl')),_,_). +complexity_method(compress(Comp)) :- command(compress(Comp),_,_). +complexity_method(id). +complexity_method(zlib). +complexity_method(zlibi). +complexity_method(zlib(_)). +complexity_method(dlzma(_)). + +:- persistent_memo complexity1(+ground,+callable,-number). +complexity1(id,Writer,K) :- with_transducer(cat,Writer,stream_length(K)). +complexity1(compress(Meth),Writer,K) :- with_transducer(compress(Meth), Writer, stream_length(K)). +complexity1(diff(Diff,RefWriter),Writer,K) :- + with_temp_files([F1], + ( with_output_to_file(F1,RefWriter), + with_transducer(diff0(Diff,F1), Writer, stream_length(K)))). +complexity1(zlib,Writer,K) :- + with_zlib_stream(call_zsync(Writer,K)). + +complexity1(zlibi,Writer,K) :- + with_zlib_stream((call_zsync(write_bytes([255]),_), call_zsync(Writer,K))). + +complexity1(zlib(Ref),Writer,K) :- + with_zlib_stream((call_zsync(Ref,_), call_zsync(Writer,K))). + +complexity1(dlzma(RefWriter),Writer,K) :- + with_temp_files([F1], + ( with_output_to_file(F1,RefWriter), + with_transducer(dlzma(F1,['-b0']), Writer, read_line_to_string(current_input,KString)))), + number_string(K,KString). + + +subs(_,_,T1,T2) :- var(T1), !, T1=T2. +subs(Old,New,T1,T2) :- T1==Old, !, T2=New. +subs(Old,New,T1,T2) :- + T1 =.. [F | Args1], + maplist(subs(Old,New),Args1,Args2), + T2 =.. [F | Args2]. + + +% this is hopeless... +length_prob(Meth,L,Prob) :- + length(X,L), + aggregate( sum(2**(-8*B)), + X^(maplist(between(0,255),X), + with_transducer(compress(Meth), write_bytes(X), stream_length(B)), + format(user_error, '\r~w : ~w', [X,B]) + ), + Prob). + +%% write_bytes(+Bytes:list(between(0,255))) is det. +% Writes a sequence of bytes to current_output. +write_bytes(Bytes) :- with_stream_encoding(current_output,octet,maplist(put_code,Bytes)). + + +% -------------------------------- Using ZLIB ------------------------------ + + +with_zlib_stream(Phrase) :- + setup_call_cleanup( + open_null_stream(Out), + setup_call_cleanup( + zopen(Out,ZOut,[level(9),close_parent(false)]), + with_output_to(ZOut,call_dcg(Phrase,Out-0,_)), + close(ZOut)), + close(Out)). + +zpos(Pos,Out-Pos,Out-Pos). +zsync(Bits,Out-Pos0,Out-Pos1) :- + flush_output, + byte_count(Out,Pos1), + ( Pos1=Pos0 -> Bits=0 % no data since last sync + ; Bits is 8*((Pos1-Pos0)-4)-(3+3) % subtract estimate of final type 0 block. + ). + +call_zsync(Goal,Delta) --> {call(Goal)}, zsync(Delta). + + +% ------ Method comparison ----- +evaluate_delta(KRel,Method) :- + call_with_mode(browse, setof(K-Meth,conditional_complexity(Meth,_:_,_:_,K),KMeths)), + memberchk(_-delta(_),KMeths), + exclude(eval_exclude,KMeths,KMeths1), + KMeths1 = [KBest-_|_], + member(K-Method,KMeths1), + KRel is K/KBest. + +:- public method_rankings/2. +method_rankings(Method,Scores) :- + setof( Method-KRels, + bagof(KRel, evaluate_delta(KRel,Method), KRels), + AllScores), + member(Method-Scores,AllScores). + +eval_exclude(_-Method) :- exclude_method(Method). +exclude_method(naive(_)). +exclude_method(delta(DMethod)) :- exclude_dmethod(DMethod). +exclude_dmethod(xdiff). +exclude_dmethod(dz(DM,_)) :- exclude_dmethod(DM). +exclude_dmethod(zzcd(_,DM)) :- exclude_dmethod(DM). +exclude_dmethod(zzd(_,DM)) :- exclude_dmethod(DM). + +delta_method(compress(C),compress(C)). +delta_method(delta(M),delta(M)). +delta_method(id,id). + + +% ----------------------- Compression framework -------------------------------------- + + +swipe:def(Pipe,Def) :- def(Pipe,Def). + +def( findcat(Dir), sh(0 >> $_, '~s ~s',[compression(findcat)+execute, file(Dir,[file_type(directory)])])). +def( humdump(Dir), findcat(Dir) >> sh($hum >> $hum,'rid -G')). +def( length, sh($_ >> $number, 'wc -c')). +def( prepend(File^T), sh($T >> $T,'cat ~s -',[File+read])). +def( prepend(_<Pipe), Pipe * cat). % sh($T >> $T,'cat ~s -',[T<Pipe])). +def( unprepend(File^T), sh($T >> $T, 'tail -c +$((1+~s))',[$(File^T :> length)])). +def( unprepend(T<Pipe), sh($T >> $T, 'tail -c +$((1+~s))',[$(Pipe >> length)])). +def( compress(Method), sh( $X >> $z(Method,X), Cmd)) :- compressor(Method,Cmd,_). +def( decompress(Method), sh( $z(Method,X) >> $X, Cmd)) :- compressor(Method,_,Cmd). + +def( diff0(Diff,Ref), diff(Diff,Ref)). +% def( diff0(dz(Diff,Comp),Ref), diff(Diff,Ref) >> compress(Comp)). +def( diff(Diff,Ref), diff(Diff, encode, Ref+read)). +% def( diff(zzd(Comp,Diff),Ref), compress(Comp) >> buf(2,diff(Diff, encode, T<(Ref^T :> compress(Comp))))). +def( diff(zzcd(Comp,Diff),Ref), prepend(Ref^T) >> compress(Comp) >> buf(2,diff(Diff, encode, _<(Ref^T :> compress(Comp))))). + +def( patch(Method,Ref), diff(Method, decode, Ref+read)). +def( patch(zzd(Comp,Diff),Ref), buf(2,diff(Diff, decode, _<(Ref^_ :> compress(Comp)))) >> decompress(Comp)). +def( patch(zzcd(Comp,Diff),Ref), buf(2,diff(Diff, decode, _<(Ref^T :> compress(Comp)))) >> decompress(Comp) >> unprepend(Ref^T)). + +def( diff(Method,encode,RefSource), sh( $X >> $dz(Method,X), [compression(Script)+execute, encode, RefSource | Args])) :- differ(Method,Script,Args,_). +def( diff(Method,decode,RefSource), sh( $dz(Method,X) >> $X, [compression(Script)+execute, decode, RefSource | Args])) :- differ(Method,Script,_,Args), Method\=zvcz. +def( buf(N,Pipe), sh(Type,'~s ~d ~s',[compression(bufs)+execute, \N, \Cmd])) :- command(Pipe,Type,Cmd). + +def( diff1(Diff,Ref), diff2(Diff, Ref)). +def( diff1(zzd(Comp,Diff),Ref), compress(Comp) >> diff2(Diff, Ref >> compress(Comp))). +def( diff1(zzcd(Comp,Diff),Ref), prepend(_<Ref) >> compress(Comp) >> diff2(Diff, Ref >> compress(Comp))). +def( patch1(Diff,Ref), patch2(Diff, Ref)). +def( patch1(zzd(Comp,Diff),Ref), patch2(Diff, Ref >> compress(Comp)) >> decompress(Comp)). +def( patch1(zzcd(Comp,Diff),Ref), patch2(Diff, Ref >> compress(Comp)) >> decompress(Comp) >> unprepend(_<Ref)). + +def( diff2(Method,Ref), sh( $X >> $dz(Method,X), [compression(encode)+execute, Script, X<Ref | Args])) :- differ(Method,Script,Args,_). +def( patch2(Method,Ref), sh( $dz(Method,X) >> $X, [compression(decode)+execute, Script, X<Ref | Args])) :- differ(Method,Script,_,Args), Method\=zvcz. + +def( dlzma(Ref,Opts), sh($X >> $dz(dlzma,X), [compression(dlzma)+execute | Args])) :- + append(Opts,[Ref],Args). + +% compressor(xz,xz,xzcat). +compressor(lzma,lzma,lzcat). +compressor(xzraw,'xz -q -F raw','xzcat -F raw'). +compressor(gz,gzip,zcat). +compressor(bz,bzip2,bzcat). + +contains(Diff,Diff). +contains(dz(D1,_),D2) :- contains(D1,D2). +contains(zzd(_,D1),D2) :- contains(D1,D2). +contains(zzcd(_,D1),D2) :- contains(D1,D2). + + +% :- setting(max_vczip_chain_length, nonneg, 2, 'Maximum length of vczip processing chain'). + +differ(Method,Exec,[],[]) :- differ(Method,Exec). +differ(Method-Opts, Exec, EncArgs, []) :- differ(Method,Exec), options_for(Method,Opts,EncArgs). +differ(vczip(vcdiff),zvcz,['-Vcdiff'],[]). +differ(vczip(delta),zvcz,['-mdelta'],[]). +differ(vczip(sieve),zvcz,['-msieve.delta'],[]). +% differ(vczip(Delta,Chain,Encode),zvcz,[\Codes],[]) :- +% setting(max_vczip_chain_length,N), +% between(1,N,L), +% length(Chain,L), +% vczip_chain(Delta,Chain,Encode,Codes,[]). + +% differ(bsdiff,zbs). +% differ(xdelta,zxd). +differ(vcdiff,zvcd). +% differ(vczip,zvcz). +% differ(xdiff,zdiff). + +options_for(Method,Opts,Args) :- + Opts=[_|_], + setof(opt(Opt,Gen,A1,A2),method_option(Method,Opt,Gen,A1,A2),Possible), + seqmap(maybe_option,Possible,Opts-Args,[]-[]). + +maybe_option(_) --> []. +maybe_option(opt(Opt,Gen,A1,A2),[Opt|Opts]-A1,Opts-A2) :- call(Gen). + +method_option(xdelta, secondary(A), member(A,[djw,fgk])) --> ['-S',A]. +method_option(vcdiff, target_matches, true) --> ['-target_matches']. + +% vczip_chain(Delta,Chain,Encode) --> +% "-m", +% vczip_delta(Delta), ",", +% seqmap_with_sep(",",vczip_transform,Chain), ",", +% vczip_encode(Encode). + +% vczip_delta(delta) --> "delta". +% vczip_delta(sieve) --> "sieve.delta". + +% vczip_transform(bwt) --> "bwt". +% vczip_transform(mtf) --> "mtf". +% vczip_transform(rle) --> "rle". +% vczip_transform(rle(N)) --> "rle.", {between(0,1,N)}, at(N). + +% vczip_encode(huffman) --> "huffman". +% vczip_encode(huffgroup) --> "huffgroup". +% vczip_encode(huffpart) --> "huffpart". + + +compressor_overhead(gz,18). % see http://www.onicos.com/staff/iz/formats/gzip.html, https://tools.ietf.org/html/rfc1952 +compressor_overhead(bz,4). % http://en.wikipedia.org/wiki/Bzip2 (need to know number of blocks for better estimate) +compressor_overhead(lzma,0). % http://svn.python.org/projects/external/xz-5.0.3/doc/lzma-file-format.txt + +% ------------------------- Pipe and file tools ---------------------------------- + +splice_in(Pipe) :- with_pipe_input(S,Pipe,copy_stream_data(current_input,S)). +splice_out(Pipe) :- + with_pipe_output(S,Pipe, + ( with_stream_encoding(S,octet, + with_stream_encoding(current_output,octet, + copy_stream_data(S,current_output))))). + +:- op(1050,xfy,&). + + +%% with_transducer(+P:pipe, +Writer:pred, +Reader:pred) is det. +% Runs a pipeline defined using the framework provided by library(swipe), +% while concurrently sending data written by Writer to the process +% on its standard input and making data from the standard output of the +% process available to Reader on current_input. +:- meta_predicate with_transducer(+,0,0). +with_transducer(Pipe,Writer,Reader) :- + with_pipe_io( To-From, Pipe, + ( call_cleanup(with_output_to(To,Writer), close(To)) + & call_cleanup(with_input_from(From,Reader), close(From)) + )). + + +A & B :- concurrent(2, [A,B], []). + +%% with_stream_encoding(+S:stream,+E:encoding,+G:pred) is det. +% Call goall G with encoding of stream S temporarily set to E. Encoding +% is restored afterwards. +:- meta_predicate with_stream_encoding(+,+,0). +with_stream_encoding(S,Enc,Goal) :- + stream_property(S,encoding(Old)), + setup_call_cleanup(set_stream(S,encoding(Enc)), Goal, set_stream(S,encoding(Old))). + +%% stream_length(-L:natural) is det. +% Reads all the data available on Prolog stream current_input and returns the +% number of bits consumed. +stream_length(S,Bits) :- with_input_from(S,stream_length(Bits)). +stream_length(Bits) :- + with_stream_encoding(current_input,octet,accum_length(0,Bytes)), + Bits is 8*Bytes. + +accum_length(L,L) :- at_end_of_stream, !. +accum_length(L1,L3) :- + read_pending_input(current_input, Codes, []), + length(Codes,L), + L2 is L1 + L, + accum_length(L2,L3). + +with_temp_files(Files,Goal) :- + must_be(list(var),Files), + setup_call_cleanup( + maplist(tmp_file_stream(binary),Files,Streams), + (maplist(close,Streams), call(Goal)), + maplist(delete_file,Files)).
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/lib/computations.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,537 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University of London + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +:- module(computations, + [ computation/3 + , computation_memo/3 + , vamp/3 + , transform/2 + , transform_param/3 + , sparse_to_dense/4 + , fold_commutative/3 + , map_reduce/4 + , map_reduce/5 + , unzip/3 + , pair/3 + , add/3, mul/3, div_by/3 + , fst/3, snd/3 + , with_csv_rows/3 + , csv_op/3 + , (*)/4 + , array_list/2 + , microtone_map/4 + , rows_cols/3 + , tempo_curves_stats/3 + , map_edges/3 + , csv_pitch_count_prob/5 + , pitch_hist_prob/4 + , pitch_name_number/2 + , pitch_number_name/2 + , freq_note_number/2 + , histof/4 + , histof/3 + , weighted_histof/5 + , weighted_histof/4 + ]). + +:- use_module(library(rdfutils)). +:- use_module(library(dcg/basics)). +:- use_module(library(dcg_core)). +:- use_module(library(dcg_macros)). +:- use_module(library(csvutils)). +:- use_module(library(listutils)). +:- use_module(library(lambda)). +:- use_module(library(memo)). +:- use_module(library(mlserver)). +:- use_module(library(sandbox)). +:- use_module(library(backend_json)). +:- use_module(library(real)). + +:- volatile_memo pitch_name_number(+atom,-integer). + +:- initialization <-library(pracma). + +:- rdf_meta vamp(?,r,r). + +%% vamp(+T:transform_class, +R:uri, -X:uri) is nondet. +%% vamp(-T:transform_class, -R:uri, -X:uri) is nondet. +% +% See transform/2 for values transform_class type. +vamp(Class,In,Out) :- + transform(Class,F), + computation(F,In,Out). + +%% transform(+T:transform_class, -R:uri) is det. +%% transform(-T:transform_class, -R:uri) is nondet. +% +% Mapping between short transform descriptors and full VAMP transform URIs for +% transforms currently known to the system. Currently recognised transform classes are: +% == +% transform_class ---> transcription % equivalent to transcription(0) +% ; transcription({0,1}) % 0: semitone, 1:microtonal +% ; beats({beatroot,qm}) % beats using one of two plugins +% ; beats % beats using any plugin +% ; tempo +% ; chords +% ; chord_notes +% ; key +% ; tonic +% ; chromagram +% ; mfcc. +% == +transform(Class,Transform) :- + ground(Class), !, + transforms(Class,Transforms), + member(Transform,Transforms). +transform(Class,Transform) :- + transform1(Class,Transform). + +% memoised collection of all transforms +:- volatile_memo transforms(+ground,-list(atom)). +transforms(Class,Transforms) :- + findall(T,transform1(Class,T),Transforms). + +%% transform1(-Class:transform_class,-R:uri) is nondet. +% Searches the RDF database for resources of class vamp:Transform which +% match the various transform classes. See transform/2. +transform1(beats,Transform) :- transform1(beats(_),Transform). +transform1(transcription,Transform) :- transform1(transcription(0),Transform). +transform1(transcription(Fine),Transform) :- + transform1(notes,Transform), + transform_param(Transform,finetune,Lit), + literal_number(Lit,Fine). + +transform1(Class,Transform) :- + def_transform(Class,Plugin,Output), + rdf(Transform,vamp:plugin,Plugin), + rdf(Transform,vamp:output,Output). + +:- rdf_meta transform_param(r,r,-). +transform_param(Transform,ParamId,Value) :- + rdf(Transform,vamp:parameter_binding,Binding), + rdf(Binding,vamp:parameter,Param), + rdf(Param,vamp:identifier,literal(ParamId)), + rdf(Binding,vamp:value,literal(Value)). + + +:- rdf_meta def_transform(-,r,r). + +% transform class, plugin, output +def_transform(notes, vamp_plugins:'silvet#silvet', vamp_plugins:'silvet#silvet_output_notes'). +def_transform(pitch_activation, vamp_plugins:'silvet#silvet', vamp_plugins:'silvet#silvet_output_pitchactivation'). +def_transform(silvet_timefreq, vamp_plugins:'silvet#silvet', vamp_plugins:'silvet#silvet_output_timefreq'). +def_transform(beats(beatroot), vamp_plugins:'beatroot-vamp#beatroot', vamp_plugins:'beatroot-vamp#beatroot_output_beats'). +def_transform(beats(qm), vamp_plugins:'qm-vamp-plugins#qm-tempotracker', vamp_plugins:'qm-vamp-plugins#qm-tempotracker_output_beats'). +def_transform(tempo, vamp_plugins:'qm-vamp-plugins#qm-tempotracker', vamp_plugins:'qm-vamp-plugins#qm-tempotracker_output_tempo'). +def_transform(onset_dfn(tempo), vamp_plugins:'qm-vamp-plugins#qm-tempotracker', vamp_plugins:'qm-vamp-plugins#qm-tempotracker_output_detection_fn'). +def_transform(chords, vamp_plugins:'nnls-chroma#chordino', vamp_plugins:'nnls-chroma#chordino_output_simplechord'). +def_transform(chord_notes, vamp_plugins:'nnls-chroma#chordino', vamp_plugins:'nnls-chroma#chordino_output_chordnotes'). +def_transform(harmonic_change, vamp_plugins:'nnls-chroma#chordino', vamp_plugins:'nnls-chroma#chordino_output_harmonicchange'). +def_transform(key, vamp_plugins:'qm-vamp-plugins#qm-keydetector', vamp_plugins:'qm-vamp-plugins#qm-keydetector_output_key'). +def_transform(key_strength, vamp_plugins:'qm-vamp-plugins#qm-keydetector', vamp_plugins:'qm-vamp-plugins#qm-keydetector_output_keystrength'). +def_transform(tonic, vamp_plugins:'qm-vamp-plugins#qm-keydetector', vamp_plugins:'qm-vamp-plugins#qm-keydetector_output_tonic'). +def_transform(mode, vamp_plugins:'qm-vamp-plugins#qm-keydetector', vamp_plugins:'qm-vamp-plugins#qm-keydetector_output_mode'). +def_transform(mfcc, vamp_plugins:'qm-vamp-plugins#qm-mfcc', vamp_plugins:'qm-vamp-plugins#qm-mfcc_output_coefficients'). +def_transform(mfcc_means, vamp_plugins:'qm-vamp-plugins#qm-mfcc', vamp_plugins:'qm-vamp-plugins#qm-mfcc_output_means'). +def_transform(onsets, vamp_plugins:'qm-vamp-plugins#qm-onsetdetector',vamp_plugins:'qm-vamp-plugins#qm-onsetdetector_output_onsets'). +def_transform(onset_dfn, vamp_plugins:'qm-vamp-plugins#qm-onsetdetector',vamp_plugins:'qm-vamp-plugins#qm-onsetdetector_output_detection_fn'). +def_transform(onset_smoothed_dfn, vamp_plugins:'qm-vamp-plugins#qm-onsetdetector',vamp_plugins:'qm-vamp-plugins#qm-onsetdetector_output_smoothed_df'). +def_transform(chromagram, vamp_plugins:'qm-vamp-plugins#qm-chromagram', vamp_plugins:'qm-vamp-plugins#qm-chromagram_output_chromagram'). +def_transform(chromameans, vamp_plugins:'qm-vamp-plugins#qm-chromagram', vamp_plugins:'qm-vamp-plugins#qm-chromagram_output_chromameans'). +def_transform(chromagram(upper), vamp_plugins:'nnls-chroma#nnls-chroma', vamp_plugins:'nnls-chroma#nnls-chroma_output_chroma'). +def_transform(chromagram(bass), vamp_plugins:'nnls-chroma#nnls-chroma', vamp_plugins:'nnls-chroma#nnls-chroma_output_basschroma'). +def_transform(chromagram(both), vamp_plugins:'nnls-chroma#nnls-chroma', vamp_plugins:'nnls-chroma#nnls-chroma_output_bothchroma'). +def_transform(spectrogram(semitone), vamp_plugins:'nnls-chroma#nnls-chroma', vamp_plugins:'nnls-chroma#nnls-chroma_output_semitonespectrum'). +def_transform(spectrogram(log_freq), vamp_plugins:'nnls-chroma#nnls-chroma', vamp_plugins:'nnls-chroma#nnls-chroma_output_logfreqspec'). +def_transform(spectrogram(tuned), vamp_plugins:'nnls-chroma#nnls-chroma', vamp_plugins:'nnls-chroma#nnls-chroma_output_tunedlogfreqspec'). +def_transform(melody, vamp_plugins:'mtg-melodia#melodia', vamp_plugins:'mtg-melodai#melodia_output_melody'). +def_transform(spectrogram(const_q), vamp_plugins:'qm-vamp-plugins#qm-constantq', vamp_plugins:'qm-vamp-plugins#qm-constantq_output_constantq'). +def_transform(segments, vamp_plugins:'qm-vamp-plugins#qm-segmenter', vamp_plugins:'qm-vamp-plugins#qm-segmenter_output_segmentation'). +def_transform(speech_music, vamp_plugins:'bbc-vamp-plugins#bbc-speechmusic-segmenter', + vamp_plugins:'bbc-vamp-plugins#bbc-speechmusic-segmenter_output_segmentation'). +def_transform(speech_music_dfn, vamp_plugins:'bbc-vamp-plugins#bbc-speechmusic-segmenter', + vamp_plugins:'bbc-vamp-plugins#bbc-speechmusic-segmenter_output_skewness'). + + +%% computation_memo(+Transform:uri,+Input:uri,-Output:uri) is det. +% Memoised functional Relation between transforms, inputs and outputs. + +:- multifile do_computation/3. + +:- rdf_meta computation_memo(r,r,r). +computation_memo(Fn,Input,Output) :- + must_be(atom,Fn), + must_be(atom,Input), + must_be(var,Output), + ( computation(Fn,Input,Output) -> true + ; memo:timed(computations:do_computation(Fn,Input,Output),comp(_,Time,Dur)), + format_time(atom(Timestamp),'%FT%T%:z',Time), + memo:hostname(Host), + phrase( ( vamp:computation_triples(Comp,Input,Fn,Output), + vamp:rdf(Comp,dml:'comp/time',literal(type(xsd:dateTime,Timestamp))), + vamp:rdf(Comp,dml:'comp/duration',literal(type(xsd:float,Dur))), + vamp:rdf(Comp,dml:'comp/host',literal(Host)) + ), Triples,[]), + forall(member(rdf(S,P,O),Triples), rdf_assert(S,P,O,vamp_memo)) + ). + + +%% computation(-Transform:uri,-Input:uri,-Output:uri) is nondet. +% Relation between transforms, inputs and outputs using RDF database +% of existing computations. + +:- rdf_meta computation(r,r,r). +computation(Fn,Input,Output) :- nonvar(Output), !, + rdf(Comp,dml:'comp/output',Output), + rdf(Comp,dml:'comp/function',Fn), + rdf(Comp,dml:'comp/input',Input). + +computation(Fn,Input,Output) :- nonvar(Input), !, + rdf(Comp,dml:'comp/input',Input), + rdf(Comp,dml:'comp/function',Fn), + rdf(Comp,dml:'comp/output',Output). + +computation(Fn,Input,Output) :- + rdf(Comp,dml:'comp/input',Input), + rdf(Comp,dml:'comp/function',Fn), + rdf(Comp,dml:'comp/output',Output). + +% ------------ Framework for doing computations on CSV files ----------- +:- meta_predicate with_csv_rows(2,+,-). +with_csv_rows(Pred,CSV,Result) :- + insist(uri_to_csv(CSV,Rows)), + insist(call(Pred,Rows,Result), failed_on_csv(Pred,CSV)). + +csv_op(Op,CSV,Result) :- + ( memoise(Op) + -> csv_op_memo(Op,CSV,Result) % ,_-ok) + ; with_csv_rows(row_op(Op),CSV,Result) + ), + debug(computations(item),'Done csv_op(~q,~q).',[Op,CSV]). + +sandbox:safe_primitive(computations:csv_op(_,_,_)). + +:- persistent_memo csv_op_memo(+ground,+atom,-ground). +csv_op_memo(Op,CSV,Result) :- with_csv_rows(row_op(Op),CSV,Result). + +:- initialization time(memo_attach(memo(computations2),[])). + +memoise(pitch_hist(_)). +memoise(freq_hist(_,_)). +memoise(tempo_hist(_,_)). +memoise(uniform_tempo(_)). +memoise(uniform_tempo_r(_)). +memoise(normalised_tempo(_)). +memoise(normalised_tempo_r(_)). + +row_op(id,Rows,Rows) :- !. +row_op(column(N),Rows,Vals) :- !, maplist(arg(N),Rows,Vals). +row_op(array,Rows,Array) :- !, maplist(row_list(_),Rows,Array). +row_op(chord_hist,Rows,Hist) :- !, histof(Chord,T,member(row(T,Chord),Rows),Hist). +row_op(pitch_hist(none),Rows,Hist) :- !, histof(Pitch,t(T,Dur),note(Rows,T,Dur,Pitch),Hist). +row_op(pitch_hist(W),Rows,Hist) :- !, weighted_histof(Weight,Pitch,t(T,Dur),weighted_note(W,Rows,T,Dur,Pitch,Weight),Hist). +row_op(beat_times,Rows,Times) :- !, row_op(column(1),Rows,Times). +row_op(onset_times,Rows,Times) :- !, row_op(column(1),Rows,Times). +row_op(tempo,Rows,Tempo) :- !, maplist(row_pair(1,2),Rows,Tempo). +row_op(uniform_tempo(DT),Rows,Samples) :- !, row_op(tempo,Rows,Tempo), uniform_sample(ml,cubic,DT,Tempo,Samples). +row_op(uniform_tempo_r(DT),Rows,Samples) :- !, row_op(tempo,Rows,Tempo), uniform_sample(r,cubic,DT,Tempo,Samples). +row_op(uniform_tempo(Meth,DT),Rows,Samples) :- !, row_op(tempo,Rows,Tempo), uniform_sample(ml,Meth,DT,Tempo,Samples). +row_op(uniform_tempo_r(Meth,DT),Rows,Samples) :- !, row_op(tempo,Rows,Tempo), uniform_sample(r,Meth,DT,Tempo,Samples). +row_op(normalised_tempo(N),Rows,Samples) :- !, row_op(tempo,Rows,Tempo), normalised_sample(ml,N,Tempo,Samples). +row_op(normalised_tempo_r(N),Rows,Samples) :- !, row_op(tempo,Rows,Tempo), normalised_sample(r,N,Tempo,Samples). +row_op(tempo_hist(DT,Map),Rows,Edges-Counts) :- !, + row_op(uniform_tempo(DT),Rows,_-Tempo), + M===Map, + [arr(Counts), arr(Edges)] === + deal(accumhist(flatten(feval(M,Tempo)),1,cardr(M)), flatten(edges(M))). + +row_op(tempo_hist_r(DT,Map),Rows,Edges-Counts) :- !, + map_to_r_edges(Map,REdges), + row_op(uniform_tempo_r(DT),Rows,_-Tempo), + Counts <- table(cut(Tempo,breaks=REdges)), + Edges <- REdges. + % memberchk(counts=Counts,Hist), + % memberchk(breaks=Edges,Hist). + +row_op(freq_hist(Map1,W),Rows,Counts) :- + column(transcription,freq,J), + ( W=none + -> maplist(arg(J),Rows,Freqs), Weights=1 + ; column(transcription,W,I), + rows_cols([J,I],Rows,[Freqs,Weights]) + ), + Map===Map1, % evaluate map and keep in Matlab workspace + X=feval(Map,12*log2(Freqs)-(12*log2(440)-69)), + array_list(accumhist(flatten(X),flatten(Weights),cardr(Map)),Counts). + +row_op(freq_hist_r(Map1,W),Rows,Counts) :- + column(transcription,freq,J), + map_to_r_edges(Map1,REdges), + Pitches=12*log2(Freqs)-(12*log2(440)-69), + ( W=none + -> maplist(arg(J),Rows,Freqs), + Hist <- hist(Pitches,breaks=REdges,plot=0) + ; column(transcription,W,I), + rows_cols([J,I],Rows,[Freqs,Weights]), + Hist <- hist(Pitches,Weights,breaks=REdges,plot=0) + ), + memberchk(counts=Counts,Hist). + +map_edges(r,Map,Edges) :- + map_to_r_edges(Map,Expr), + Edges <- Expr. +map_edges(ml,Map,Edges) :- + array_list(edges(Map),Edges). + +map_to_r_edges(expmap(Min,Max,N),sapply(seq(log(Min),log(Max),len=N+1),exp)). +map_to_r_edges(binmap(Min,Max,N),seq(Min-HalfWidth,Max+HalfWidth,len=N+1)) :- HalfWidth=(Max-Min)/(2*(N-1)). + +column(Format, Name, Number) :- csv(Format,Row), arg(Number,Row,Name). +csv(transcription, row(time,dur,freq,vel,pitch)). + +gather(P,Rows,Xs) :- findall(X,(member(R,Rows),call(P,R,X)),Xs). + + +microtone_map(Min,Max,Res,binmap(Min,Max,N)) :- N is (Max-Min)*Res+1. + +% qfreq(Q,Rows,T,Dur,QFreq) :- member(row(T,Dur,Freq,_,_),Rows), qlogfreq(Q,Freq,QFreq). +% weighted_qfreq(dur,Q,Rows,T,Dur,QFreq,Dur) :- member(row(T,Dur,Freq,_,_),Rows), qlogfreq(Q,Freq,QFreq). +% weighted_qfreq(vel,Q,Rows,T,Dur,QFreq,Vel) :- member(row(T,Dur,Freq,Vel,_),Rows), qlogfreq(Q,Freq,QFreq). +% qlogfreq(Q,In,Out) :- B is 12/log(2), Out is 69+round(Q*B*(log(In)-log(440)))/Q. +% goal_expansion(qlogfreq(Q,In,Out), Out is 69+round(Q*B*(log(In)-A))/Q) :- B is 12/log(2), A=log(440). + +uniform_sample(DT,In,Out) :- uniform_sample(ml,linear,DT,In,Out). + +uniform_sample(_,_,_,[Time-Val],[Time]-[Val]) :- !. +uniform_sample(Lang,Meth,DT,Pairs,Times1-Vals1) :- + unzip(Pairs,Times,Vals), + aggregate(max(T), member(T,Times), MaxT), + interp1(Lang,Meth,0:DT:MaxT,Times,Vals,Times1,Vals1). + +normalised_sample(N,In,Out) :- normalised_sample(ml,N,In,Out). + +normalised_sample(_,N,[Time-Val],Times-Vals) :- !, + rep(N,Time,Times), + rep(N,Val,Vals). +normalised_sample(Lang,N,Pairs,Times1-Vals1) :- + unzip(Pairs,Times,Vals), + aggregate(max(T), member(T,Times), MaxT), + interp1(Lang,cubic,linspace(0,MaxT,N),Times,Vals,Times1,Vals1). + +interp1(ml,Meth,TSpec,Times,Vals,Times1,Vals1) :- + length(Times,N), + (N<4 -> Method=q(linear); Method=q(Meth)), + T1===flatten(TSpec), + [arr(Times1), arr(Vals1)]===deal(T1,interp1(Times,Vals,T1,Method)). +interp1(r,Meth,TSpec,Times,Vals,Times1,Vals1) :- + ml_r(TSpec,RTSpec), + length(Times,N), + (N<4 -> Method = +linear; Method = +Meth), + Times1 <- RTSpec, + Vals1 <- interp1(Times,Vals,Times1,Method). + +ml_r(X1:DX:X2, seq(X1,X2,DX)). +ml_r(linspace(X1,X2,N), seq(X1,X2,len=N)). + +array_list(Array,List) :- arr(List)===flatten(Array). + +:- meta_predicate '*'(2,2,+,-). +*(F1,F2,X,Y) :- call(F1,X,Z), call(F2,Z,Y). + +note(Rows,T,Dur,NN) :- member(row(T,Dur,_,_,Pitch),Rows), pitch_name_number(Pitch,NN). + +weighted_note(dur,Rows,T,Dur,NN,Dur) :- member(row(T,Dur,_,_,Pitch),Rows), pitch_name_number(Pitch,NN). +weighted_note(vel,Rows,T,Dur,NN,Vel) :- member(row(T,Dur,_,Vel,Pitch),Rows), pitch_name_number(Pitch,NN). +weighted_note(dur*vel,Rows,T,Dur,NN,Weight) :- + member(row(T,Dur,_,Vel,Pitch),Rows), pitch_name_number(Pitch,NN), + Weight is Dur*Vel. + + +tempo_curves_stats(ml,Curves, _{means:Means,std_devs:StdDevs}) :- + Data===arr(Curves), + array_list(mean(Data,2),Means), + array_list(std(Data,0,2),StdDevs). + +tempo_curves_stats(r,Curves, _{means:Means,std_devs:Stds}) :- + data <- Curves, + Means <- apply(data,2,mean), + Stds <- apply(data,2,sd). + +:- meta_predicate histof(-,0,-) + , histof(-,-,0,-) + , weighted_histof(-,-,0,-) + , weighted_histof(-,-,-,0,-) + . + +%% histof(@Dom:A,+Goal:callable,-Hist:list(pair(A,natural))) is nondet. +% Compile a histogram over values taken by the variable Dom while enumerating +% all solutions of Goal. Repeated solutions of Goal with the same values +% count as distinct observations. See also histof/4. +histof(Dom,Goal,Hist) :- + setof(Dom-N,aggregate(count,Goal,N),Hist). + +%% histof(@Dom:A,@Disc:_,+Goal:callable,-Hist:list(pair(A,natural))) is nondet. +% Compile a histogram over values taken by the variable Dom while enumerating +% all solutions of Goal. The value of Disc is used to discriminate between +% solutions of Goal with the same value of Dom. See also histof/3 and aggregate/4 +% for more information about discriminator variables. +histof(Dom,Disc,Goal,Hist) :- + setof(Dom-N,aggregate(count,Disc,Goal,N),Hist). + +weighted_histof(W,Dom,Goal,Hist) :- + setof(Dom-N,aggregate(sum(W),Goal,N),Hist). + +weighted_histof(W,Dom,Disc,Goal,Hist) :- + setof(Dom-N,aggregate(sum(W),Disc,Goal,N),Hist). + +sparse_to_dense(Min,Max,Hist,Counts) :- + s_to_d(Min,Max,Hist,Counts). + +s_to_d(I,Max,[],[]) :- I>Max, !. +s_to_d(I,Max,[],[0|Counts]) :- !, succ(I,J), s_to_d(J,Max,[],Counts). +s_to_d(I,Max,[I-C|Hist],[C|Counts]) :- !, succ(I,J), s_to_d(J,Max,Hist,Counts). +s_to_d(I,Max,Hist,[0|Counts]) :- succ(I,J), s_to_d(J,Max,Hist,Counts). + + +add(X,Y,Z) :- Z is X+Y. + +:- meta_predicate + map_reduce(1,2,3,-), + map_reduce(1,2,3,-,-), + fold_commutative(3,+,-). + +%% map_reduce(+Generator:pred(-R), +Mapper:pred(+R,-A), +Reducer:pred(+A,+A,-A), -Result:A, -Errors:list(error_report(R))) is det. +%% map_reduce(+Generator:pred(-R), +Mapper:pred(+R,-A), +Reducer:pred(+A,+A,-A), -Result:A) is semidet. +% +% Simple implementation of map-reduce: Mapper is applied to each item produced by Generator +% and the results all combined using Reducer. Mapper should be a deterministic predicate. +% Failures and exceptions encountered in the mapping phase are reported in Errors. +% However, if the items are successfully mapped, this predicate fails. +% Any choice points left by mapper after its first solution are cut. +% +% == +% error_report(R) ---> failed(R); error(R,exception). +% == +map_reduce(Finder,Mapper,Reducer,Result) :- + map_reduce(Finder,Mapper,Reducer,Result,_). + +map_reduce(Finder,Mapper,Reducer,Result,Errors-Failures) :- + setof(X,call(Finder,X),Xs), + maplist(safe_call(Mapper),Xs,Ys), + partition_ok(Ys,Ok,Errors,Failures), + insist(fold_commutative(Reducer,Ok,Result)). + +%% safe_call(+P:pred(+A,-B), +X:A, -Y:result(A,B)) is det. +% +% Call binary predicate P with arguments of type A and B. The result +% term Y is of type +% == +% result(A,B) ---> ok(B); failed(A); error(A,exception). +% == +% and encodes the result of the call, including the input value that +% caused any failure or exception. +safe_call(Mapper,X,Z) :- + ( catch((call(Mapper,X,Y), Z=ok(Y)), Ex, + (Ex=abort_map -> throw(map_aborted); Z=error(X,Ex))), ! + ; Z=failed(X) + ). + +partition_ok([],[],[],[]). +partition_ok([In|Ins],Goods,Bads,Uglies) :- + ( In=ok(X) + -> Goods=[X|Goods1], partition_ok(Ins,Goods1,Bads,Uglies) + ; In=error(_,_) + -> Bads=[In|Bads1], partition_ok(Ins,Goods,Bads1,Uglies) + ; In=failed(X) + -> Uglies=[X|Uglies1], partition_ok(Ins,Goods,Bads,Uglies1) + ). + +fold_commutative(Op,Items,Result) :- + Items=[I1|Rest], + seqmap(Op,Rest,I1,Result), !. + +freq_note_number(F,N) :- N is 69+round(12*log(F/440)/log(2)). + +pitch_name_number(Name,Number) :- + atom_codes(Name,Chars), + phrase(note(Number),Chars). + +pitch_number_name(Number,Name) :- + phrase(note(Number),Chars), + atom_codes(Name,Chars). + +:- use_module(library(clpfd)). +note(Num) --> + [Nom], ({Mod=0}; [0'#],{Mod=1}), + { PC in 0..11, + Num #= 12*(Oct+1)+PC+Mod, + nom_semis(Nom,PC) + }, + integer(Oct). + +nom_semis(0'C,0). +nom_semis(0'D,2). +nom_semis(0'E,4). +nom_semis(0'F,5). +nom_semis(0'G,7). +nom_semis(0'A,9). +nom_semis(0'B,11). + +unzip(Pairs,Xs,Ys) :- maplist(pair,Xs,Ys,Pairs). +pair(X,Y,X-Y). + +row_pair(I,J,Row,X-Y) :- arg(I,Row,X), arg(J,Row,Y). +row_list(N,Row,List) :- functor(Row,_,N), Row=..[_|List]. +rows_cols(Is,[],Cols) :- !, maplist(nil,Is,Cols). +rows_cols(Is,[R|Rs],Cols) :- + ( maplist(arg_cons(R),Is,Tails,Cols) + -> rows_cols(Is,Rs,Tails) + ; fail % rows_cols(Is,Rs,Cols) + ). + +arg_cons(Row,I,T,[X|T]) :- arg(I,Row,X). +nil(_,[]). + +fst(F,K1-V,K2-V) :- call(F,K1,K2). +snd(F,K-V1,K-V2) :- call(F,V1,V2). +div_by(K,X,Y) :- Y is X/K. + +mul(X,Y,Z) :- Z is round(X*Y). + +:- dynamic pitch_hist_table/5, pitch_hist_tabled/1. + +csv_pitch_count_prob(W,CSV,Pitch,Count,Prob) :- + must_be(ground,W), + ( pitch_hist_tabled(W) -> true + ; table_pitch_hist(W) + ), + pitch_hist_table(W,CSV,Pitch,Count,Prob). + +table_pitch_hist(W) :- + retractall(pitch_hist_table_cached(W)), + forall( browse(csv_op_memo(pitch_hist(W),CSV,Hist)), + ( retractall(pitch_hist_table(W,CSV,_,_,_)), + forall( pitch_hist_prob(Hist,Pitch,Count,Prob), + assert(pitch_hist_table(W,CSV,Pitch,Count,Prob))))), + assert(pitch_hist_tabled(W)). + +pitch_hist_prob(Hist,Pitch,Count,Prob) :- + unzip(Hist,_,Counts), + sumlist(Counts,Total), + member(Pitch-Count,Hist), + Prob is Count/Total.
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/lib/crawler.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,223 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University of London + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +:- module(crawler, + [ crawl_loaded/2 + , crawl_ui//2 + , crawl/2 + , crawl/1 + , crawl_reload_graph/1 + ]). + +:- multifile authority/3. +:- multifile source/3. + +:- use_module(library(settings)). +:- use_module(library(http/http_dispatch)). +:- use_module(library(http/http_parameters)). +:- use_module(library(http/http_wrapper)). +:- use_module(library(http/html_write)). +:- use_module(library(semweb/rdf_db)). +:- use_module(library(prov_schema)). +:- use_module(library(httpfiles)). +:- use_module(library(htmlutils), [element//2]). +:- use_module(library(dcg_core)). +:- use_module(library(insist)). +:- use_module(components(basics)). +:- use_module(components(messages)). +:- use_module(user(user_db)). + +:- setting(enable_auto_crawl, boolean, true, "Enables automatic semantic web searches for recognised URIs"). + +:- http_handler(root(crawl), crawl_handler, []). + +no_cache --> + html_post(head,meta(['http-equiv'='Cache-Control', content='no-cache, no-store, must-revalidate, max-age=0'],[])), + html_post(head,meta(['http-equiv'='Pragma', content='no-cache'],[])), + html_post(head,meta(['http-equiv'='Expires', content=0],[])). + +refresh(URL,Delay) --> + no_cache, + html_post(head,meta(['http-equiv'=refresh, content="~d;~w"-[Delay,URL]],[])). + +%% crawl_handler(+Request) is det. +% web service to query given authority about given URI +crawl_handler(Request) :- + authorized(write(default, load(lod))), + http_parameters(Request, + [ uri(URI, [optional(false), description("URI to search for")]) + , src(Src, [optional(false), description("Source ID")]) + , return_to(Return, [ optional(true), description('URI to return to') ]) + , return_after(Delay, [ default(2) ]) + , messages(Msgs, [boolean, default(true)]) + ]), + debug(crawler,"Got request to consult ~w on ~w",[Src,URI]), + return_options(Return, Delay, Options), + ( Msgs=true + -> call_showing_messages(insist(crawl(URI,Src)),Options) + ; call_without_messages(insist(crawl(URI,Src)),Options) + ). + +call_without_messages(Goal,Options) :- + catch( (Goal, Msg='Success'), Ex, (Msg='Error', print_message(error,Ex))), + ( option(return_to(Return),Options) + -> option(return_after(Delay),Options,2), + reply_html_page(cliopatria(default),[], [ h2(Msg), \refresh(Return,Delay) ], [unstable]) + ; reply_html_page(cliopatria(default),[], [ h2(Msg) ], [unstable]) + ). + +return_options(Return, _, []) :- var(Return), !. +return_options(Return, Delay, [ return_to(Return), return_after(Delay) ]). + + +%% crawl_ui(+URI:resource,+NT:natural) is det. +% Component to allow user to trigger a crawl on a given URI, depending on +% NT, the number of triples which currently have it has subject. +crawl_ui(URI,NT) --> + ( {setof(S-Auto, uri_authority(URI,S,Auto),Sources)} + -> ( {setof(S-A, (member(S-A,Sources), \+crawl_loaded(URI,S)), Untapped)} + % !!! should check permissions here + -> { http_current_request(Request), + memberchk(request_uri(Here), Request) + }, + {debug(crawler,'Untapped sources: ~q',[Untapped])}, + no_cache, + ( {setting(enable_auto_crawl,true)}, + {setof(S, member(S-true,Untapped), AutoSources)} + -> html([ 'The following sources have been consulted automatically: ', + \seqmap_with_sep(html(', '),element(code),AutoSources), '.', br([]) + ]), + { debug(crawler,'consulting in parallel: ~w...',[AutoSources]), + concurrent_maplist(consult_source(URI),AutoSources,Statuses), + debug(crawler,'finished consulting on ~w.',[URI]) + }, + ( {member(ok,Statuses)} + -> refresh(Here,0), + html([b('At least one consultation succeeded; refreshing automatically.'),br([])]) + ; html([b('All consultations failed.'),br([])]) + ) + ; html(p([ 'Click to consult one of the following sources for more information.' + , br([]), \seqmap(consult_form(URI,Here),Untapped) + ])) + ) + ; [] + ) + ; {NT>0} -> [] + ; html(p('No triples and no authorities known for this URI.')) + ). + +consult_source(URI,Source,Status) :- + catch( (crawl(URI,Source), Status=ok), Ex, + (print_message(error,Ex), Status=error(Ex))). + +consult_form(URI,Here,Source-_) --> + {http_link_to_id(crawl_handler, [], FetchURL)}, + {source_name(Source,Name)}, + {source(Source,_,Opts), option(messages(Msgs),Opts,true)}, + html(form([style="display:inline-block", action(FetchURL)], + [ \hidden(uri, URI), + \hidden(src, Source), + \hidden(return_to, Here), + \hidden(messages, Msgs), + input([ type(submit), value(Name) ]) + ])). + +%% crawl_loaded(+URI:resource,+Source:atom) is semidet. +% True when URI has already been crawled and added to the RDF database. +crawl_loaded(URI,Source) :- + source_uri_graph(Source,URI,Graph), + debug(crawler,'Checking if loaded: ~w in graph ~w from ~w',[URI,Graph,Source]), + rdf(Graph,prov:wasDerivedFrom,URI,Graph). + + +%% crawl_reload_graph(+Graph:atom) is det. +% Attempts to delete the named graph and reload it from all the URIs +% that it was derived from. +crawl_reload_graph(Graph) :- + findall(URI,rdf(Graph,prov:wasDerivedFrom,URI,Graph),URIs), + length(URIs,NURIs), + print_message(information,crawl_reload(Graph,NURIs)), + rdf_transaction(( + rdf_unload_graph(Graph), + maplist(reload_into(Graph),URIs) + )). + +reload_into(Graph,URI) :- + uri_authority(URI,Source,_), + source_uri_graph(Source,URI,Graph), + load_into(Graph,Source,URI). + +%% crawl(+URI:resource) is det. +% Looks for information about URI on all authorities claiming authority on it. +% Queries are made in parallel using concurrent_maplist/2. +crawl(URI) :- + findall(S,uri_authority(URI,S,_),Sources), + concurrent_maplist(consult_source(URI),Sources,_). + + +%% crawl(+URI:resource,+Auth:atom) is det. +% Looks for information about URI on specified authority. +crawl(URI,Source) :- + debug(crawler,"Consulting source ~w on ~w...",[Source,URI]), + source_uri_graph(Source, URI, Graph), + rdf_transaction(load_into(Graph,Source,URI)). + +load_into(Graph,Source,URI) :- + source(Source, Handler, _), + ( call(Handler,crawl(URI,Graph)) + -> print_message(information,crawler_crawled(Source,URI,Graph)) + ; setof(T, call(Handler,describe(URI,T)), Triples), + length(Triples, NumTriples), + forall(member(rdf(S,P,O),Triples), rdf_assert(S,P,O,Graph)) + -> print_message(information,crawler_described(Source,URI,Graph,NumTriples)) + ; print_message(information,crawler_failed(Source,URI)) + ), + debug(crawler,'Asserting successful load of ~w into graph ~w from ~w',[URI,Graph,Source]), + rdf_assert(Graph, prov:wasDerivedFrom, URI, Graph). + +%% uri_authority(+URI:resource, -Auth:atom, -Auto:boolean) is nondet. +% True when Auth is declared as an authority on URI. If Auto=true, +% then, this authority should be queried automatically when URI is the +% subject of a 'list_resource' page. +uri_authority(URI,Src,Auto) :- + authority(Cond,Src,Opts), + once(matches(Cond,URI)), + option(auto(Auto),Opts,false). + +matches(begins(Prefix),URI) :- sub_atom(URI,0,_,_,Prefix). +matches(\+Cond,URI) :- \+matches(Cond,URI). +matches((C1,C2),URI) :- matches(C1,URI), matches(C2,URI). +matches((C1;C2),URI) :- matches(C1,URI); matches(C2,URI). + + +%% source_uri_graph(+Auth:atom,+URI:resource,-Graph:atom) is det. +% Derive the RDF graph name for a given authority. +source_uri_graph(Source,URI,Graph) :- + source(Source,Handler,_), + call(Handler,uri_graph(URI,Graph)). + +source_name(Source,Name) :- source(Source,Handler,_), call(Handler,name(Name)), !. +source_name(Source,Source). + +prolog:message(crawler_crawled(Src,URI,Graph)) --> + ["Triples from ~w about ~w loaded into ~w via crawl method"-[Src,URI,Graph]]. +prolog:message(crawler_described(Src,URI,Graph,N)) --> + ["Triples from ~w about ~w loaded into ~w via describe method: ~d."-[Src,URI,Graph,N]]. +prolog:message(crawler_failed(Src,URI)) --> + ["Failed to load anything from ~w about ~w."-[Src,URI]]. +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/lib/csvutils.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,35 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University of London + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +:- module(csvutils, [uri_to_csv/2]). + +:- use_module(library(insist)). +:- use_module(api(archive)). + +:- set_prolog_flag(double_quotes,string). + +%% uri_to_csv(+URI:uri, -Rows:list(row)) is det. +% +% Read contents of CSV and return a list of terms with functor row/N, where +% N is the number of columns in the CSV. +uri_to_csv(URI,Rows) :- with_input_from_uri(URI,load_csv_from_stream(Rows)). + +load_csv_from_stream(Rows,Stream) :- + read_stream_to_codes(Stream,Codes), + insist(phrase(csv(Rows,[match_arity(false),convert(true)]),Codes), + csv_parse_failed).
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/lib/dataset.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,105 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University of London + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +:- module(dataset, + [ dataset/5 + , dataset_size/2 + , dataset_query/2 + , dataset_query_dv/3 + , dataset_item/2 + , dataset_items/2 + , dataset_query_id/3 + , random_subset/4 + ]). + +/** <module> Definition and memoising of datasets */ + +:- use_module(library(memo)). +:- use_module(library(semweb/rdf_db)). +:- use_module(library(sandbox)). +:- use_module(library(typedef)). + +:- type natural == nonneg. +:- persistent_memo dataset(+class:ground,+dbv:ground,-id:ground,-size:natural, -items:list). +:- persistent_memo term_hash_id(+object:any, +hash:atom, -id:atom). +:- persistent_memo random_subset( +domain:nonneg, +size:nonneg, +index:nonneg, -set:list(nonneg)). + +random_subset(N,K,_,Indices) :- randset(K,N,Indices). + + +:- initialization memo_attach(memo(datasets),[]). + +:- meta_predicate dataset(1,+,-,-,-), dataset_query_id(1,+,-). + +sandbox:safe_meta(dataset(G,_,_,_,_),[G]). +sandbox:safe_meta(dataset_query_id(G,_,_),[G]). + +%% dataset( +Generator:pred(A), +DBVersion, -ID:atom, -Size:natural, -Items:list(A)) is det. +% +% Note: Generator must be ground. +dataset(Generator,_,ID,Size,Items) :- + setof(X, call(Generator,X), Items), + length(Items,Size), + variant_sha1(Items,Hash), + term_hash_id(Items,Hash,ID). + +term_hash_id(X,Hash,ID) :- + ( browse(term_hash_id(X,Hash,ID)) -> true % makes it safe to call in compute mode + ; (ID=Hash; between(1,100,I), variant_sha1(Hash-I,ID)), + \+browse(term_hash_id(_,_,ID)) + ; throw(unable_to_unique_id(X)) + ). + + + +%% dataset_query_id(+Query:class,+DBVersion:ground,-ID:ground) is det. +% Get ID for given query and database version. If this query has been +% requested before, the previously generated ID will be unified with ID. +% Otherwise, a new ID will be created and the list of items stored in +% the persistent Prolog database. An empty dataset results in an +% exception. +dataset_query_id(Q,V,ID) :- + dif(Status,fail), + memo(dataset(Q,V,ID,_,_),_-Status). + +%% dataset_size(-ID:ground,-Size:natural) is nondet. +%% dataset_size(+ID:ground,-Size:natural) is semidet. +% True when Size is the number of items in existing dataset with id ID. +dataset_size(ID,Size) :- distinct(current_dataset(ID,Size,_)). + +%% dataset_items(-ID,-Items:list) is nondet. +%% dataset_items(+ID,-Items:list) is semidet. +% True when Items is the list of items in existing dataset with id ID. +dataset_items(ID,Items) :- distinct(current_dataset(ID,_,Items)). + +%% dataset_item(-ID,-Item) is nondet. +%% dataset_item(+ID,-Item) is nondet. +% True when dataset ID contains Item. +dataset_item(ID,Item) :- dataset_items(ID,Items), member(Item,Items). + +%% dataset_query(-ID,-Query) is nondet. +%% dataset_query(+ID,-Query) is nondet. +% True when dataset ID contains Item. +dataset_query(ID,Q) :- browse(dataset(Q,_,ID,_,_)). + +%% dataset_query_dv(-ID,-Query,-DV) is nondet. +%% dataset_query_dv(+ID,-Query,-DV) is nondet. +% True when dataset ID contains Item. +dataset_query_dv(ID,Q,DV) :- browse(dataset(Q,DV,ID,_,_)). + +current_dataset(ID,Size,Items) :- browse(dataset(_,_,ID,Size,Items)).
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/lib/decoration.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,110 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University of London + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +:- module(decoration, []). +/** <module> Hook for customised RDF links with extra HTML +*/ + + +:- use_module(cliopatria(hooks)). +:- use_module(library(http/html_write)). +:- use_module(library(http/html_head)). +:- use_module(library(semweb/rdfs)). +:- use_module(library(dcg_core)). +:- use_module(library(rdfutils)). +:- use_module(components(label)). +:- use_module(components(icons)). + + +:- multifile resource_decoration//2, resource_view//2. + +%% resource_decoration(URI)// is nondet. +% This DCG rule succeeds when the resource specified by URI should be +% preceeded by arbitrary HTML elements. It should produce a list of HTML +% tokens as produced by html//1. + +cliopatria:display_link(R,_) --> + { rdf_equal(R,rdf:nil) }, !, html(span(title('rdf:nil'),b('[]'))). + +cliopatria:display_link(R,Opts) --> + { rdf_has(R,rdf:first,_), !, + option(max_length(Max),Opts,5), + cp_label:resource_link(R,ListLink), + rdf_list_take(Max,R,Items,Tail), + rdf_list_length(Tail,Rem), + ( Rem=0 -> length(Items,ListLength) + ; ListLength is Max+Rem + ), + format(string(ListTitle), 'RDF collection with ~D members', ListLength) + }, + html([ a([href(ListLink),title(ListTitle)],b('[')) + , \seqmap_with_sep(comma, display_item(Opts), Items) + , \display_tail(Rem,Tail) + , a([href(ListLink),title(ListTitle)],b(']')) + ]). + +cliopatria:display_link(R,Opts) --> + { rdf(R,rdf:type,owl:'Restriction'), + rdf(R,owl:onProperty,Prop), + restriction_condition(R,Cond) + }, !, + html(span(title(R),['(', \html(Cond),')',&(nbsp),\rdf_link(Prop,Opts)])). + +restriction_condition(R,['=',Num]) :- rdf_number(R,owl:cardinality,Num), !. +restriction_condition(R,[&(ge),Num]) :- rdf_number(R,owl:minCardinality,Num), !. +restriction_condition(R,[&(le),Num]) :- rdf_number(R,owl:maxCardinality,Num), !. + +cliopatria:display_link(URI,Opts) --> + { atom(URI), \+rdf_graph(URI), !, + cp_label:resource_link(URI, Target), + (rdf(URI,_,_) -> Class=r_def; Class=r_undef), + Link = a( [class(Class), href(Target), title(URI)], + \(cp_label:resource_label(URI, Opts))) + }, + ( {option(decoration(true),Opts,true)}, + resource_decoration(URI,decoration:html(Link)) -> [] + ; html(Link) + ). + +decoration:resource_decoration(URI,Link) --> + { rdf_has(_,foaf:page,URI) + ; rdf_has(_,foaf:isPrimaryTopicOf,URI) + % ; rdfs_individual_of(URI,foaf:'Document') + }, !, + html_requires(font_awesome), + html( span( [ \Link, &(nbsp), a([href(URI),target('_blank')],\icon('external-link')) ])). + + +display_item(Opts,Item) --> rdf_link(Item,Opts). +display_tail(0,_) --> !. +display_tail(N,Tail) --> + { cp_label:resource_link(Tail,Link), + format(string(Title),'Remaining ~D items',[N]) + }, + html([' | ',a([href(Link),title(Title)],&(hellip))]). + +comma --> html(', '). + +cliopatria:list_resource(URI,Opts) --> + {debug(decoration,'Checking for views for ~q...',[URI])}, + {findall(Head-Tail,resource_view(URI,Opts,Head,Tail),Views), Views\=[]}, !, + {length(Views,N), debug(decoration,'Found ~d views.',[N])}, + seqmap(dlist,Views), + cpa_browse:list_resource(URI,[raw(true)|Opts]). + +dlist(Head-Tail,Head,Tail).
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/lib/dictutils.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,37 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University of London + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +:- module(dictutils, + [ print_dict/1 + , print_dict/2 + , print_dict/3 + , tag/2 + ]). + +:- use_module(library(lambda)). + +print_dict(Dict) :- print_dict(Dict,[]). +print_dict(Dict,Opts) :- print_dict(current_output,Dict,Opts). +print_dict(Str,Dict,Opts) :- + option(exclude(Exc),Opts,\_^fail), + option(include(Inc),Opts,\_^true), + findall(F:V, (get_dict(F,Dict,V),call(Inc,F:V), \+call(Exc,F:V)), Pairs), + aggregate_all(max(FL),(member(F:_,Pairs),atom_length(F,FL)),Max), + forall( member(F:V,Pairs), format(Str,"~t~2+~t~w~*+: ~p\n",[F,Max,V])). + +tag(Tag,Dict) :- is_dict(Dict,Tag).
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/lib/dlogic.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,61 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University of London + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +:- module( dlogic, [ ext/2, lambda/3, unary/2 ]). + +:- use_module(library(semweb/rdf_db)). +:- use_module(library(semweb/rdfs)). +:- use_module(library(sandbox)). +:- use_module(library(rdfutils)). + +% :- meta_predicate unary(:,-). +:- meta_predicate lambda(-,0,-). +:- rdf_meta ext(t,o). + +:- op(400,xfx,~). + +ext((C1,C2),X) :- !, ext(C1,X), ext(C2,X). +ext(C1;C2, X) :- !, ext(C1,X); ext(C2,X). +ext(inv(P) is Q, X) :- !, rdf_has(V,P,X), call(Q,V). +ext(P is Q, X) :- !, rdf_has(X,P,V), call(Q,V). +ext(q(P,Q), X) :- !, rdf(X,P,literal(Q,_)). +ext(NS:Class,X) :- !, rdf_global_id(NS:Class,C), rdfs_individual_of(X,C). +ext(Class,X) :- atomic(Class), rdfs_individual_of(X,Class). + +lambda(X,Goal,Y) :- + copy_term(X-Goal,Y-Goal1), + call(Goal1). + + +unary((Binary -> Unary), X) :- !, binary(Binary,X,Y), unary(Unary,Y). +unary(\Pred,X) :- !, call(Pred,X). +unary((U1,U2),X) :- !, unary(U1,X), unary(U2,X). +unary((U1;U2),X) :- !, unary(U1,X); unary(U2,X). +unary(a(Class),X) :- !, rdf_global_id(Class,C), rdfs_individual_of(X,C). +unary(P~Q,X) :- !, rdf(X,P,literal(Q,_)). + +binary(p(P),X,Y) :- !, rdf_global_id(P,P1), rdf(X,P1,Y). +binary(ip(P),X,Y) :- !, rdf_global_id(P,P1), rdf(Y,P1,X). +binary(P~Q,X,Y) :- !, rdf_global_id(P,P1), rdf(X,P1,literal(Q,Y)). +binary(\Pred,X,Y) :- !, call(Pred,X,Y). +binary(text,X,Y) :- !, literal_text(X,Y). +binary(num,X,Y) :- !, literal_number(X,Y). + + +sandbox:safe_meta(dlogic:lambda(_,Goal,_),[Goal]). +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/lib/dml_c3.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,152 @@ +:- module(dml_c3, + [ csv_op_chart/3 + , cla_op_chart/3 + , cla_label_lang/3 + , c3_bar/3, c3_bar/2 + , c3_plot/3 + , c3_steps/3 + , c3_csteps/3 + , c3_hist/5 + ]). + +:- use_module(library(computations)). +:- use_module(library(mlserver)). +:- use_rendering(c3). + +csv_op_chart(Op,Result,Chart) :- op_chart(Op,Result,Chart), !. +csv_op_chart(Op,X,unrecognised(Op,X)). + +op_chart(pitch_hist(_Weighting),Pairs,Ch) :- + unzip(Pairs,NoteNums,Counts), + maplist(computations:pitch_number_name,NoteNums,Pitches), + c3_bar(pitch-Pitches,counts-Counts,Ch1), + Ch=Ch1.put(axis/x/type,categorical). + +op_chart(freq_hist(Map,_),Counts,Ch) :- c3_hist(bars,pitch,Map,Counts,Ch). +op_chart(freq_hist_r(Map,_),Counts,Ch) :- c3_hist(bars,pitch,Map,Counts,Ch). +op_chart(tempo,Pairs,Ch) :- unzip(Pairs,T,X), c3_plot(time-T,tempo-X,Ch). +op_chart(uniform_tempo(_),T-X,Ch) :- c3_plot(time-T,tempo-X,Ch). +op_chart(uniform_tempo_r(_),T-X,Ch) :- c3_plot(time-T,tempo-X,Ch). +op_chart(uniform_tempo(_,_),T-X,Ch) :- c3_plot(time-T,tempo-X,Ch). +op_chart(uniform_tempo_r(_,_),T-X,Ch) :- c3_plot(time-T,tempo-X,Ch). +op_chart(tempo_hist_r(_DT,Map),_-Counts,Ch) :- c3_hist(steps,tempo,Map,Counts,Ch). +op_chart(tempo_hist(_DT,Map),_-Counts,Ch) :- c3_hist(steps,tempo,Map,Counts,Ch). +op_chart(normalised_tempo(N),_T-X,Ch) :- tempo_curve(N,X,Ch). +op_chart(normalised_tempo_r(N),_T-X,Ch) :- tempo_curve(N,X,Ch). + +cla_op_chart(Op,X,Chart) :- cla_chart(Op,X,Chart), !. +cla_op_chart(Op,X,unrecognised(Op,X)). + +cla_chart(Op,X,Chart) :- + is_dict(X), _{result:R} :< X, !, + cla_chart(Op,R,Chart). + +cla_chart(collection_pitch_histogram(_),X,Chart) :- + c3_bar(notenum-X.values,counts-X.counts,Chart). + +cla_chart(collection_freq_histogram(Min,Max,Quant,_),X,Chart) :- % matlab + c3_hist(bars,pitch,binmap(Min,Max,(Max-Min)*Quant+1),X.counts,Chart). + +cla_chart(collection_freq_histogram(_Lang,Min,Max,Quant,_),X,Chart) :- + c3_hist(bars,pitch,binmap(Min,Max,(Max-Min)*Quant+1),X.counts,Chart). + +cla_chart(collection_tempo_histogram(_,Min,Max,N),X,Chart) :- % matlab + c3_hist(steps,tempo,expmap(Min,Max,N),X.counts,Chart). + +cla_chart(collection_tempo_histogram(_Lang,_,Min,Max,N),X,Chart) :- + c3_hist(steps,tempo,expmap(Min,Max,N),X.counts,Chart). + +cla_chart(collection_tempo_curve(N),X,Chart) :- % matlab + tempo_curve(N,X.means,Chart). + +cla_chart(collection_tempo_curve(_Lang,N),X,Chart) :- + tempo_curve(N,X.means,Chart). + +cla_chart(py_hist(tagged(tonic), key_tonic_hist:aggregate, []),X,Chart) :- + c3_bar(key-X.values,counts-X.counts,Chart1), + Chart=Chart1.put(axis/x/type,categorical). + +cla_chart(py_hist(tagged(transcription), semitone_hist:aggregate, []),X,Chart) :- + c3_bar('pitch class'-X.values,counts-X.counts,Chart1), + Chart=Chart1.put(axis/x/type,categorical). + +cla_chart(tuning_stats, X, Chart) :- + Hist=X.stats.hist, + c3_hist(steps,frequency,edgemap(Hist.edges),Hist.counts,Chart). + +cla_chart(py_cla(tagged(transcription(1)), tuning_stats:per_file, []),X, Chart) :- + cla_chart(tuning_stats, X, Chart). + + +tempo_curve(N,X,Chart) :- + numlist(1,N,T), + c3_csteps(time-T,tempo-X,Chart). + +c3_hist(bars,XLabel,Map,Counts,Chart) :- + array_list(centres(Map),Centres1), + maplist(fix(2),Centres1,Centres), + c3_bar(XLabel-Centres,counts-Counts,Chart). + +c3_hist(steps,XLabel,Map,Counts,Chart) :- + array_list(edges(Map),Edges1), + maplist(fix(2),Edges1,Edges), + append(Counts,[0],C), + c3_steps(XLabel-Edges,counts-C,Chart). + + +fix(N,X,Y) :- Q is 10^N, Y is round(X*Q)/Q. + +:- public c3:put//2 + , c3:axis//2 + , c3:bar//2 + , c3:area//2 + , c3:zoom//1 + , c3:legend//1 + , c3:subchart//1 + , c3:put//2 + , c3:scat//2 + . + +c3:put(Path,Val,D1,D1.put(Path,Val)). +c3:axis(Name,Label,D1,D2) :- axis_pos(Name,Pos), D2=D1.put(axis/Name/label,_{text:Label,position:Pos}). +c3:axes(Lab1,Lab2) --> c3:axis(x,Lab1), c3:axis(y,Lab2). +c3:legend(F) --> c3:put(legend/show,F). +c3:subchart(F) --> c3:put(subchart/show,F). +c3:zoom(F) --> c3:put(zoom/enabled,F). + +c3:scat(XLabel,YLabel) --> c3:init(scatter,XLabel,YLabel). +c3:bar(XLabel,YLabel) --> c3:init(bar,XLabel,YLabel). +c3:area(XLabel,YLabel) --> c3:init(area,XLabel,YLabel). + +c3:init(Type,XLabel,YLabel) --> + c3:axes(XLabel,YLabel), + c3:put(data,_{columns:[],type:Type}), + c3:put(axis/x/tick/fit,false). + +axis_pos(x,'outer-center'). +axis_pos(y,'outer-middle'). + +c3_plot(XL-XV,YL-YV, c3{data:_{x:XL,columns:[[XL|XV],[YL|YV]]}}.axes(XL,YL).legend(false)). +c3_steps(XL-XV,YL-YV, c3{ line:_{step:_{type:'step-after'}}, + data:_{type:'area-step',x:XL, columns:[[XL|XV],[YL|YV]]} + }.axes(XL,YL).legend(false)). +c3_csteps(XL-XV,YL-YV, c3{data:_{type:step,x:XL,columns:[[XL|XV],[YL|YV]]}}.axes(XL,YL).legend(false)). +c3_bar(Label-Vals,c3{data:_{type:bar, columns:[[Label|Vals]]}}.axis(y,Label)). +c3_bar(XL-XV,YL-YV,c3{data:_{type:bar, x:XL, columns:[[XL|XV],[YL|YV]]}}.axes(XL,YL).legend(false)). + + +cla_label_lang(collection_pitch_histogram(_),pitch_histogram,pl). +cla_label_lang(collection_freq_histogram(_,_,_,_),freq_histogram,ml). +cla_label_lang(collection_freq_histogram(Lang,_,_,_,_),freq_histogram,Lang). +cla_label_lang(collection_tempo_histogram(_,_,_,_),tempo_histogram,ml). % matlab +cla_label_lang(collection_tempo_histogram(Lang,_,_,_,_),tempo_histogram,Lang). +cla_label_lang(collection_tempo_curve(_),tempo_curve,ml). % matlab +cla_label_lang(collection_tempo_curve(Lang,_),tempo_curve,Lang). +cla_label_lang(py_hist(tagged(tonic), key_tonic_hist:aggregate, []),tonic_histogram,py). +cla_label_lang(py_hist(tagged(transcription), semitone_hist:aggregate, _),pc_histogram,py). +cla_label_lang(tuning_stats, tuning_stats, py). +cla_label_lang(py_cla(tagged(transcription(1)), tuning_stats:per_file, _),tuning_stats, py). +cla_label_lang(py_cla(keys_chords,chord_seq_key_relative:aggregate,_),key_relative_chord_seq,py). +cla_label_lang(py_cla(similarity_bundle,similarity:per_file,_), similarity, py). + +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/lib/dml_crawler.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,445 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University of London + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +:- module(dml_crawler, []). + +:- use_module(library(http/html_write)). +:- use_module(library(semweb/rdf_db)). +:- use_module(library(semweb/rdfs)). +:- use_module(library(semweb/rdf_label)). +:- use_module(library(sparkle)). +:- use_module(library(crawler)). +:- use_module(library(musicbrainz)). +:- use_module(library(memo)). +:- use_module(applications(browse)). +:- use_module(api(lod_crawler)). +:- use_module(cliopatria(hooks)). + +:- sparql_endpoint(mb, 'http://dbtune.org/musicbrainz/sparql'). +:- sparql_endpoint(lb, 'http://linkedbrainz.org/sparql/'). +:- sparql_endpoint(dbp, 'http://dbpedia.org/sparql/'). +:- sparql_endpoint(self, 'http://localhost:3020/sparql/'). + +% :- sparql_endpoint(bbc, 'http://dbtune.org/bbc/programmes/sparql/'). +% :- sparql_endpoint(peel,'http://dbtune.org/bbc/peel/sparql/'), +% :- sparql_endpoint(classical,'http://dbtune.org/classical/sparql/'), +% :- sparql_endpoint(jamendo,'http://dbtune.org/jamendo/sparql/'), +% :- sparql_endpoint(magnatune,'http://dbtune.org/magnatune/sparql/'), +% :- sparql_endpoint(henry,'http://dbtune.org/henry/sparql/'), + + +crawler:source(dbp, dml_crawler:sparql_crawler(dbp), []). +crawler:source(lbz, dml_crawler:sparql_crawler(lb), []). +crawler:source(mbz, dml_crawler:mbz_crawler, []). +crawler:source(lod, dml_crawler:lod_crawler, []). + +crawler:authority( begins('http://dbpedia.org'), dbp, [auto(true)]). +crawler:authority( begins('http://musicbrainz.org'), lbz, [auto(true)]). +crawler:authority( begins('http://musicbrainz.org'), mbz, [auto(true)]). +crawler:authority( begins('http://id.loc.gov/vocabulary'), lod, [auto(true)]). +crawler:authority( begins('http://yago-knowledge.org'), lod, [auto(true)]). +crawler:authority( ( (begins('http://'); begins('https://')), + \+begins('http://dbpedia.org/'), + \+begins('http://musicbrainz.org/'), + \+begins('http://dml.org/'), + \+begins('http://sounds.bl.uk/') + ), lod, [auto(false)]). + +:- volatile_memo instrument(+label:atom,-uri:atom). + +instrument(Label,Instr) :- + rdf(Instr,skos:prefLabel,literal(exact(Label),_)). + +:- rdf_meta censor(+,t). +censor(lb, rdf(_,'http://purl.org/muto/core#taggedResource',_)). +censor(lb, rdf(_,mo:musicbrainz_guid,_)). +censor(lb, rdf(_,foaf:made,_)). + +% not needed after all: it was me giving the recordings type 'Signal', not lb. +% sparql_crawler:modify(lb,Tin,Tout) :- +% debug(sparql_crawler,"checking ~q",[Tin]), +% once(relink_brainz(Tin,Tout)). + +% :- rdf_meta relink_brainz(t,t). +% relink_brainz(rdf(MBZRecording,rdf:type,mo:'Track'),rdf(MBZRecording,rdf:type,mo:'Signal')):- +% mb_id_uri(recording,_,MBZRecording). + +% connects patched ClioPatria resource viewer to sparql_crawler module +cliopatria:resource_crawler(URI,NT) --> html(div(class(crawler),\crawl_ui(URI,NT))). + +% --------- SPARQL crawler using sparkle --------------- + +sparql_crawler(dbp,name('DBPedia')). +sparql_crawler(lb,name('LinkedBrainz')). + +sparql_crawler(EP,uri_graph(_,Graph)) :- + current_sparql_endpoint(EP,Host,Port,Path,_), + parse_url(Graph,[protocol(http),host(Host),port(Port),path(Path)]). + +sparql_crawler(EP,describe(URI,Triple)) :- + describe(EP,URI,Triple), + \+censor(EP,Triple). + + +describe(EP,URI,rdf(Subj,Pred,URI)) :- EP ?? rdf(Subj,Pred,URI). +describe(EP,URI,rdf(URI,Pred,Obj)) :- EP ?? rdf(URI,Pred,Obj). +% !!! FIXME This was to slow for URIs with many linked resources +% Need to get asynchronous crawling working first.. +% describe(EP,URI,rdf(Subj,Pred,Obj)) :- +% (EP ?? rdf(URI,P1,O1)), +% ( Subj=URI, Pred=P1, Obj=O1 +% ; Subj=O1, Pred=P2, Obj=O2, +% O1\=literal(_), +% (EP ?? rdf(O1,P2,O2)) +% ). + +% ----------- LOD crawler --------------------------- +lod_crawler(name('LOD Cloud')). +lod_crawler(uri_graph(URI,Graph)) :- + uri_components(URI, uri_components(Sch,Auth,_,_,_)), + uri_components(Graph, uri_components(Sch,Auth,_,_,_)). + +lod_crawler(crawl(URI,Graph)) :- + lod_uri_graph(URI,URL), + rdf_load(URL,[graph(Graph)]). + +% ----------- MusicBrainz crawler ------------------- +mbz_crawler(uri_graph(_,'http://musicbrainz.org/ws/2')). +mbz_crawler(name('MusicBrainz')). +mbz_crawler(describe(URI,Triple)) :- + debug(crawler,'Doing ~q.',[mbz_crawler(describe(URI,Triple))]), + ( mb_id_uri(Type,_,URI) -> Context=Type + ; event_uri(URI,EvType,BaseURI,Extra), + mb_id_uri(BaseType,_,BaseURI) + -> Context=event(BaseType,BaseURI,EvType,Extra) + ; debug(crawler,'Unrecognised URI: ~w',[URI]), + fail + ), + mbz_triple(Context,URI,Triple1), + rdf_global_term(Triple1,Triple). + + +mbz_triple(artist,URI,rdf(URI,rdf:type,mo:'MusicArtist')). +mbz_triple(artist,URI,Triple) :- + mb_lookup(URI,[inc([aliases]), rels([recording,work,artist])],Artist), + subject_triple(Artist-URI,artist,Triple). + +mbz_triple(recording,URI,rdf(URI,rdf:type,mo:'Signal')). +mbz_triple(recording,URI,rdf(Event,rdf:type,mo:'Recording')) :- + event_uri(Event,production,URI). + +mbz_triple(recording,URI,Triple) :- + mb_lookup(URI,[inc([artists,'artist-credits']),rels([artist,work])],Recording), + event_uri(Event,production,URI), + subject_triple(Recording-URI, recording(Event), Triple). + +mbz_triple(work,URI,rdf(URI,rdf:type,mo:'MusicalWork')). +mbz_triple(work,URI,Triple) :- + mb_lookup(URI,[inc([aliases]),rels([recording,artist,work])],Work), + subject_triple(Work-URI, work, Triple). + +mbz_triple(event(work,_,composition,''),Event,rdf(Event,rdf:type:mo:'Composition')). +mbz_triple(event(work,W,composition,''),Event,Triple) :- + mb_lookup(W,[rels([artist,work])],Work), % need work rels here? + event_uri(Event,composition,WorkURI), + subject_triple(Work-WorkURI, work, Triple). + +mbz_triple(event(recording,Signal,production,''),Event,Triple) :- + production_triple(Signal,Event,Triple). + +production_triple(_, Ev, rdf(Ev,rdf:type,mo:'Performance')). +production_triple(_, Ev, rdf(Ev,rdf:type,mo:'Recording')). +production_triple(S, Ev, rdf(Ev,mo:produced_signal,S)). +production_triple(S, Ev, T) :- + mb_lookup(S,[inc([artists,'artist-credits']),rels([work,artist])],Recording), + mb_uri(Recording,Signal), + subject_triple(Recording-Signal,recording(Ev),T). + +%% subject_triple( +Subj:pair(element,resource), +Content:ground, -T:triple) is nondet. +% Produce triples relating to this subject without doing any more musicbrainz queries. + +% first deal with the non-relation facets +subject_triple(E-URI, Context, T) :- + dif(Facet,relation(_,_)), + mb_facet(E,Facet), + facet_triple(URI, Context, Facet, T). + +% then deal with relations +subject_triple(E1-URI1, _Context, T) :- + mb_relation(E1, E2, Name, Dir, Opts), + mb_uri(E2,URI2), + ( mb_class(E2,C2), + subject_triple(E2-URI2, C2, T) % do all facets of related object + ; normalise_direction(Dir,URI1,URI2,URI_A,URI_B), + relation_triple(Name,URI_A,URI_B,Opts,T) + ). + +normalise_direction(fwd,E1,E2,E1,E2). +normalise_direction(bwd,E1,E2,E2,E1). + + +facet_triple(_, _, credit(A), T) :- mb_uri(A,Agent), subject_triple(A-Agent,artist,T). +facet_triple(URI, _, title(T), rdf(URI,dc:title,literal(T))). +facet_triple(URI, artist, name(N), rdf(URI,foaf:name,literal(N))). +facet_triple(URI, artist, alias(A), rdf(URI,dml:alias,literal(A))). +facet_triple(URI, artist, gender(G), rdf(URI,foaf:gender,literal(GG))) :- downcase_atom(G,GG). +facet_triple(URI, artist, type(Type), rdf(URI,rdf:type,foaf:Type)) :- member(Type,['Person','Group']). +facet_triple(URI, artist, born(X), T) :- life_event_triple(URI,birth,time(X),T). +facet_triple(URI, artist, died(X), T) :- life_event_triple(URI,death,time(X),T). +facet_triple(URI, artist, birth_place(X), T) :- life_event_triple(URI,birth,area(X),T). +facet_triple(URI, artist, death_place(X), T) :- life_event_triple(URI,death,area(X),T). + +facet_triple(_, recording(E), credit(A), rdf(E,event:agent,Agent)) :- mb_uri(A,Agent). +facet_triple(URI, recording(_), length(L), rdf(URI,mo:duration,literal(type(xsd:float,LenA)))) :- + atom_number(LenA,L). + +life_event_triple(Agent,Type,Property,T) :- + event_uri(Event,Type,Agent), + ( T=rdf(Event,rdf:type,event:'Event') + ; T=rdf(Event,event:agent,Agent) + ; life_event_property_triple(Event,Property,T) + ). + + +life_event_property_triple(Event,area(A),rdf(Event,event:place,URI)) :- mb_uri(A,URI). +life_event_property_triple(Event,time(T),Triple) :- + prefix_uri('/time',Event,Time), + ( Triple=rdf(Event,event:time,Time) + ; time_instant_triple(Time-T,Triple) + ). + +% ----------------------------------------------------------------------------- +% relation_triple + +relation_triple(parts, Whole, Part, _, rdf(Part,dml:part_of,Whole)). +relation_triple(composer, Agent, Work, _, rdf(Work,dml:composer,Agent)). +relation_triple('is person', Agent, Person, _, rdf(Agent,dml:persona_of,Person)). +relation_triple('performing orchestra', _, Group, _, rdf(Group,rdf:type,mo:'Orchestra')). +relation_triple(Name, _, Group, _, rdf(Group,rdf:type,mo:'MusicGroup')) :- membership_role(Name). +relation_triple(Name, Agent, Group, _, rdf(Group,mo:member,Agent)) :- membership_role(Name). + +relation_triple(Role, Agent, _, _, rdf(Agent,rdf:type,mo:'MusicArtist')) :- + musical_role(Role). +relation_triple(Name, R1, R2, Opts, T) :- + relation_event(Name, R1, R2, Opts, Event, Relation), + relation_event_triple(Relation, Event, T). + +relation_event( based_on, Orig, Deriv, _, Ev, based_on(Orig)) :- event_uri(Ev,composition,Deriv). +relation_event( composer, A, W, O, Ev, composition(composer,A,W,O)) :- event_uri(Ev,composition,W). +relation_event( lyricist, A, W, _, Ev, composition(lyricist,A,W,[])) :- event_uri(Ev,composition,W). +relation_event( writer, A, W, _, Ev, composition(writer,A,W,[])) :- event_uri(Ev,composition,W). +relation_event( arrangement, W1, W2, O, Ev, arrangement(W1,W2,O)) :- event_uri(Ev,arrangement,W2). +relation_event( performance, Sig, W, O, Ev, performance(W,O)) :- event_uri(Ev,production,Sig). +relation_event( performance, Sig, _, _, Ev, recording(Sig)) :- event_uri(Ev,production,Sig). +relation_event( performer, _, Sig, _, Ev, recording(Sig)) :- event_uri(Ev,production,Sig). +relation_event( 'performing orchestra', _, Sig, _, Ev, recording(Sig)) :- event_uri(Ev,production,Sig). +relation_event( vocal, Ag, Sig, O, Ev, ED) :- relation_event( instrument, Ag, Sig, [attribute(voice)|O], Ev, ED). +relation_event( 'instrument arranger', Ag, Sig, O, Ev, ED) :- relation_event(instrument,Ag,Sig,O,Ev,ED). +relation_event( 'instrument arranger', Ag, Sig, O, Ev, ED) :- relation_event(arranger,Ag,Sig,O,Ev,ED). +relation_event( instrument, _, Sig, _, Ev, recording(Sig)) :- event_uri(Ev,production,Sig). +relation_event( instrument, Ag, Sig, O, Ev, instrument(Prod,Ag,O)) :- + mb_id_uri(_,PerformerID,Ag), + event_uri(Prod,production,Sig), + event_uri(Ev,performance,Sig,PerformerID). +relation_event( Name, Agent, Sig, _, Ev, role(Pred,Agent)) :- + production_role(Name,Pred), + mb_id_uri(recording,_,Sig), + event_uri(Ev,production,Sig). + +relation_event( Name, Agent, Group, Opts, Ev, membership(Agent,Group,[role(Role)|Opts])) :- + membership_role(Name,Role), + mb_id_uri(_,AID,Agent), + term_hash(t(AID,Role,Opts),Hash), + number_string(Hash,HashString), + event_uri(Ev,membership,Group,HashString). + +production_role(producer,mo:producer). +production_role(arranger,mo:arranger). +production_role(conductor,mo:conductor). +production_role(performer,mo:performer). +production_role('performing orchestra',mo:performer). +production_role(vocal,mo:performer). + +membership_role(Name) :- membership_role(Name,_). +membership_role('member of band',member). +membership_role('conductor position',conductor). +membership_role('vocal supporting musician',vocal_support). + +musical_role(composer). +musical_role(arranger). +musical_role(lyricist). +musical_role(instrument). +musical_role(performer). +musical_role('performing orchestra'). +musical_role('vocal supporting musician'). +musical_role(Name) :- membership_role(Name). + +relation_event_triple( based_on(_), Ev, rdf(Ev,rdf:type,mo:'Composition')). +relation_event_triple( based_on(Orig), Ev, rdf(Ev,event:factor,Orig)). + +relation_event_triple( membership(_,_,_), Ev, rdf(Ev,rdf:type,mo:'Membership')). +relation_event_triple( membership(A,_,_), Ev, rdf(Ev,mo:artist,A)). +relation_event_triple( membership(_,G,_), Ev, rdf(Ev,mo:group,G)). +relation_event_triple( membership(_,_,O), Ev, T) :- membership_triple(Ev,O,T). +relation_event_triple( membership(_,_,O), Ev, T) :- event_time_triple(Ev,O,T). + +relation_event_triple( composition(_,_,_,_), Ev, rdf(Ev,rdf:type,mo:'Composition')). +relation_event_triple( composition(_,_,W,_), Ev, rdf(Ev,mo:produced_work,W)). +relation_event_triple( composition(R,A,_,_), Ev, rdf(Ev,mo:R,A)). +relation_event_triple( composition(_,_,_,O), Ev, T) :- event_time_triple(Ev,O,T). + +relation_event_triple( arrangement(_,_,_), Ev, rdf(Ev,rdf:type,mo:'Arrangement')). +relation_event_triple( arrangement(W,_,_), Ev, rdf(Ev,mo:arrangement_of,W)). +relation_event_triple( arrangement(_,W,_), Ev, rdf(Ev,mo:produced_work,W)). +relation_event_triple( arrangement(_,_,O), Ev, T) :- event_time_triple(Ev,O,T). + +relation_event_triple( performance(_,_), Ev, rdf(Ev,rdf:type,mo:'Performance')). +relation_event_triple( performance(_,O), Ev, T) :- event_time_triple(Ev,O,T). +relation_event_triple( performance(W,O), Ev, rdf(Ev,Pred,W)) :- + ( member(attribute(partial),O) + -> Pred=mo:partial_performance_of + ; Pred=mo:performance_of + ). + +relation_event_triple( recording(_), Ev, rdf(Ev,rdf:type,mo:'Recording')). +relation_event_triple( recording(S), Ev, rdf(Ev,mo:produced_signal,S)). + +relation_event_triple( instrument(_,_,_), Ev, rdf(Ev,rdf:type,mo:'Performance')). +relation_event_triple( instrument(_,A,_), Ev, rdf(Ev,mo:performer,A)). +relation_event_triple( instrument(P,_,_), Ev, rdf(P,event:sub_event,Ev)). +relation_event_triple( instrument(_,_,O), Ev, T) :- event_time_triple(Ev,O,T). +% relation_event_triple( instrument(_,_,O), Ev, rdf(Ev,mo:instrument,literal(Instr))) :- +% member(attribute(Instr),O). +relation_event_triple( instrument(_,_,O), Ev, rdf(Ev,mo:instrument,Instr)) :- + member(attribute(Label),O), + ( instrument(Label,Instr) -> true + ; Instr=literal(Label) + ). + +membership_triple(E, O, rdf(E,dml:role,literal(R))) :- member(role(R),O), R\=member. +membership_triple(E, O, rdf(E,dml:modifier,literal(A))) :- member(attribute(A),O). + +event_time_triple(Event,Opts,T) :- + (memberchk(begin(_),Opts); memberchk(end(_),Opts); memberchk(in(_),Opts)), + prefix_uri('/time',Event,Time), + ( T=rdf(Event,event:time,Time) + ; ( member(in(DT),Opts) + -> time_instant_triple(Time-DT,T) + ; ( member(begin(DT),Opts), prefix_uri('/begin',Time,Pt), Pred=time:hasBeginning + ; member(end(DT),Opts), prefix_uri('/end',Time,Pt), Pred=time:hasEnd + ), + time_interval_triple(Time,Pred,Pt-DT,T) + ) + ). + +time_instant_triple(Time-_, rdf(Time,rdf:type,time:'Instant')). +time_instant_triple(Time-DT, rdf(Time,time:inXSDDateTime,literal(type(xsd:dateTime,DT)))). + +time_interval_triple(T, _, _, rdf(T,rdf:type, time:'Interval')). +time_interval_triple(T, Pred, Pt-_, rdf(T,Pred,Pt)). +time_interval_triple(_, _, PtDT, T) :- time_instant_triple(PtDT,T). + + +%% event_uri(-EventURI,+Type,+BaseURI) is det. +%% event_uri(-EventURI,+Type,+BaseURI) is det. +event_uri(EventURI,Type,BaseURI) :- event_uri(EventURI,Type,BaseURI,''). + +%% event_uri(+EventURI,-Type,-BaseURI,-Extra) is det. +%% event_uri(-EventURI,+Type,+BaseURI,+Extra) is det. +event_uri(EventURI,Type,BaseURI,Extra) :- + ( var(EventURI) + -> uri_components(BaseURI,uri_components(Sc,Ho,Pa,Extra,'_')), + uri_components(EventURI,uri_components(Sc,Ho,Pa,Extra,Type)), Type\='_' + ; uri_components(EventURI,uri_components(Sc,Ho,Pa,Extra,Type)), Type\='_', + uri_components(BaseURI,uri_components(Sc,Ho,Pa,Extra,'_')) + ). + +% prefix_uri(_,_,N) :- rdf_bnode(N), !. +prefix_uri(Prefix,URI,PURI) :- + uri_components(URI,uri_components(Sc,Ho,Pa,Extra,Type)), atom_concat(Prefix,Pa,TPa), + uri_components(PURI,uri_components(Sc,Ho,TPa,Extra,Type)). + +% -------------- display hooks --------------- +:- rdf_meta label(r,r,-). +label(time:'Instant',URI, Label) :- + ( rdf_has(URI,time:inXSDDateTime,literal(type(xsd:dateTime,DT))) + -> format(string(Label),'~w',[DT]) + ; Label='<unknown>' + ). + +label(time:'Interval',URI, Label) :- + (rdf_has(URI,time:hasBeginning,Begin) -> rdf_display_label(Begin,L1); L1='<unknown>'), + (rdf_has(URI,time:hasEnd,End) -> rdf_display_label(End,L2); L2='<unknown>'), + ( L1=L2 + -> format(string(Label),'~s',[L1]) + ; format(string(Label),'~s to ~s',[L1,L2]) + ). + +label(mo:'Recording',Ev, Label) :- + rdf_has(Ev,mo:produced_signal,Sig), !, + rdf_display_label(Sig,Title), + ( rdf_has(Ev,event:agent,Agent) + -> rdf_display_label(Agent,Name), + format(string(Label),'Recording of ~w by ~w',[Title,Name]) + ; format(string(Label),'Recording of ~w',[Title]) + ). + +label(mo:'Membership',Ev, Label) :- + rdf_has(Ev,mo:artist,A), + rdf_has(Ev,mo:group,G), !, + rdf_display_label(A,AL), + rdf_display_label(G,GL), + format(string(Label),'Membership of ~w in ~w',[AL,GL]). + +label(mo:'Performance',Ev, Label) :- + ( rdf_has(Ev,mo:produced_signal,Sig) + ; rdf_has(SEv,event:sub_event,Ev), + rdf_has(SEv,mo:produced_signal,Sig) + ), !, + rdf_display_label(Sig,Title), + rdf_has(Ev,mo:performer,Performer), rdf_display_label(Performer,Name), + rdf_has(Ev,mo:instrument,Instr), rdf_display_label(Instr,IName), + format(string(Label),'~w playing ~w on ~w',[Name,IName,Title]). + + +label(mo:'Composition',E,Label) :- + rdf_has(E,mo:produced_work,Work), + rdfs_individual_of(Work,mo:'MusicalWork'), !, + rdf_display_label(Work,Title), + format(string(Label),'Composition of ~w',[Title]). + +rdf_label:display_label_hook(URI, _, Label) :- + rdf(URI,rdf:type,Class), + label(Class,URI,Label). + +rdf_label:display_label_hook(URI, _, Label) :- + atom(URI), + sub_atom(URI,0,_,_,'http://musicbrainz.org'), + event_uri(URI,EvType,Base), + event_label(EvType,URI,Base,Label). + +event_label(birth,_,Person,Label) :- + rdfs_individual_of(Person,foaf:'Person'), !, + rdf_display_label(Person,Name), + format(string(Label),'Birth of ~w',[Name]). +event_label(death,_,Person,Label) :- + rdfs_individual_of(Person,foaf:'Person'), !, + rdf_display_label(Person,Name), + format(string(Label),'Death of ~w',[Name]). + +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/lib/dml_data.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,92 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University of London + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +:- module(dml_data, + [ p2r_import/1 + , humdrum_import/1 + , load_everything/0 + , hum_uri_path/2 + , not_functional/3 + , rdf_pair/4 + ]). + +:- use_module(library(semweb/rdf_db)). +:- use_module(library(semweb/rdf_zlib_plugin)). +:- use_module(library(mo_schema)). +:- use_module(library(dbpedia)). +:- use_module(library(humdrum_p2r)). +:- use_module(library(beets_p2r)). +:- use_module(library(memo_p2r)). +:- use_module(library(bl_p2r)). +:- use_module(library(ilm_p2r)). +:- use_module(library(charm_p2r)). +:- use_module(library(mazurka_p2r)). +:- use_module(library(vamp)). +:- use_module(library(termutils)). +:- use_module(library(p2r)). +:- use_module(entailment(p2r)). + + +load_everything :- + maplist(p2r_import,[humdrum_p2r,memo_p2r,beets_p2r,bl_p2r,charm_p2r,vamp]). + +:- meta_predicate not_functional(2,-,-). + +not_functional(G,X,Ys) :- + writeln('Compiling...'), + setof(X-Y,call(G,X,Y),Pairs), + writeln('Grouping...'), + group_pairs_by_key(Pairs,Grouped), + writeln('Checking...'), + Ys=[_,_|_], member(X-Ys,Grouped). + +:- rdf_meta rdf_pair(r,r,o,o). +rdf_pair(P1,P2,X1,X2) :- + rdf(Y,P1,X1), + rdf(Y,P2,X2). + +:- rdf_meta assert_subproperty(r,r). + +%% assert_subproperty(P1,P2) is det. +% Asserts that P1 is a sub-property of P2. +assert_subproperty(P1,P2) :- rdf_assert(P1,rdfs:subPropertyOf,P2). + +rdf_assertions :- + rdf_assert(event:sub_event,rdf:type,owl:'TransitiveProperty'), + assert_subproperty(charm:composer,dml:composer), + assert_subproperty(hum:'refcode/COM',dml:composer), + assert_subproperty(charm:title,dml:title), + assert_subproperty(charm:performer,dml:performer), + assert_subproperty(marcrel:cmp,dml:composer), + assert_subproperty(marcrel:prf,dml:performer), + assert_subproperty(beets:title,dml:title), + assert_subproperty(beets:composer,dml:composer), + assert_subproperty(dc:title,dml:title). + +rdf_loads :- + rdf_load(rdf('silvet.n3')), +% rdf_load('http://id.loc.gov/vocabulary/relators'), +% rdf_load(['http://id.loc.gov/vocabulary/countries.rdf','http://id.loc.gov/vocabulary/languages.rdf'], [register_namespaces(true)]). + rdf_load('http://purl.org/ontology/vamp/',[register_namespaces(true)]), + rdf_load('http://vamp-plugins.org/rdf/plugins/qm-vamp-plugins'), + rdf_load('http://vamp-plugins.org/rdf/plugins/nnls-chroma'), + rdf_load('http://vamp-plugins.org/rdf/plugins/beatroot-vamp'). + +:- initialization rdf_assertions. +%:- initialization rdf_loads. +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/lib/dml_misc.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,73 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University of London + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +:- module(dml_misc, [ periodically/2, current_periodical/3, remove_periodical/1 ]). +/** <module> Miscellaneous hooks and initialisations + + This module implements some hooks for managing the context graphs + which appear at the bottom of individual resource pages. + + It also loads some miscellanous RDF graphs. + +*/ +:- use_module(library(semweb/rdf_db)). +:- use_module(library(semweb/rdfs)). +:- use_module(library(memo)). +:- use_module(cliopatria(hooks)). + +:- rdf_meta context_graph_class(r). + +:- meta_predicate periodically(+,0). +:- meta_predicate current_periodical(-,0,-). + +cliopatria:context_graph(URI, Triples, _) :- + context_graphable(URI), !, + maplist(rdf_global_id,[rdf:type, prov:wasDerivedFrom],Excludes), + findall(T, context_triple(Excludes,URI,[],T), T1), + sort(T1,Triples). + +context_triple(Excludes,URI,Visited,T) :- + edge(URI,Pred,URI1,Triple), + \+member(Pred,Excludes), + ( T=Triple + ; \+member(URI1,Visited), + %context_graphable(URI1), % this follows a lot of link + rdfs_individual_of(URI1,event:'Event'), + context_triple(Excludes,URI1,[URI|Visited],T) + ). + +edge(URI,Pred,URI1,rdf(URI,Pred,URI1)) :- rdf(URI,Pred,URI1), URI1\=literal(_). +edge(URI,Pred,URI1,rdf(URI1,Pred,URI)) :- rdf(URI1,Pred,URI). + +context_graphable(URI) :- + context_graph_class(Class), + rdfs_individual_of(URI,Class). + +context_graph_class(event:'Event'). +context_graph_class(mo:'Signal'). +context_graph_class(mo:'MusicalWork'). +context_graph_class(mo:'MusicGroup'). + +current_periodical(Interval,Goal,Id) :- current_alarm(_,periodically(Interval,Goal),Id,_). +remove_periodical(Id) :- remove_alarm(Id). + +periodically(Interval,Goal) :- + memo:reify(Goal,Status), + (Status=ok -> true; debug(cron,'Periodic goal ~q failed with ~q',[Goal,Status])), + alarm(Interval,periodically(Interval,Goal),_,[remove(true)]). +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/lib/dml_musicbrainz.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,23 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University of London + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +:- module(dml_musicbrainz, [ dump_facets/1]). +:- reexport(library(musicbrainz)). + +dump_facets(E) :- + forall(mb_facet(E,F), (tab(3),print(F),nl)).
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/lib/dml_spotify.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,30 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University of London + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +:- module(dml_spotify, []). + +:- reexport(library(spotify/spotify)). +:- reexport(library(spotify/spotools)). + +:- spotify_app( digifest, + [ id("fb7509e0220c4c02ba81801bb232f9c7") + , secret("a2704c4dd0f54acd8fa42f399e388d49") + , redirect("http://localhost:8888/callback") + , scope('user-read-private playlist-read-private playlist-modify-public') + ]). +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/lib/dml_swish.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,47 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University of London + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +:- module(dml_swish, []). + +:- use_module(library(sandbox)). +:- use_module(library(humdrum)). + +:- use_module(swish:library(http/html_write)). +:- use_module(swish:library(pengines)). +:- use_module(swish:library(memo)). +:- use_module(swish:library(rdfutils)). +:- use_module(swish:library(dataset)). +:- use_module(swish:library(dlogic)). +:- use_module(swish:library(pengutils)). + +user:file_search_path(example,dml(examples)). + +sandbox:safe_meta(settings:setting(_,_),[]). +sandbox:safe_primitive(error:has_type(_,_)). +sandbox:safe_primitive(rdf_label:literal_text(_,_)). +sandbox:safe_primitive(humdrum:hum_read(_,_,_)). % could check path here.. +sandbox:safe_primitive(musicbrainz:mb_query(_,_,_,_)). +sandbox:safe_primitive(humdrum_p2r:hum_uri_path(_,_)). + +sandbox:safe_meta('$dicts':eval_dict_function(Func,_,Dict,Out),Goals) :- !, + ( safe_func(Func), Goals=[] + ; is_dict(Dict,Tag), nonvar(Tag), Goals=[call(Tag:Func,Dict,Out)] + ). +safe_func(get(_)). +safe_func(put(_)). +safe_func(put(_,_)).
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/lib/dovamp.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,96 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University of London + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +:- module(dovamp, []). + + +:- use_module(library(persistency)). +:- use_module(library(semweb/rdf_db)). +:- use_module(library(semweb/rdf_turtle_write)). +:- use_module(library(fileutils)). +:- use_module(library(computations)). +:- use_module(library(swipe)). +:- use_module(library(async)). +:- use_module(components(audio)). +:- use_module(api(archive)). + +computations:do_computation(Transform,Input,Output) :- + rdf(Transform,rdf:type,vamp:'Transform'), !, + debug(dovamp,'Doing on demand Vamp ~q on ~q',[Transform,Input]), + with_temp_dir(Dir, with_progress_stack(sonic_annotator(Dir,Transform,Input,Output))). + +sonic_annotator(Dir,Transform,Input,CSVFile) :- + directory_file_path(Dir,'transform.n3',TFile), + directory_file_path(Dir,'*.csv',CSVPattern), + ( cp_audio:audio_file(Input,AudioFile,_) -> true + ; % !!! HACK + (rdf(Input,dml:blpage,_) -> ignore(bl_p2r:scrape_audio_link(Input,_)); true), + cp_audio:audio_link(Input,AudioLink,_), + directory_file_path(Dir,audio,AudioFile), + format(string(Desc),"Downloading audio for ~w to ~w",[Input,AudioFile]), + simple_task(Desc,run(curl(AudioLink)>:AudioFile^_)) + ), + write_transform(Transform,TFile), + run_with_progress(sonic_annotator(csv(Dir),TFile,AudioFile)), + expand_file_name(CSVPattern,[LocalCSV]), + archive_file('.csv',LocalCSV,CSVFile). + +run_with_progress(Pipeline) :- + command(Pipeline,Cmd), + debug(dovamp,'Running shell: ~s',[Cmd]), + setup_call_cleanup( + process_create(path(bash),['-c',Cmd],[stdin(null),stdout(null),stderr(pipe(Msgs)),process(PID)]), + % !!! not sure why I need once(_) here, but it doesn't work without it + call_cleanup( once(updatable_status_task('Initialising...',Update,read_messages(Msgs,Update))), + exception(_), process_kill(PID)), + (close(Msgs), process_wait(PID,Status)) + ), + check_status(Cmd,Status). + +read_messages(Stream,Update) :- + set_stream(Stream,buffer(false)), + repeat, % argh.. it's a failure driven loop + read_string(Stream, "\n\r", "",End, String), + ( string_concat(_,"%",String) -> call(Update,String) + ; string_concat("ERROR: ",Err,String) -> throw(sonic_annotator(Err)) + ; String\="" -> debug(sonic_annotator,'SA: >~w<',[String]) + ; true + ), + End = -1, !. + +prolog:message(sonic_annotator(Err)) --> ['Sonic annotator error: ~s'-[Err]]. +prolog:message(shell_error(Cmd,RC)) --> ['Shell command exit code ~w: ~s'-[RC,Cmd]]. + +check_status(_,exit(0)) :- !. +check_status(Cmd,exit(RC)) :- RC\=0, throw(shell_error(Cmd,RC)). +check_status(Cmd,killed(S)) :- throw(shell_killed(Cmd,S)). + +write_transform(Transform,File) :- rdf_save_turtle(File,[expand(transform_triple(Transform))]). + +:- rdf_meta transform_triple(r,r,r,o,-). +transform_triple(T, T, P, O, _) :- rdf(T, P, O). +transform_triple(T, S, P, O, _) :- rdf(T, vamp:parameter_binding, Param), describe(Param,rdf(S,P,O)). + +describe(S,rdf(S,P,O)) :- rdf(S,P,O). +describe(S,Triple) :- rdf(S,_,O), atom(O), describe(O,Triple). + + +swipe:def( curl(URL), sh(0>>_, "curl -L ~s 2>/dev/null", [@URL])). +swipe:def( sonic_annotator(csv(Dir),T,In), + sh(0>>0, "sonic-annotator -t ~s -w csv --csv-basedir ~s ~s", + [T+read,@Dir,In+read])). % Dir+write fails for directories
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/lib/dsp.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,65 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University of London + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +:- module(dsp, + [ spectrogram/2 + , spectrogram/3 + , spectrum/2 + , sum/2 + ]). + +:- use_module(library(semweb/rdf_db)). +:- use_module(library(sandbox)). +:- use_module(library(rdfutils)). +:- use_module(library(memo)). +:- use_module(library(mlserver)). + +:- set_prolog_flag(double_quotes,string). + +:- setting(specgram_dynamic_range,number,90,"Dynamic range in dB for spectrograms"). + +spectrogram(URI,X) :- + rdf_text(URI,beets:path,P), + X===specgrm( monofile(P), hanning(2048),512). + +:- volatile_memo spectrum(+atom,-ground). +spectrum(URI,X) :- + spectrogram(URI,Y), + X1===sum(Y,2), + persist_item(X1,X). + +spectrogram(URI,Offset,Length) :- + setting(specgram_dynamic_range,DBs), + ( cp_audio:audio_file(URI,P,Fmt), + ( Fmt=just(aac) + -> MSignal=sndfile(q(P),q(enc),q(aac)) + ; MSignal=sndfile(q(P)) + ) + ; cp_audio:audio_link(URI,P,just(mp3)), + MSignal=mp3file(q(P)) + ), !, + ?? (specgrm( taket(Length,dropt(Offset,mixdown(MSignal))), + hanning(2048),512,"range",DBs,"offset",Offset); + ylim([0,15])). + +sum(Items,Sum) :- + once(member(X,Items)), + D===numdims(X)+1, + Sum===sum(cellcat(D,cell(Items)),D). + +sandbox:safe_primitive(dsp:spectrogram(_,_,_)).
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/lib/grammars.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,425 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University of London + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +:- module(grammars, + [ model_name/2 + , model_module_prep/3 + , build_options/2 + , build_subset_options/2 + , learn/6 + , learn_bpe/6 + , learn_model/7 + , model_sequence_parses/4 + , nnums_ivals/2 + , restart_prism/0 + , best_first/6 + , method_model_dataset_results/4 + , dataset_num_events/2 + ]). + +:- multifile dataset_sequences/2. + +:- use_module(library(memo)). +:- use_module(library(typedef)). +:- use_module(library(lambda)). +:- use_module(library(plml)). +:- use_module(library(prism/prism)). +:- use_module(library(argutils)). +:- use_module(library(snobol)). + +:- type pmodule == ground. +:- type natural == nonneg. +:- type prep == callable. +:- type options == ordset. +:- type model ---> model(atom, list, prep, list(pair(ground,list(number)))). +:- type method ---> vb(ground) ; map(ground). +:- type matlab_method ---> vb ; map. + +% % hmmmn.. maybe module issues here... +% error:has_type(\Checker,Term) :- call(Checker,Term). +error:has_type(ordset,Term) :- is_ordset(Term). + +:- persistent_memo + learn( +method, +pmodule, +prep, +dataset:ground, +options, -scores:list), + learn_model( +method, +pmodule, +prep, +dataset:ground, +options, -scores:list, -model), + dataset_num_events( +dataset:ground, -num_events:nonneg). + +dataset_num_events(Dataset,NumEvents) :- + dataset_sequences(Dataset,Seqs), + maplist(length,Seqs,Lens), + sumlist(Lens,NumEvents). + % aggregate_all(sum(L),(member(S,Seqs),length(S,L)),NumEvents). + +:- initialization memo_attach(memo(learned),[]). +:- setting(timeout, number, 900, 'Time limit for learning in seconds'). + +user:file_search_path(prism,'psm'). +user:matlab_path(grammars,['stats/hmm']). + +partition_options([],[],[],[]). +partition_options([O|OX],[O|MO],IO,LO) :- option_class(O,model), partition_options(OX,MO,IO,LO). +partition_options([O|OX],MO,[O|IO],LO) :- option_class(O,init), partition_options(OX,MO,IO,LO). +partition_options([O|OX],MO,IO,[O|LO]) :- option_class(O,learn), partition_options(OX,MO,IO,LO). + +option_class(switch_mode(_),model). +option_class(prior_weight(_),model). +option_class(gamut(_),model). +option_class(leap_range(_),model). +option_class(log_scale(_),learn). +option_class(O,init) :- \+option_class(O,model), \+option_class(O,learn). + +option_mlopt(gamut(X-Y),gamut:[X,Y]) :- !. +option_mlopt(init(none),perturb:0) :- !. +option_mlopt(init(perturb(U)),perturb:U) :- !. +option_mlopt(F,N:V) :- F=..[N,V]. + +learn(vb(InitMeth),matlab(Function),Prepare,DataSet,Opts,[free_energy(FE)]) :- !, + dataset_sequences(DataSet, D1), + maplist(Prepare,D1,D), + maplist(option_mlopt,[init(InitMeth)|Opts],Opts1), + compileoptions(Opts1,Opts2), + [float(FE)]===feval(@Function,cell(D),Opts2). + + % method dependent options + +learn(Method,Module,Prepare,DataSet,Opts,Scores) :- + member(Method,[vb(_),map(_)]), + % prepare data + dataset_sequences(DataSet, D1), + maplist(Prepare,D1,D), + % method dependent options + method_switch_mode(Method,Mode), + option(log_scale(LS), Opts, on), + % load up prism and initialise + restart_prism, load_prism(prism(Module)), + #init_model([switch_mode(Mode)|Opts]), + #init_switches(Opts), + set_prism_flag(log_scale,LS), + % allow 15 minutes for learning + setting(timeout, TimeLimit), + get_time(Time), + debug(learn,'Calling PRISM with time limit ~w at ~@...', + [TimeLimit, format_time(current_output,'%T',Time)]), + call_with_time_limit(TimeLimit, prism_learn(Method, D, [], Scores)). + +method_switch_mode(vb(_),a). +method_switch_mode(map(_),d). + +learn_model(Method,Module,Prepare,DataSet,Opts,Scores,model(Module,ModelOpts,Prepare,Counts)) :- + % must re-compute to get final state + compute(learn(Method,Module,Prepare,DataSet,Opts,Scores)), + partition_options(Opts,ModelOpts,_,_), + get_prism_state(ps(_,_,Counts1,_,_,_)), + map_filter(unfixed_count,Counts1,Counts). + +unfixed_count(sw(SW,a,set(unfixed,Counts)), SW-Counts). + +model_initial_state(model(Module,MO,_,_),State) :- + restart_prism, + load_prism(prism(Module)), + #init_model([switch_mode(a)|MO]), + get_prism_state(State). + +with_model_data(model(Module,MO,Prepare,Counts),Data,Goal) :- + restart_prism, load_prism(prism(Module)), + #init_model([switch_mode(a)|MO]), + #maplist(SW-C,set_sw_a(SW,C),Counts), + call(Prepare,Data,D), + call(Goal,D). + +learn_bpe(Method,Module,Prepare,DataSet,Opts,BPE) :- + browse(learn(Method,Module,Prepare,DataSet,Opts,Scores)), + catch( bits_per_event(Method,DataSet,Scores,BPE), _, fail). + +bits_per_event(Method,DS,Scores,BPE) :- + dataset_num_events(DS,NumEvents), + score(Method,NumEvents,Scores,BPE). + +score(map(_),NumEvents,Scores,BitsPerEvent) :- + member(log_lik(LL), Scores), + BitsPerEvent is -(LL/NumEvents)/log(2). + +score(vb(_),NumEvents,Scores,BitsPerEvent) :- + member(free_energy(LL), Scores), + BitsPerEvent is -(LL/NumEvents)/log(2). + +score(vb_pm(_),NumEvents,Scores,BitsPerEvent) :- + member(free_energy(LL), Scores), + BitsPerEvent is -(LL/NumEvents)/log(2). + +%% tree_syntax(+Mod:module,+Tree:prism_tree,-Syntax:tree) is det. +% +% Create a parse tree from a PRISM Viterbi tree. +% Works for models gilbert1, gilbert2, gilbert2a, gilbert3 and gilbert2m. +tree_syntax(Mod,[s(_),TT],T2) :- tree_parse_tree(Mod,TT,T2). + +tree_parse_tree(_,msw(i(I),terminal),node(t(I),[])). +tree_parse_tree(Mod,[pp(s,_,_)|Children],Term) :- member(Mod,[gilbert2,gilbert2a,gilbert3,gilbert2m]), !, + member(msw(s,Rule),Children), + map_filter(tree_parse_tree(Mod),Children,CN), + ( Rule=grow -> CN=[Child1,T1], T1=node(s,Tail), Term=node(s,[Child1|Tail]) + ; Rule=last -> CN=[Child], Term=node(s,[Child]) + ). +tree_parse_tree(Mod,[pp(s,_,_)|Children],Term) :- Mod=gilbert1, !, + member(msw(s,Rule),Children), + map_filter(tree_parse_tree(Mod),Children,CN), + ( Rule=grow -> CN=[Child1,T1], T1=node(s,Tail), Term=node(s,[Child1|Tail]) + ; Rule=first -> CN=[], Term=node(s,[]) + ). +tree_parse_tree(Mod,[pp(H,_,_)|Children],Term) :- !, + map_filter(tree_parse_tree(Mod),Children,CN), + member(msw(H,Rule1),Children), + ( Rule1=terminal -> Rule=t; Rule=Rule1), + Term = node(H-Rule,CN). + +:- volatile_memo model_sequence_parses(+ground,+list(ground),+natural,-ground). + +model_sequence_parses(Model,Seq,N,Parses) :- + Model=model(Mod,_,_,_), + with_model_data(Model,Seq,parses(Mod,N,Parses)). + +parses(Mod,N,Parses,Goal) :- + succ(N,M), + findall(P-T,viterbi_tree(M,Goal,P,[],T),ProbsTrees), + append(NProbsTrees,[P0-_],ProbsTrees), + maplist(tree_parse(Mod,P0),NProbsTrees,Parses). + +tree_parse(Mod,P0,P-T,RP-S) :- tree_syntax(Mod,T,S), RP is P/P0. + + +% model declarations +decl_model(markov(nnum,0), p1gram, markovp, with_nnums(s0)). +decl_model(markov(nnum,1), p2gram, markovp, with_nnums(s1)). +decl_model(markov(ival,0), i1gram, markovi, with_ivals(s0)). +decl_model(markov(ival,1), i2gram, markovi, with_ivals(s1)). +decl_model(gilbert(1), gilbert1, gilbert1, with_pre_ivals(s)). +decl_model(gilbert(2), gilbert2, gilbert2, with_ivals(s)). +decl_model(gilbert(3), gilbert3, gilbert3, with_ivals(s)). +decl_model(gilbert(2-a), gilbert2a, gilbert2a, with_ivals(s)). +decl_model(gilbert(2-m), gilbert2m, gilbert2m, with_ivals(s)). +% decl_model(gilbert(4), gilbert1, gilbert1a, with_pre_ivals(s)). +% decl_model(gilbert(5), gilbert2, gilbert2a, with_ivals(s)). +% decl_model(gilbert(6), gilbert3, gilbert3a, with_ivals(s)). +decl_model(hmm(nnum), phmm, phmm, with_nnums(s)). +decl_model(hmm(nnum,NS), Name, phmm, with_nnums(s)) :- atom_concat(phmm,NS,Name). +%decl_model(hmm(ival), ihmm, ihmm, with_ivals(s)). +decl_model(matlab(p1gram), 'ml-p1gram', matlab(p1gram), (=)). +decl_model(matlab(p2gram), 'ml-p2gram', matlab(p2gram), (=)). +decl_model(matlab(phmm), 'ml-phmm', matlab(phmm), (=)). + +model_name(Model,Name) :- decl_model(Model,Name,_,_). +model_module_prep(Model,Module,Prepare) :- decl_model(Model,_,Module,Prepare). + +with_nnums(Head, Seq, Head1) :- + addargs(Head,[Seq],Head1). + +with_ivals(Head, Seq, Head1) :- + nnums_ivals(Seq,Seq1), + addargs(Head,[Seq1],Head1). + +with_pre_ivals(Head, Seq, Head1) :- + nnums_pre_ivals(Seq,Seq1), + addargs(Head,[Seq1],Head1). + +nnums_ivals(NNums,Ivals) :- nnums_post_ivals(NNums,Ivals). +nnums_post_ivals(NNums,Ivals) :- phrase((ivals(NNums),[end]),Ivals,[]). +nnums_pre_ivals(NNums,Ivals) :- phrase(([start],ivals(NNums)),Ivals,[]). + +ivals([X0,X1|Xs]) --> {I1 is X1-X0}, [I1], ivals([X1|Xs]). +ivals([_]) --> []. + +% NB option defaults here must match those in PRISM source files. +model_options(markov(nnum,_)) --> + optopt(prior_shape, [binomial+0.1*uniform, binomial+uniform, uniform]), + optopt(gamut,[40-100]). + +model_options(markov(ival,_)) --> + optopt(prior_shape, [uniform, binomial+uniform, binomial+0.1*uniform]). + +model_options(gilbert(_)) --> + [leap_range((-20)-(20))], + optopt(leap_shape, [uniform, binomial+uniform, binomial+0.1*uniform]), + optopt(pass_shape, [binomial, binomial+uniform, binomial+0.1*uniform]). + +model_options(hmm(nnum)) --> + optopt(prior_shape, [binomial+0.1*uniform, binomial+uniform, uniform]), + anyopt(num_states, [1,2,3,5,7,12,18]), + optopt(trans_self, [1]), + % optopt(gamut,[40-100]). + % anyopt(trans_self, [1]), + anyopt(gamut,[40-100]). + +model_options(hmm(nnum,NS)) --> + [num_states(NS)], + optopt(prior_shape, [binomial+0.1*uniform, binomial+uniform, uniform]), + optopt(trans_self, [1]), + % optopt(gamut,[40-100]). + % anyopt(trans_self, [1]), + anyopt(gamut,[40-100]). + +model_options(hmm(ival)) --> + optopt(prior_shape, [binomial+0.1*uniform, binomial+uniform, uniform]), + anyopt(num_states, [5,7,12,24]), + [leap_range((-20)-(20))]. + +model_options(matlab(p1gram)) --> + optopt(prior_shape, [binomial+0.1*uniform, binomial+uniform, uniform]), + optopt(gamut,[40-100]). + +model_options(matlab(p2gram)) --> + optopt(prior_shape, [binomial+0.1*uniform, binomial+uniform, uniform]), + optopt(gamut,[40-100]). + +model_options(matlab(phmm)) --> + optopt(prior_shape, [binomial+0.1*uniform, binomial+uniform, uniform]), + anyopt(num_states, [1,2,3,5,7,12,18]), + optopt(gamut,[40-100]). + +model_subset_options(markov(nnum,_)) --> [prior_shape(binomial+0.1*uniform)]. +model_subset_options(markov(ival,_)) --> [prior_shape(binomial+0.1*uniform)]. +model_subset_options(gilbert(_)) --> []. +model_subset_options(hmm(nnum)) --> + [prior_shape(binomial+0.1*uniform)], + anyopt(num_states,[2,5,7,12,18]). +model_subset_options(hmm(ival)) --> + [prior_shape(binomial+0.1*uniform), leap_range((-20)-(20))], + anyopt(num_states,[2,5,7,12]). + +build_options(Model,Opts) :- + build_options(Model,Opts1,[]), + sort(Opts1,Opts). + +build_options(Model) --> + optopt(prior_weight,[0.3,3,10]), % NB have removed 0.1 and 30 + model_options(Model). + +build_subset_options(Model,Opts) :- + build_subset_options(Model,Opts1,[]), + sort(Opts1,Opts). + +build_subset_options(Model) --> + optopt(prior_weight,[0.1,0.3,3,10,30]), + model_subset_options(Model). + +anyopt(Name,Vals) --> {maplist(\X^Y^(Y=..[Name,X]),Vals,Opts)}, any(Opts). +optopt(Name,Vals) --> []; anyopt(Name,Vals). + +best_first(Meth,Mod,Prepare,DS,Opts,learn(Meth,Mod,Prepare,DS,Opts,F)) :- + order_by([asc(F)], learn_bpe(Meth,Mod,Prepare,DS,Opts,F)). + +/* TODO: + Sort out HMM init options. They are all wrong: + init_shape : shape of prior over initial state {uniform} + trans_shape : shape of prior over transition distribution {uniform} + trans_persistence : add self transtion counts {0,1,3} + init_noise : perturbation of initial obs counts {0,0.1} + restarts: {3} + + + + compare p2gram with hmm(1) + */ + + +%% map_filter(+P:pred(A,B),+Xs:list(A),-Ys:list(B)) is det. +% +% map_filter(P,Xs,Ys) is similar to maplist(P,Xs,Ys), except that P is allowed to +% fail and the resulting list Ys contains only those elements Y for which call(P,X,Y). +% P is used as if it was semi-deterministic: only the first solution is accepted. +map_filter(_,[],[]). +map_filter(P,[X|XX],[Y|YY]) :- call(P,X,Y), !, map_filter(P,XX,YY). +map_filter(P,[_|XX],YY) :- map_filter(P,XX,YY). + +user:file_search_path(home,X) :- expand_file_name('~',[X]). +user:file_search_path(prism,home('src/probprog/prism/psm')). +restart_prism :- prism_start('prism.log'). + +retry_on_error(G,M) :- + catch((restart_prism,G,Status=ok), Ex, Status=error(Ex)), + ( Status=ok -> true + ; format('*** terminated with ~w.\n',[Ex]), + shell('say ALERT: THERE WAS AN ERROR!'), + ( succ(N,M) -> retry_on_error(G,N) + ; writeln('failing after too many retries.'), + shell('say ALERT: I AM GIVING UP!'), + shell('say ALERT: I AM GIVING UP!'), + fail + ) + ). + +%% summary_array(+Meth:method,+Models:list(model),+Datasets:list(dataset),-Summary) is det. +summary_array(Meth,Models,Datasets,arr(Summary)) :- + maplist( \Model^RR^maplist(\DS^{arr(R)}^method_model_dataset_results(Meth,Model,DS,R),Datasets,RR), Models,Summary). + +%% method_model_dataset_results(+Method,+Model,+Dataset,Results:list(list(number))) is det. +method_model_dataset_results(Meth,Model,DS,Results) :- bagof( Row, datum(Meth,Model,DS,Row), Results). + +%% datum(+Method:method,+Model:model,+Dataset,-Datum:list(number)) is nondet. +% +% Maps trained models to a numerical tuple consisting of +% the free energy (in bits per event), the prior weight parameter, and one or two +% shape parameters, depending on the model. The shape parameter is 0 for a uniform +% prior, 1 for a binomial prior, and between 0 and 1 for linear interpolation between +% the two. +% +% Grammar models have leap_shape and pass_shape parameters, while the others +% have a single prior_shape parameter. +datum(Meth,gilbert(I),DS,[FE,W,K1,K2]) :- + model_module_prep(gilbert(I),Mod,Prep), + learn_bpe(Meth,Mod,Prep,DS,Opts,FE), + option(prior_weight(W),Opts,1), + option(leap_shape(Sh1),Opts,binomial), + option(pass_shape(Sh2),Opts,uniform), + shape_param(Sh1,K1), + shape_param(Sh2,K2). + +datum(Meth,markov(Rep,Ord),DS,[FE,W,K]) :- + model_module_prep(markov(Rep,Ord),Mod,Prep), + learn_bpe(Meth,Mod,Prep,DS,Opts,FE), + option(prior_weight(W),Opts,1), + option(prior_shape(Sh),Opts,binomial), + shape_param(Sh,K). + +datum(Meth,hmm(Rep),DS,[FE,W,K]) :- + model_module_prep(hmm(Rep),Mod,Prep), + learn_bpe(Meth,Mod,Prep,DS,Opts,FE), + option(prior_weight(W),Opts,1), + option(prior_shape(Sh),Opts,binomial), + shape_param(Sh,K). + +datum(Meth,hmm(Rep,NS),DS,[FE,W,K]) :- + model_module_prep(hmm(Rep),Mod,Prep), + learn_bpe(Meth,Mod,Prep,DS,Opts,FE), + option(num_states(NS),Opts), + option(prior_weight(W),Opts,1), + option(prior_shape(Sh),Opts,binomial), + shape_param(Sh,K). + +datum(Meth,matlab(F),DS,[FE,W,K]) :- + model_module_prep(matlab(F),Mod,Prep), + learn_bpe(Meth,Mod,Prep,DS,Opts,FE), + option(prior_weight(W),Opts,1), + option(prior_shape(Sh),Opts,binomial), + shape_param(Sh,K). + +shape_param(uniform,0). +shape_param(binomial,1). +shape_param(binomial+uniform,0.5). +shape_param(uniform+binomial,0.5). +shape_param(binomial+K*uniform,Lam) :- Lam = 1/(1+K). +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/lib/htmlutils.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,88 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University of London + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +:- module(htmlutils, + [ link//2 + , style//1 + , script//1 + , use_font//2 + , use_font//3 + , paginator//3 + , element//2 + ]). + +:- use_module(library(http/html_write)). +:- use_module(library(http/html_head)). +:- use_module(library(http/http_path)). +:- use_module(library(http/http_dispatch)). +:- use_module(library(http/http_server_files)). + +:- multifile user:body//1, user:body//2. +:- multifile user:head//1, user:head//2. +% :- multifile user:style/2. + +:- set_prolog_flag(double_quotes,string). + +% :- setting(appname, string, "anApp", "Application name"). + +:- meta_predicate element(+,:,?,?). +element(Element,Content) --> { Item=..[Element, Content] }, html(Item). + +link(Id,Text) --> html(a(href(location_by_id(Id)),Text)). +style(Loc) --> {http_absolute_location(Loc,Ref,[])}, html(link([rel(stylesheet), href(Ref)],[])). +script(Loc) --> {http_absolute_location(Loc,Ref,[])}, html(script(src(Ref),[])). + +http:location(googlefonts,"//fonts.googleapis.com",[]). + +user:term_expansion((:- googlefont(Name,Family)), Decls) :- + Decls = [ (:- html_resource(Name,[virtual(true),requires(googlefonts(Query))])) + , (:- html_resource(googlefonts(Query),[mime_type(text/css)])) + ], + string_concat("css?family=",Family,Query). + + +use_font(Family,Resource) --> + html_requires(Resource), + html_post(head, style(type="text/css","html,body,h1,h2,h3,h4,h5,h6,select,input,.btn {font-family: '~s';}"-[Family])). + +use_font(Elements,Family,Resource) --> + html_requires(Resource), + html_post(head, style(type="text/css","~w {font-family: '~s';}"-[Elements,Family])). + +paginator(_,_,1) --> []. +paginator(Handler,Page,Pages) --> + html(div(class('text-centered'), + ul(class(pagination), + [ li(\prev(Page,Pages,Handler)) + , li(\page_link(Handler,1,1)) + , li(span("~d of ~d"-[Page,Pages])) + , li(\page_link(Handler,Pages,Pages)) + , li(\next(Page,Pages,Handler)) + ]))). + +prev(1,_,_) --> !,html(span(class(inactive),&(larr))). +prev(N,_,Handler) --> { succ(M,N) }, page_link(Handler,M,&(larr)). + +next(N,N,_) --> !,html(span(class(inactive),&(rarr))). +next(N,_,Handler) --> { succ(N,M) }, page_link(Handler,M,&(rarr)). + +page_link(ID-Params,N,Content) --> + { http_link_to_id(ID,[page(N)|Params],Link) }, + html(a(href(Link),Content)). + +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/lib/httpfiles.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,129 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University of London + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +:- module(httpfiles, + [ reply_file/2 + , reply_file/3 + , reply_stream/2 + , reply_stream/3 + , reply_html_page/4 + , write_headers/1 + , mime_type/2 + ]). + +:- use_module(library(http/html_write)). + +:- meta_predicate reply_html_page(+,:,:,+). + +write_headers(Headers) :- maplist(write_header,Headers), nl. + +write_header(length(L)) :- write_header('Content-Length'-L). +write_header(no_ranges) :- write_header('Accept-Ranges'-none). +write_header(stable) :- write_header('Cache-Control'-'max-age=31536000, public'). +write_header(unstable) :- write_header('Cache-Control'-'max-age=0, public'). +write_header(error) :- write_header('Cache-Control'-'max-age=0, private, must-revalidate'). +write_header(html) :- + html_current_option(content_type(ContentType)), + write_header('Content-Type'-ContentType). +write_header(type(Type)) :- + mime_type(Type,MimeType), + write_header('Content-Type'-MimeType). +write_header(cookie(Name,Value,Expires)) :- + format(atom(Cookie),'~w=~w; path=/; Expires=~w',[Name,Value,Expires]), + write_header('Set-Cookie'-Cookie). +write_header(no_cache) :- + maplist( write_header, + [ 'Cache-Control'-'no-cache, no-store, must-revalidate' + , 'Pragma'-'no-cache' + , 'Expires'-'0' + ]). + +write_header(Name-Value) :- + format('~w: ~w~n',[Name,Value]). + +reply_html_page(Style,Head,Body,Headers) :- + phrase(page(Style,Head,Body),Tokens), + write_headers([html|Headers]), + print_html(Tokens). + +reply_file(File,Type) :- reply_file(File,Type,[stable]). +reply_file(File,Type,Headers) :- + write_headers([type(Type)|Headers]), + debug(httpfiles,"Sending ~w with type ~w...",[File,Type]), + setup_call_cleanup( + open(File, read, In, [type(binary)]), + copy_stream_data(In, current_output), + close(In)), + debug(httpfiles,"Finished sending.",[]). + +with_tmp_stream(Enc,File,Str,Goal) :- + setup_call_cleanup( + tmp_file_stream(Enc,File,Str), Goal, + (close(Str,[force(true)]), delete_file(File))). + +reply_stream(In,Type) :- reply_stream(In,Type,[stable]). +reply_stream(In,Type,Headers) :- + ( memberchk(length(Length),Headers), var(Length) + -> debug(httpfiles,"Stream length unknown - buffering to file...",[]), + with_tmp_stream( octet, TmpFile, ToTmp, + ( copy_stream_data(In,ToTmp), close(ToTmp), + size_file(TmpFile,Length), + debug(httpfiles,"Stream length was ~d bytes",[Length]), + reply_file(TmpFile,Type,Headers) + )) + ; write_headers([type(Type)|Headers]), + copy_stream_data(In, current_output) + ), + debug(httpfiles,"Finished sending stream.",[]). + +% debug_stream(S,Label,Prop) :- stream_property(S,Prop), debug(httpfiles,"Stream property (~w): ~w",[Label,Prop]). + +% copy_stream_length(In,Out,Len) :- + % copy_stream_data(In,Out). + % copy_stream_length(In,Out,0,Len). + +% copy_stream_length(In,_,Len,Len) :- at_end_of_stream(In), !. +% copy_stream_length(In,Out,L1,L3) :- +% debug(httpfiles,"Reading...",[]), +% read_pending_input(In,Codes,[]), +% length(Codes,N), L2 is L1+N, +% debug(httpfiles,"Transferring ~d bytes...",[N]), +% format(Out,'~s',[Codes]), +% flush_output(Out), +% copy_stream_length(In,Out,L2,L3). + +mime_type(csv , "text/csv"). +mime_type(ogg , "audio/ogg"). +mime_type(mp3 , "audio/mp3"). +mime_type(aac , "audio/aac"). +mime_type(svg, "image/svg+xml; charset=UTF-8"). +mime_type(pdf, "application/pdf"). +mime_type(eps, "application/postscript"). +mime_type(ps, "application/postscript"). +mime_type(kern, "text/plain; charset=UTF-8"). +mime_type(abc, "text/plain; charset=UTF-8"). % vnd.abc +mime_type(mxml, "text/xml; charset=UTF-8"). +mime_type(lily, "text/plain; charset=UTF-8"). +mime_type(midi, "audio/midi"). +mime_type(png, "image/png"). +mime_type(mp4, "video/mp4"). +mime_type(json, "application/json; charset=UTF-8"). +mime_type(jsonp,"application/javascript; charset=UTF-8"). + +% httpfiles:mime_type(mxml, "application/vnd.recordare.musicxml+xml; charset=UTF-8"). +% httpfiles:mime_type(lily, "text/x-lilypond; charset=UTF-8").
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/lib/humdrum_p2r.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,286 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University of London + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +:- module(humdrum_p2r, [ humdrum_import/1, hum_uri_path/2 ]). + +/** <module> Manages a database of Humdrum files and mappings to RDF. + */ + +:- use_module(library(memo)). +:- use_module(library(humdrum)). +:- use_module(library(humdrum/humdrum_world), [with_kern_module/4]). +:- use_module(library(fileutils)). +:- use_module(library(termutils)). +:- use_module(library(typedef)). +:- use_module(library(dcg_core)). +:- use_module(library(musiclab)). +:- use_module(library(settings)). +:- use_module(entailment(p2r)). + +:- set_prolog_flag(double_quotes,string). + +:- rdf_register_prefix(humdb,'http://dml.org/humdrum/data/'). +:- rdf_register_prefix(hum,'http://dml.org/humdrum/schema/'). +:- rdf_register_prefix(kern,'kern:'). + +:- setting(kern_root,string,"~/lib/kern","Root of kern lib tree"). +:- setting(kern_subdirs,list(atom),[classical,lorraine,jrp,ragtime,ireland,pentatonic,idyom],"Kern library directories to import"). + +uripattern:def( work(Opus), humdb:work/enc(Opus)). +uripattern:def( trefcode(C), hum:refcode/trans/enc(C)). +uripattern:def( refcode(C), hum:refcode/enc(C)). +uripattern:def( kernfile(F), kern:tail(F)). + +% Humdrum schema +rdf(hum:refcode('OTL'), rdfs:subPropertyOf, dc:title), +rdf(hum:composer, rdfs:subPropertyOf, foaf:maker), +rdf(hum:opus, rdfs:subPropertyOf, mo:opus), +rdf(hum:'Work', rdfs:subClassOf, mo:'MusicalWork'), +rdf(hum:'File', rdfs:subClassOf, mo:'Score'), +rdf(hum:encodedBy, rdfs:type, rdf:'ObjectProperty'), +% rdf(hum:encodedBy, owl:inverseOf, hum:encodes) <== true. + +rdf(\refcode(C), rdfs:subPropertyOf, \trefcode(C)) <== + setof(C, translated_refcode(C), Codes), + member(C, Codes). + +rdf(\trefcode(C), rdf:comment, Desc1) <== + setof(C, translated_refcode(C), Codes), + member(C, Codes), + hum_prop_desc(C,Desc), + atom_concat(Desc,' (translated)',Desc1). + +translated_refcode(Code) :- + browse(file_props(_,Props)), + member(Code-((sec-_)-_),Props). + +hum_prop_desc(C,_) ==> + rdf(\refcode(C), rdf:type, rdf:'ObjectProperty'), + rdf(\refcode(C), rdf:domain, hum:'File'). + +hum_prop_desc(C,Desc) ==> + rdf(\refcode(C), rdf:comment, literal(Desc)). + +% -- mappings that use file_opus/2 --------------- + +%% file(-File) is nondet. +% True when File is a Humdrum file that has been imported into +% the current database. +:- dynamic file/1. + +%% file_opus(-File,-Opus) is nondet. +% True when Humdrum file File contains an SCT refcode +% (scholarly catalog number) Opus. +file_opus(F,O) :- file(F), file_prop(F,'SCT',_,O). + +rdf(\kernfile(F), \trefcode(C), literal(Value)) <== + call_with_mode(browse,file_prop(F,C,sec,Value)). + +rdf(\kernfile(F), \refcode(C), literal(Value)) <== + call_with_mode(browse,file_prop(F,C,pri,Value)). + +rdf(\kernfile(F), hum:directory, literal(Dir1)) <== + file(F), + file_directory_name(F,Dir), + atom_concat('/',Dir1,Dir). + +file(F) ==> + % rdf(\kernfile(F), hum:language, hum:language/humdrum), + rdf(\kernfile(F), rdf:type, hum:'File'). + +file_opus(_,O) ==> + rdf(\work(O), rdf:type, hum:'Work'), + rdf(\work(O), hum:opus, literal(O)). + +% file_opus(F,O) ==> +% rdf(\kernfile(F), hum:encodes, \work(O)). + + +% rdf(\work(O), dc:title, literal(Title)) <== +% file_opus(F,O), +% (file_has(F,'OTL',Title); file_has(F,'OTP',Title)). + +% rdf(\work(O), dc:title, literal(lang(Lang,Title))) <== +% file_opus(F,O), +% file_has(F,'OTL',Title), +% file_has(F,'TXO',Lang). + +% rdf(\work(O), hum:partOf, humdb:parent_work/enc(P)) <== +% file_opus(F,O), +% (file_has(F,'OPT',P); file_has(F,'OPR',P)). + +% rdf(\work(O), hum:composer, humdb:agent/enc(C)) <== +% file_opus(F,O), file_has(F,'COM',C). + +% rdf(\work(O), hum:number, literal(Num)) <== +% file_opus(F,O), file_has(F,'ONM',Num). + +% ----- mappings using composers/1 -------- + +% rdf(humdb:agent/enc(C), foaf:name, literal(C)), +% rdf(humdb:agent/enc(C), rdf:type, mo:'MusicArtist') <== +% composers(Composers), +% member(C,Composers). + +% ----- mappings using parent_works/1 -------- + +% rdf(humdb:parent_work/enc(P), rdf:type, hum:'Work'), +% rdf(humdb:parent_work/enc(P), dc:title, literal(P)) <== +% parent_works(Works), +% member(P,Works). + + +has_stripped(Recs,Prop,Status,Literal) :- + member(ref(Prop,Lang,RawValue),Recs), + split_string(RawValue,""," ",[String]), + String\="", atom_string(Value,String), + refcode_literal(Lang,Value,Status,Literal). + +refcode_literal(def, Val, pri, Val). +refcode_literal(P-Lang, Val, P, lang(L,Val)) :- lang(Lang,L). + +:- type prop ---> prop(atom,atom,ground). +:- volatile_memo file_props(+file:atomic,-props:list(prop)). + +file_props(File,Props) :- + setting(kern_root,Root0), + expand_file_name(Root0,[Root]), + string_concat(Root,File,Abs), + % !!! FIXME: will barf if Root contains funny characters + format(string(Cmd),"grep '^!!!' \"~w\"",[Abs]), + hum_read(pipe(Cmd),utf8,Recs), + setof(prop(Prop,Status,Lit),has_stripped(Recs,Prop,Status,Lit),Props). + + +:- volatile_memo parent_works(-works:list(ground)). +parent_works(Works) :- + writeln('% Compiling list of parent works...'), + setof(P, F^O^(file_opus(F,O),file_prop(F,'OPR',_,P)), Works). + +:- volatile_memo composers(-composers:list(atom)). + +%% composers(-Composers:list(atom)) is det. +% Compiles a list of composer names referenced in the current +% Humdrum file property database file_props/2. +composers(Composers) :- + writeln('% Compiling list of composers...'), + findall(C, call_with_mode(browse,file_prop(_,'COM',_,C)), CList), + sort(CList,Composers). + +% rdf(URI,rdf:type,mo:'MusicArtist') <== +% composers(Comps), +% member(C,Comps), +% agent_uri(composer,C,URI). + +% rdf(URI,hum:name,literal(Name)) <== +% agent_uri(composer,Name,URI). + +% rdf(\kernfile(F), hum:composer, literal(Name)) <== +% call_with_mode(browse,file_prop(F,'COM',pri,Name)), + % agent_uri(composer,Name,URI). + + +file_work_terms(File) --> + if(file_prop(File,'OTL',_,Title), [Title]), + if(file_prop(File,'OPR',_,Parent), [Parent]), + if(file_prop(File,'OPN',_,Opus), [Opus]), + if(file_prop(File,'SCT',_,Cat), [Cat]). + + +file_prop(File,Prop,Status,Lit) :- + file_props(File,Props), + member(prop(Prop,Status,Lit),Props). + + +hum_uri_path(URI,Path) :- + atom_concat('kern:',Rel,URI), + setting(kern_root,Root), + expand_file_name(Root,[Root1]), + string_concat(Root1,Rel,Path). + + +%% humdrum_import(+Path:atom) is det. +% +% Searches for files in the directory tree beneath +% =|<kern_root>/Path|=, where =|<kern_root"|= is the current +% value of the setting =|humdrum_p2r:kern_root|=. Path can +% be any relative path. Files are added to memoised property +% database predicate file_props/2. +humdrum_import(Path) :- + setting(kern_root,Root0), + expand_file_name(Root0,[Root]), + with_status_line( + forall( ( kern_file(under(Root/Path),File), + atom_concat(Root,Rel,File), + memo(file_props(Rel,_),_-ok)), + ( status(" Imported ~s",[Rel]), + id_assert(file(Rel))) )). + +:- volatile_memo scan_library_dir(+ground,-float). +scan_library_dir(Dir,T):- humdrum_import(Dir), get_time(T). + + +:- public import/0, import/1. +import :- + setting(kern_subdirs,Dirs), + import(Dirs). +import(Dirs) :- + maplist(scan_library_dir,Dirs,_), + assert_all(humdrum_p2r). + +:- volatile_memo humfile_status(+string,-ground). +humfile_status(Path,Status) :- + status(Path,[]), + catch( ( with_kern_module(Path,utf8,_,true) -> Status=ok + ; Status=fail), + Ex, Status=ex(Ex)). + + +humdrum_check :- + with_status_line( + forall( (rdf_db:rdf(X,rdf:type,hum:'File'), hum_uri_path(X,Path)), + ( humfile_status(Path,Status), + ( Status=ok -> true + ; Status=fail -> format('\nFailed on: ~w\n',[Path]) + ; Status=ex(Ex) -> format('\nException on: ~w\n',[Path]), + print_message(error,Ex) + ) + ))). + +kern_file(Findspec,File) :- + find_files(Findspec,File), + extension_in(File,[krn,kern,'KRN','KERN']). + +id_assert(Fact) :- call(Fact) -> true; assert(Fact). + +lang('ENG',en). +lang('EN',en). +lang('FRA',fr). +lang('FRE',fr). +lang('FR',fr). +lang('DE',de). +lang('DEU',de). +lang('GER',de). +lang('ITA',it). +lang('IT',it). +lang('NO',no). +lang('NOR',no). +lang('LAT',la). +lang('LA',la). +lang('RU',ru). +lang('RUS',ru).
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/lib/ilm_p2r.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,168 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University of London + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +:- module(ilm_p2r, []). + +/** <module> Access to ILM database + */ + + +:- use_module(library(odbc)). +:- use_module(library(musicbrainz)). +:- use_module(library(semweb/rdf_db)). +:- use_module(library(termutils)). +:- use_module(library(odbcutils)). +:- use_module(library(rdfutils)). +:- use_module(library(dcg_core)). +:- use_module(library(dcg/basics)). +:- use_module(entailment(p2r)). +:- use_module(cliopatria(hooks)). + +:- set_prolog_flag(double_quotes,string). + +:- rdf_register_prefix(ilm,'http://dml.org/ilm/'). + +:- setting( ilm_genres,list(atom), + ['Classical','Jazz','Latin','Blues','Folk','Electronic','Reggae','Rock & Roll'], + "List of ILM genre names to import"). + +:- public import/0. +import :- with_odbc(ilm, assert_all(ilm_p2r)). + +:- rdf_meta map(+,r,+,o). + +% ---------------------------- utilities ----------------------------- + +%% genre_list_member(-Genre:uri, +GenreList:atom) is nondet. +genre_list_member(Genre,Atom) :- + parse_list_member(';',Atom,GenreName), + number_string(GenreId,GenreName), + uripattern:pattern_uri(ilm:genre/num(5,GenreId),Genre). + +%% parse_list_member(+Sep:text,+Text:text,-Item:string) is nondet. +parse_list_member(Sep,Atom,Item) :- + split_string(Atom,Sep,'',Items), + member(Item,Items). +% ---------------------- getting stuff out of database --------------------- + +genre_album(Genre,AlbumId) :- + qsql(ilm,"select distinct album_id from assets where genre_id=~d and track_no!=0",[Genre],row(AlbumId)). + +album_facet(AlbumId,Prop-Val) :- entity_facet(album,AlbumId,Prop,Val). + +genre_track(Genre,AlbumId-TrackNo) :- + qsql(ilm,"select album_id, track_no from assets where genre_id=~d and track_no!=0",[Genre],row(AlbumId,TrackNo)). + +track_facet(AlbumId-TrackNo,Prop-Val) :- entity_facet(track,AlbumId-TrackNo,Prop,Val). + +query_columns(album, + [ album_title, product_artist, product_classifications, product_genre, + product_release_year, product_label, product_upc ]). +query_columns(track, + [ assets_online, artist_name, comment, genre_id, release_year, song_title, + track_classifications, track_duration, track_isrc]). + +entity_facet(Type,Id,Prop,Val) :- + query_columns(Type,Cols), + pairs_keys_values(Pairs,Cols,Vals), + Row =.. [row|Vals], + phrase(entity_query(Type,Id,Cols),Codes,[]), + qsql(ilm,'~s',[Codes],Row), + member(Prop-Val,Pairs), + Val\='$null$', + Val\=''. + +entity_query(album,AlbumId,Cols) --> + "select ", + seqmap_with_sep(",",atom,Cols), + " from assets where album_id=", number(AlbumId). + +entity_query(track,AlbumId-TrackNo,Cols) --> + "select ", + seqmap_with_sep(",",atom,Cols), + " from assets where album_id=", number(AlbumId), + " and track_no=", number(TrackNo). + +include_genre(GenreId,Genre) :- + setting(ilm_genres,Genres), + member(Genre,Genres), + qsql(ilm,"select ID from classifications where name='~s'",[Genre],row(GenreId)). + + +% -------------------- mapping to rdf ---------------------------------- + + +rdf(ilm:genre/num(5,GenreID),rdf:type,mo:'Genre'), +rdf(ilm:genre/num(5,GenreID),rdfs:label,literal(GenreName)) <== + odbc_query(ilm,"select ID, name from classifications",row(GenreID,GenreName)). + +rdf(ilm:album/num(AlbumId), Pred, Obj) <== + include_genre(GenreId,GenreName), + status("Querying albums of genre ~w...",[GenreName]), + genre_album(GenreId,AlbumId), + status("Importing ILM albums, genre ~w: ~d",[GenreName, AlbumId]), + album_facet(AlbumId,Facet), + map(Facet,Pred,Obj). + +rdf(ilm:track/num(AlbumId)/num(TrackNo), Pred, Obj) <== + include_genre(GenreId,GenreName), + status("Querying tracks of genre ~w...",[GenreName]), + genre_track(GenreId,AlbumId-TrackNo), + status("Importing ILM tracks, genre ~w: ~d/~d",[GenreName, AlbumId, TrackNo]), + ( Facet=track_no-TrackNo + ; Facet=album_id-AlbumId + ; track_facet(AlbumId-TrackNo,Facet) + ), + map(Facet,Pred,Obj). + +map(Prop-Val,Pred,Obj) :- + ( map(Prop,Pred,Val,Obj) *-> true + ; print_message(warning,ilm_p2r:unrecognized_column(Prop,Val)), fail + ). + + +% album level +map(album_title , dc:title, X, literal(X)). +map(product_label , mo:label, X, literal(X)). +map(product_artist , ilm:artist, X, literal(X)). +map(product_upc , ilm:upc, X, literal(X)). +map(product_release_year, ilm:release_date, Y, literal(type(xsd:date,YA))) :- atom_number(YA,Y). +map(product_classifications, mo:genre, Atom, Genre) :- genre_list_member(Genre,Atom). +map(product_genre, ilm:genre, Id, Obj) :- uripattern:pattern_uri(ilm:genre/num(5,Id),Obj). + +% track level +map(genre_id, ilm:genre, Id, Obj) :- uripattern:pattern_uri(ilm:genre/num(5,Id),Obj). +map(album_id, ilm:album, X, Album) :- uripattern:pattern_uri(ilm:album/num(X),Album). +map(track_no, mo:track_number, X, literal(type(xsd:nonNegativeInteger,X))). +map(track_isrc, mo:isrc, X, literal(type(xsd:string,X))). +map(song_title, dc:title, X, literal(X)). +map(comment, ilm:comment, X, literal(X)). +map(artist_name, ilm:artist, X, literal(X)). +map(track_classifications, mo:genre, X, Genre) :- genre_list_member(Genre,X). +map(track_duration, mo:duration, X, literal(type(xsd:float,Millis))) :- + parse_duration_millis(X,Millis). + +map(release_year, ilm:release_date, Y, literal(type(xsd:date,YA))) :- atom_number(YA,Y). +map(assets_online, ilm:asset_online, Atom, literal(Type)) :- + parse_list_member(',',Atom,TypeS), + atom_string(Type,TypeS). + +% map(P,ilm:P,date(Y,M,D),literal(type(xsd:date,Date))) :- +% format_time(atom(Date),'%F',date(Y,M,D)). +% map(P,ilm:P,timestamp(YY,MM,DD,H,M,S,_),literal(type(xsd:dateTime, DateTime))) :- !, +% format_time(atom(DateTime),'%FT%T',date(YY,MM,DD,H,M,S,0,-,-)).
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/lib/insist.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,30 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University of London + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +:- module(insist, [insist/1,insist/2, insist/3]). +:- meta_predicate insist(0,:), insist(0), insist(+,0,:). + +insist(G) :- insist(G,failed(G)). +insist(G,Ex) :- call(G) -> true; throw(Ex). +insist(det,G,Ex) :- insist(G,Ex). +insist(multi,G,Ex) :- call(G) *-> true; throw(Ex). + +user:goal_expansion(insist(G),X) :- user:goal_expansion(insist(G,failed(G)),X). +user:goal_expansion(insist(G,Ex),(G->true;throw(Ex))). +user:goal_expansion(insist(det,G,Ex),X) :- user:goal_expansion(insist(G,Ex),X). +user:goal_expansion(insist(multi,G,Ex),(G*->true;throw(Ex))).
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/lib/jpath.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,85 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University of London + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +:- module(jpath, [ jpath/2, op(600,xfy,#) ]). +:- use_module(library(dcg_core)). +:- use_module(library(insist)). + +% :- op(600,fx,#). +:- op(600,xfy,#). + +% harvest(M,Tree) :- harvest(M,just(Tree),nothing). +% harvest(\X,just(X),nothing). +% harvest(@F,just(X),just(Y)) :- Y=X.F. +% harvest(#N,just(X),just(Y)) :- nth1(N,X,Y). +% harvest(F*G) --> harvest(F), harvest(G). +% harvest((F//G)) --> harvest(F) // harvest(G). + +% dec(id,X,X). +% dec([],_,[]). +% dec([D|Ds],X,[Y|Ys]) :- dec(D,X,Y), dec(Ds,X,Ys). +% dec(@F,X,Y) :- Y=X.F. +% dec(F*G,X,Z) :- dec(F,X,Y), dec(G,Y,Z). +% dec(swap,(X,Y),(Y,X)). +% dec(dup,X,(X,X)). +% dec(fst(F),(X,Y),(Z,Y)) :- dec(F,X,Z). +% dec((F,G),X,(Y,Z)) :- dec(F,X,Y), dec(G,X,Z). +% dec(item,X,Y) :- member(Y,X). + +% decode(F, R, X) :- atomic(F), X=R.F. +% decode(item(D), R, X) :- decode(D,R,Y), member(X,Y). +% decode(F/G, R, X) :- decode(F,R,Y), decode(G,Y,X). + +jpath(Y,X) :- + (complex(X) -> (match(Y,X); Y=(_,_), multi_match(Y,[],X)) ; Y=X). + +complex(X) :- is_list(X). +complex(X) :- is_dict(X). + +match(\X,X). +match(Y,X) :- var(Y), !, + ( is_dict(X) -> match_dict(Y,X) + ; is_list(X) -> match_list(Y,X) + ). +match(dict(X),X) :- must_be(dict,X). +match(list(X),X) :- must_be(list,X). +match(N#Y,X) :- must_be(list,X), match_member(N,Y,X). +match(F:Y,X) :- must_be(dict,X), match_field(F,Y,X). + +match_dict(dict(X),X). +match_dict(F:V,X) :- match_field(F,V,X). + +match_list(list(X),X). +match_list(N#Y,X) :- match_member(N,Y,X). + +match_field(F,Y,X) :- + ( var(F) -> get_dict(F,X,Z) + ; insist(get_dict(F,X,Z),field_not_present(F,X)) + ), + jpath(Y,Z). + +match_member(N,Y,X) :- + ( var(N) -> nth1(N,X,Z) + ; nth1(N,X,Z) % insist(...),index_out_of_range(N,X)) + ), + jpath(Y,Z). + +% multi_match([],_,_). +% multi_match([S|Ss],Prev,X) :- match1(S,X), \+member(S,Prev), multi_match(Ss,[S|Prev],X). +multi_match(S,Prev,X) :- match(S,X), \+member(S,Prev). +multi_match((S,Ss),Prev,X) :- match(S,X), \+member(S,Prev), multi_match(Ss,[S|Prev],X).
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/lib/kern_analysis.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,267 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University of London + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +:- module(kern_analysis, []). + +:- use_module(library(kerndata)). +:- use_module(library(grammars)). +:- use_module(library(compression)). +:- use_module(library(swipe)). + +grammars:dataset_sequences(DS,Seqs) :- + kerndata:dataset_sequences(DS,Seqs). + + + +write_dataset_sequences(DS) :- + dataset_sequences(DS,SS), + with_stream_encoding(current_output,octet, + maplist(write_seq(notenums),SS)). + +write_dataset(Prep,DS) :- + dataset_sequences(DS,SS), + with_stream_encoding(current_output,octet, + maplist(write_seq(Prep),SS)). + +write_item(Prep,Item) :- + item_sequence(Item,Sequence), + write_seq(Prep,Sequence). + +write_seq(notenums,NS) :- + write_bytes(NS), + write_bytes([255]). + +write_seq(intervals,NS) :- + nth1(1,NS,N1), + nnums_ivals(NS,IS), + append(IS2,[end],IS), + maplist(plus(127),IS2,CS), + write_bytes([N1|CS]), + write_bytes([255]). + +ds_complexity(Method,Prep,DS,K) :- + complexity(Method, + write_dataset(Prep,DS), + K). + +ds_conditional_complexity(Method,Prep,Ref,DS,K) :- + conditional_complexity(Method, + write_dataset(Prep,Ref), + write_dataset(Prep,DS), + K). + +% ds_mutual_information(Method,Prep,DS1,DS2,I) :- +% mutual_information(Method, +% write_dataset(Prep,DS1), +% write_dataset(Prep,DS2), +% I). + +arg_min(K-Meth,Goal,KMin-Best) :- + aggregate_all(min(K,Meth),(Goal,Meth\=naive(_,_)),min(KMin,Best)). + +:- use_module(library(lambda)). +:- use_module(library(mlserver)). +:- use_module(library(uri)). + +exp(conditioning_scat(DS,Prep,Ref)) :- + dataset_items(DS,Items), + findall([KMin,CKMin], + ( member(I,Items), + min_complexity(_,write_item(Prep,I),KMin), + min_conditional_complexity(_,write_dataset(Prep,Ref), + write_item(Prep,I),CKMin) + ), XX), + ??scat(transpose(arr(XX))), + ??xlabel(q(complexity)), + ??ylabel(q('conditional complexity')). + +exp(relative_erasure(DS,Prep)) :- + dataset_items(DS,Items), + findall(CKRel, + ( select(I,Items,Rest), + min_complexity(_,write_item(Prep,I),KMin), + min_conditional_complexity(_,maplist(write_item(Prep),Rest), + write_item(Prep,I),CKMin), + CKRel is 1- CKMin/KMin + ), XX), + ??barh(XX), + ??xlabel(q('1 - relative erasure complexity')), + item_yticks(Items). + +exp(odd_one_out(Prep,DS,DS2,N)) :- + dataset_items(DS,Items), + dataset_items(DS2,Items2), + nth1(N,Items2,OddBall), + AllItems=[OddBall|Items], + findall(CKRel, + ( select(I,AllItems,Rest), + min_complexity(_,write_item(Prep,I),KMin), + min_conditional_complexity(_,maplist(write_item(Prep),Rest), + write_item(Prep,I),CKMin), + CKRel is 1 - CKMin/KMin + ), XX), + ??barh(XX), + ??xlabel(q('1 - relative erasure complexity')), + item_yticks(AllItems). + +exp(erasure(DS,Prep)) :- + dataset_items(DS,Items), + findall([KMin,CKMin], + ( select(I,Items,Rest), + min_complexity(_,write_item(Prep,I),KMin), + min_conditional_complexity(_,maplist(write_item(Prep),Rest), + write_item(Prep,I),CKMin) + ), XX), + ??barh(transpose(arr(XX))), + ??legend(cell([q(isolated),q(erasure)])), + ??xlabel(q(bits)), + item_yticks(Items). + +exp(compressibility(DS,Prep,Ref)) :- + dataset_items(DS,Items), + findall([CKMin,KMin], + ( member(I,Items), + % complexity(id,write_item(Prep,I),L), + min_complexity(_,write_item(Prep,I),KMin), + min_conditional_complexity(_,write_dataset(Prep,Ref), + write_item(Prep,I),CKMin) + % arg_min(K-C, conditional_complexity(naive(C),write_dataset(Prep,Ref), + % write_item(Prep,I),K), NCK-_) + ), XX), + ??barh(transpose(arr(XX))), + item_yticks(Items), + ??xlabel(q(bits)), + ??legend(cell([q('delta compressed'),q(compressed)])). + +exp(info_density(DS,Prep,Ref)) :- + dataset_items(DS,Items), + findall([H,HRef], + ( member(I,Items), + item_sequence(I,Pitches), + length(Pitches,L), + min_complexity(_,write_item(Prep,I),KMin), + min_conditional_complexity(_,write_dataset(Prep,Ref), + write_item(Prep,I),CKMin), + H is KMin/L, + HRef is CKMin/L + ), XX), + ??barh(transpose(arr(XX))), + ??legend(cell([q(isolated),q(conditional)])), + ??xlabel(q('bits per note')), + item_yticks(Items). + +exp(ds_similarity_matrix(Prep,Meth,Datasets)) :- + ncd_matrix(ncd(Meth), write_dataset(Prep), Datasets, Matrix), + ncd_image(Matrix), + yticks(Datasets). + +exp(similarity_matrix(Prep,Meth,DS)) :- + dataset_items(DS,Items), + ncd_matrix(ncd(Meth), write_item(Prep), Items, Matrix), + ncd_image(Matrix), + item_yticks(Items). + +exp(conditional_similarity_matrix(Prep,Method,DS,Ref)) :- + dataset_items(DS,Items), + ncd_matrix(conditional_ncd(Method,write_dataset(Prep,Ref)), write_item(Prep), Items, Matrix), + ncd_image(Matrix), + item_yticks(Items). + +exp(ds_conditional_similarity_matrix(Prep,Method,Datasets,Ref)) :- + ncd_matrix(conditional_ncd(Method,write_dataset(Prep,Ref)), write_dataset(Prep), Datasets, Matrix), + ncd_image(Matrix), + yticks(Datasets). + +ncd_image(Matrix) :- ??imagesc(1-arr(Matrix)), ??colorbar. + +ncd_matrix(Sim,Writer,Items,Matrix) :- + length(Items,N), + numlist(1,N,IX), + maplist(ncd_matrix_column(Sim,Writer,Items,IX),IX,Matrix). + +ncd_matrix_column(Sim,Writer,Items,JX,I,Column) :- + maplist(ncd_matrix_entry(Sim,Writer,Items,I),JX,Column). + +ncd_matrix_entry(Sim,Writer,Items,I,J,D) :- + ( I=J -> D=nan + ; nth1(I,Items,XI), + nth1(J,Items,XJ), + call(Sim, call(Writer,XI), call(Writer,XJ), D) + ). + +item_yticks(Items) :- + length(Items,NumItems), + maplist(item_label,Items,Labels), + ??yticks(1:NumItems,cell(Labels)). + +item_label(Item,q(Name)) :- + item_uri(Item,URI), + uri_components(URI,Components), + uri_data(path,Components,Path), + directory_file_path(_,File,Path), + file_name_extension(Name,_,File). + +printfig(W,H,Name) :- + format(atom(Path),'/Users/samer/pubs/asymmus/workshop/figs/~w.eps',[Name]), + format(atom(Cmd),'epstopdf ~w',[Path]), + ??fsetup(W,H,q(centimeters)), + ??print(q('-depsc2'),q(Path)), + shell(Cmd). + +plot_method_rankings :- + setof( r(MeanRank,Method,Ranks), + ( compression:method_rankings(Method,Ranks), + mean_list(Ranks,MeanRank)), + Results), + ??newplot, + ??hold(q(on)), + forall( nth1(I,Results,r(_,_,Ranks)), + ??plot(Ranks,I+0.7*(rand(size(Ranks))-0.5),q('.'))), + ??hold(q(off)), + maplist(result_method,Results,Methods), + yticks(Methods). + +result_method(r(_,Method,_),Method). + +yticks(Terms) :- + length(Terms,N), + maplist(term_label,Terms,Labels), + ??yticks(1:N,cell(Labels)). + +term_label(Term,q(Label)) :- format(atom(Label),'~w',[Term]). + + +mean_list(L,Mean) :- + length(L,N), + sumlist(L,Sum), + Mean is Sum/N. + + +% pairwise(DS,Matrix) :- +% dataset_items(DS,Items), +% maplist(\I1^maplist(\I2^conditional_complexity( + + +% rnd_state(T) :- get_rnd_state(S), rnd_state_term(S,T). + +% with_sample(T,RV,Pred) :- +% rnd_state_term(S1,T), +% sample(RV,X,S1,S2), +% set_rnd_state(S2), +% call(Pred,X). +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/lib/kerndata.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,442 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University of London + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +:- module(kerndata, + [ uri_spine_pitches/3 + , uri_spine_events/4 + , uri_opus/2 + , events_nth_phrase/3 + , dataset_size/2 + , dataset_items/2 + , dataset_sequences/2 + , dataset_random_subsets/4 + , item_sequence/2 + , item_opus/2 + , item_uri/2 + , metpos/4 + , with_kern_module/3 + , fileset/1 + ]). + +/** <module> Managings sets of Kern scores + + This module provides tools for defining and working with sets of musical + fragments extracted from Humdrum/Kern scores. Sets of files are defined by + searches in the RDF database. Then, a small language of operations can be + used to extract given spines and/or break melodic sequences into phrases. + + A named fileset is a term (the name) associated with a file set specification. + A fileset specification is a nondeterministic binary predicate which yields + both a Humdrum file URI and a spine number. An alternative way to refer to a + file set is anonymously, as a term \Spec. A fileset, then is either a named + fileset or an anonymous fileset: + == + anonymous_filset ---> \fileset_spec. + fileset_spec == pred(-uri, -spine_spec). + named_fileset == term. + fileset == named_fileset | anonymous_fileset. + spine == natural. % {1,2,...} + + spine_spec ---> extract(spine) + ; trace(spine) + ; merge + ; all. + == + Named filesets are defined using the multifile predicate fileset/2. + + Some predicates are available for convenient construction of fileset_specs: + == + with_spine( +S:spine, +Finder:pred(-uri), -URI:uri, -S:spine_spec) is nondet. + trace_spine( +S:spine, +Finder:pred(-uri), -URI:uri, -S:spine_spec) is nondet. + merge_spines( +Finder:pred(-uri), -URI:uri, -S:spine_spec) is nondet. + all_spines( +Finder:pred(-uri), -URI:uri, -S:spine_spec) is nondet. + + kern_uri( +FS:find_spec, -URI:uri) is nondet. + + find_spec ---> (find_spec ; find_spec) % set union + ; (find_spec , find_spec) % set intersection + ; under(path) % recursive directory search + ; in(path) % single directory search + ; uri=object. % match on RDF property + + path == atom. % a path relative to root of Humdrum file library. + object == uri | literal | literal_search_spec. + + literal == { lang(atom,atom), type(uri,atom) } | atom. + literal_search_spec ---> literal(literal_query,atom). + literal_query ---> plain(atom) + ; exact(atom) + ; substring(atom) + ; word(atom) + ; prefix(atom) + ; ge(atom) + ; le(atom) + ; between(atom,atom) + ; like(atom). + == + Thus, as a fileset_spec, the term =|with_spine(S,Finder)|= yields the Sth spine + of each URI produced by Finder. =|all_spines(Finder)|= yields all spines of each file + produced by Finder. See rdf/3 for more information about literal query terms. + + Datasets are defined in terms of filesets: + == + fileset :< dataset. % any fileset is also a dataset: each member yields one sequence + phrases(fileset) :< dataset. % denotes the set of phrases segmented from fileset. + extract(DS:dataset, Size:nonneg, Offset:nonneg) :: dataset. + subset(DS:dataset, Size:nonneg, Indices:list(nonneg)) :: dataset. + subset_ref(DS:dataset, Size:nonneg, SubsetRef:atom) :: dataset. + null :: dataset. + == + + Each item in a dataset is represented by a term of the following type: + == + dataset_item ---> whole(uri,spine) % Humdrum URI and spine number + ; phrase(uri,spine,natural). % URI, spine and phrase number + ; merged(uri). % all spines, highest note of chords + == + Items can be obtained using dataset_items/2. + Each item corresponds to a list of note numbers, which can be obtained using + item_sequence/2, or dataset_sequences/2. + +*/ + +:- meta_predicate with_kern_module(+,-,0). + +:- use_module(library(memo)). +:- use_module(library(dcg_core)). +:- use_module(library(snobol)). +:- use_module(library(listutils)). +:- use_module(library(fileutils)). +:- use_module(library(termutils)). +:- use_module(library(insist)). +:- use_module(library(humdrum)). +:- use_module(library(humdrum/kern)). +:- use_module(library(humdrum/dynam)). +:- use_module(library(humdrum/humdrum_world)). +:- use_module(library(humdrum/kernutils)). +:- use_module(library(lambda)). +:- use_module(library(semweb/rdf_db)). +:- use_module(library(humdrum_p2r), [hum_uri_path/2]). +:- use_module(library(dataset), [random_subset/4]). + +:- set_prolog_flag(double_quotes, codes). +:- initialization memo_attach(memo(kerndata),[]). + +:- dynamic item_sequence/2. +:- multifile fileset/2. + +%% fileset(-FS:named_fileset) is nondet. +% True when FS identifies an explicitly declared Kern file-set. +fileset(FS) :- fileset(FS,Spec), FS \= \Spec. + +%% fileset(+FS:named_fileset, -Spec:fileset_spec) is semidet. +%% fileset(-FS:named_fileset, -Spec:fileset_spec) is nondet. +% +% Database of named filesets and their fileset specifiers. +fileset(lorraine, with_spine(1,kern_uri(in('lorraine')))). +fileset(nova_scotia, with_spine(1,kern_uri(in('classical/songs/unaccompanied/nova-scotia/kern')))). +fileset(ireland, with_spine(1,kern_uri(in('ireland')))). +fileset(chorales, with_spine(1,kern_uri(in('classical/bach/chorales')))). +fileset(chorales371, with_spine(4,kern_uri(in('classical/bach/371chorales')))). +fileset(bach_cello, with_spec(merge,kern_uri(in('classical/bach/cello')))). +fileset(bach_violin, with_spec(merge,kern_uri(in('classical/bach/violin')))). +fileset(beethoven_quartets, all_spines(kern_uri(in('classical/beethoven/quartet')))). +fileset(essen, with_spine(1,kern_uri(under('essen/europe')))). +fileset(essen(china),with_spine(1,kern_uri(under('essen/china')))). +fileset(essen(Rgn), with_spine(1,kern_uri(under(Dir)))) :- + member(Rgn,[germany,rossiya,magyar,elsass,lothring,nederlan,schweiz,oesterrh,jugoslav]), + atom_concat('essen/europe/',Rgn,Dir). +fileset(essen(germany,Sub), with_spine(1,kern_uri(under(Dir)))) :- + member(Sub,[dva,allerkbd,kinder,altdeu1,altdeu2,fink,zuccal,ballad,boehme,erk]), + atom_concat('essen/europe/germany/',Sub,Dir). + + +%% uri_opus(+URI:uri,-Opus:atom) is semidet. +%% uri_opus(-URI:uri,-Opus:atom) is nondet. +% Relation between Humdrum file URIs and their Humdrum SCT property. +uri_opus(URI,Opus) :- rdf(URI,hum:'refcode/SCT',literal(Opus)). + +% :- volatile_memo file_opus( +file:atom, -opus:atom). +% file_opus(File,Opus) :- +% with_kern_module(File, utf8, Mod, (Mod:ref('SCT',_,Opus) -> true; Opus=unknown(_))). + +%% item_opus(+Item:dataset_item, -Opus:atom) is semidet. +% Relation between a dataset item and the opus of its associated Humdrum file. +item_opus(Item,Opus) :- item_uri(Item,URI), uri_opus(URI,Opus). + +%% item_uri(+Item:dataset_item, -URI:uri) is semidet. +% Relation between a dataset item and the URI of its associated Humdrum file. +item_uri(phrase(URI,_,_),URI). +item_uri(whole(URI,_),URI). +item_uri(merged(URI),URI). + + +%% dataset_size(+DS:dataset, -N:nonneg) is det. +% Get the size of a given dataset. This predicate is persistently memoised, +% since computing the size of a large dataset may involve reading many Humdrum +% files. + +:- persistent_memo dataset_size( +ground, -nonneg). + +dataset_size(Dataset,NumItems) :- + eval_dataset(Dataset,Items), + length(Items,NumItems). + +%% dataset_items(+DS:dataset, -S:list(dataset_item)) is det. +dataset_items(DS,Items) :- eval_dataset(DS,Items). + +%% dataset_sequences(+DS:dataset, -S:list(list(integer))) is det. +dataset_sequences(DS,SS) :- + dataset_items(DS,Items), + maplist(item_sequence,Items,SS). + +%% eval_dataset(+DS:dataset, -Items:list(dataset_item)) is det. +eval_dataset(DS,_) :- must_be(ground,DS), fail. +eval_dataset(extract(DS,N,I), D2) :- !, + eval_dataset(DS, D1), + drop(I, D1, D3), + take(N, D3, D2). + +eval_dataset(subset_ref(DS,N,Ref), D2) :- !, + dataset_size(DS,Size), + random_subset(Size,N,Ref,IX), + eval_dataset(subset(DS,N,IX), D2). + +eval_dataset(subset(DS,N,IX), D2) :- !, + eval_dataset(DS, D1), + length(IX,N), + maplist(\I^X^nth1(I,D1,X), IX, D2). + +eval_dataset(null,[]). +eval_dataset(DS,Items) :- + fileset_items(DS,Items). + +:- thread_local item_/1. +:- volatile_memo fileset_items( +ds:ground, -items:list(ground)). +%% fileset_items(+FS, -Items:list(dataset_item)) is det. +% FS can be a fileset or a term =|phrases(Fileset)|=, denoting the set of +% sequence resulting from segmenting each item in Fileset into phrases. +fileset_items(DS, Items) :- + setup_call_cleanup( + load(DS), + findall(Item,item_(Item),Items), + retractall(item_(_))), + insist(Items\=[]). + +load(phrases(FS)) :- fileset(FS,Spec), forall_kern(Spec,assert_phrases). +load(FS) :- fileset(FS,Spec), forall_kern(Spec,assert_whole). + +%% item_sequence(+Item:dataset_item, -Seq:list(integer)) is det. +% True when Seq is the list of note numbers for a given item. + +%% spine_nth_phrase(+Mod:module,+S:spine,-N:natural,-P:list(integer)) is nondet. +% +% True when P is the list of note numbers in the Nth phrase on spine S in the +% Humdrum file represented in module Mod. Phrases can be defined in two ways: +% 1. Using explicit Kern phrase marks +% 2. Using notes annotated with a pause mark to determine phrase endings. +spine_nth_phrase(Mod,Spine,N,Phrase) :- + Mod:spine(Spine), + ( once(spine_phrase(Mod,Spine,_,_)) + -> % spine has explicit phrases markings + kern_get_events(event_or_delim(spine_notenum,Mod,Spine), Events), + pairs_values(Events,Events1), + bagof(NNs, L^phrase(contains_group(L,NNs),Events1), Phrases), + nth1(N,Phrases,Phrase) + ; % no phrase markings - use pauses + kern_get_events(event_or_pause(spine_notenum,Mod,Spine), Events), + events_nth_phrase(Events, N, Phrase) + ). + +assert_whole(URI,Mod,Spec) :- + (Spec=extract(Spine); Spec=all), + forall( kern_get_events(spine_notenum(Mod,Spine), Events), + ( assert_id(item_sequence(whole(URI,Spine), Events)), + assert(item_(whole(URI,Spine))))). + +assert_whole(URI,Mod,merge) :- + forall( kern_get_events(top_notenum(Mod), Events), + ( assert_id(item_sequence(merged(URI), Events)), + assert(item_(merged(URI))))). + +assert_phrases(URI,Mod,Spec) :- + (Spec=extract(Spine); Spec=all), + forall( spine_nth_phrase(Mod,Spine,N,Phrase), + ( assert_id(item_sequence(phrase(URI,Spine,N), Phrase)), + assert(item_(phrase(URI,Spine,N))))). + +assert_id(Fact) :- call(Fact) -> true; assert(Fact). + + +contains_group(D,XX) --> arb, group(D,XX,[]), rem. + +group(D,X1,X2) --> + delimiter(D,open), + iterate(content(D),X1,X2), + delimiter(D,close). + +content(_,[X|XX],XX) --> [event(X)]. +content(D,XX,XX) --> {dif(D,D1)}, delimiter(D1,_). +content(D,X1,X2) --> group(D,X1,X2). +delimiter(D,T) --> [T/D]. + + +%% dataset_random_subsets(+DS:dataset,+K:nonneg,+L:nonneg,-DSX:list(dataset)) is det. +% +% Returns L random subsets of K sequences each from dataset DS. +% K is the size of each random subset. L is the number of subsets +% returned. Each subset is a term of the form =|subset(DS,K,Indices)|=. +dataset_random_subsets(DS,K,L,DSX) :- + dataset_size(DS,N), + numlist(1,L,SubsetIndices), + maplist(\I^subset(DS,K,S)^random_subset(N,K,I,S),SubsetIndices,DSX). + + +%% uri_spine_pitches(+URI:uri,+S:nonneg,-P:list(pitch)) is det. +%% uri_spine_pitches(+URI:uri,-S:nonneg,-P:list(pitch)) is nondet. +% +% True when Pis a list of the pitches of notes in a spine S +% of the Humdrum file pointed to by URI. +uri_spine_pitches(URI,Spine,Pitches) :- + with_kern_module(URI, Mod, + kern_get_events(spine_pitch(Mod,Spine), Pitches)). + +%% uri_spine_events(+URI:uri,+G:getter,+S:spine,-E:list(event(A))) is det. +%% uri_spine_events(+URI:uri,+G:getter,-S:spine,-E:list(event(A))) is nondet. +% +% Get list of events from a given spine in a Humdrum file. The kind of events extracted +% depends on the getter predicate G, which must be of type: +% == +% getter(A) == pred(+M:module,-S:spine,-T:time,-E:event(A)). +% event(A) ---> event(A) ; pause. +% == + +uri_spine_events(URI,Getter,Spine,Events) :- + with_kern_module(URI, Mod, + kern_get_events(event_or_pause(Getter,Mod,Spine), Events)). + +:- meta_predicate forall_kern(2,3). +forall_kern(Findspec,Pred) :- + with_status_line( + forall( call(Findspec,URI,SpineSpec), ( + status('Loading: ~s',[URI]), + with_kern_module(URI, Mod, call(Pred,URI,Mod,SpineSpec)) + ))), + format('Finished loading.\n',[]). + +%% with_kern_module(+URI:uri, -M:module, +Goal:pred) is nondet. +% +% Calls Goal with M set to the name of a temporary moduling containing +% the information in the Kern file specified by URI. +with_kern_module(URI,Mod,Goal) :- + hum_uri_path(URI,Path), + with_kern_module(Path,utf8,Mod,Goal). + +:- meta_predicate with_spine(+,1,-,-). +with_spine(Spine,Finder,URI,extract(Spine)) :- call(Finder,URI). + +:- meta_predicate all_spines(+,-,-). +all_spines(Finder,URI,all) :- call(Finder,URI). + +:- meta_predicate with_spec(+,+,-,-). +with_spec(SpineSpec,Finder,URI,SpineSpec) :- call(Finder,URI). + +%% kern_uri(+FS:find_spec, -URI:uri) is nondet. +% +% True when URI refers to a Humdrum file that satisfies the given +% specification. The specification type =|find_spec|= is defined in the +% module header comment. +kern_uri(in(Dir),URI) :- rdf(URI,hum:directory,literal(Dir)). +kern_uri(under(Dir),URI) :- rdf(URI,hum:directory,literal(prefix(Dir),_)). +kern_uri(A;B, URI) :- kern_uri(A,URI); kern_uri(B,URI). +kern_uri((A,B), URI) :- kern_uri(A,URI), kern_uri(B,URI). +kern_uri(Prop=Val,URI) :- rdf(URI,Prop,Val). + +%% spine_pitch(+Mod:module,-Spine:nonneg,-Time,-Pitch) is nondet. +spine_pitch(Mod,Spine,Time,P) :- + Mod:note(pitch(P),_,Time,Spine). + +spine_pitch_dur(Mod,Spine,Time,P-D) :- + Mod:note(pitch(P),D,Time,Spine). + +spine_notenum(Mod,Spine,Time,NN) :- + spine_pitch(Mod,Spine,Time,Pitch), + pitch_notenum(Pitch,NN). + + +%% get the highest pitch over all spines at each time slice. +top_notenum(Mod,Time,TopNN) :- + aggregate(max(NN),time_notenum(Mod,Time,NN),TopNN). + +time_notenum(Mod,Time,NN) :- + Mod:note(pitch(P),_,Time,_), + pitch_notenum(P,NN). + +spine_pause(Mod,Spine,Time,pause) :- spine_pause(Mod,Spine,Time). +spine_pause(Mod,Spine,Time) :- + Mod:articulation(pause,Spine,Rec), + Mod:time(T,Rec), + Mod:duration(D,Rec), + Time is T+D. + +spine_phrase(Mod,Spine,Time,Time-(OpenClose/Label)) :- + Mod:data(tok(Toks),Spine,Rec), + member(par(OpenClose,phrase-Label),Toks), + Mod:time(T,Rec), + ( OpenClose=open -> Time=T + ; OpenClose=close -> Mod:duration(D,Rec), Time is T+D + ). + + +twos(L) :- L=[2|L]. + +metre(4/4,1:M) :- twos(M). +metre(3/4,(3 rdiv 4):[3,2|M]) :- twos(M). +metre(6/8,(3 rdiv 4):[2,3|M]) :- twos(M). +metre(9/8,(9 rdiv 8):[3,3|M]) :- twos(M). +metre(12/8,(12 rdiv 8):[2,2,3|M]) :- twos(M). + +%% metpos( +Bar:rational, +Metre:list(nat), +T0:rational, -R:nat) is det. +metpos(Bar,Metre,TT,R) :- metpos_(TT,[1/Bar|Metre],0,R). + +metpos_(0,_,R,R) :- !. +metpos_(T0,[M0|MX],R0,R) :- + mod1(T0*M0,T1), succ(R0,R1), + metpos_(T1,MX,R1,R). + +mod1(X,Y) :- Z is floor(X), Y is X - Z. + +event_or_pause(Pred,Mod,Spine,Time,event(X)) :- call(Pred,Mod,Spine,Time,X). +event_or_pause(_,Mod,Spine,Time,pause) :- spine_pause(Mod,Spine,Time). + +event_or_delim(Pred,Mod,Spine,Time,2-event(X)) :- + call(Pred,Mod,Spine,Time,X). +event_or_delim(_,Mod,Spine,Time,Prio-Delim) :- + spine_phrase(Mod,Spine,Time,_-Delim), + delim_prio(Delim,Prio). + +delim_prio(open/_,1). +delim_prio(close/_,1). + +%% events_nth_phrase(+Events:list(event(A)), +N:natural, -P:list(A)) is det. +% Extract Nth phrase from a list of events or pauses. +events_nth_phrase(Events,N,Phrase) :- + phrase((seqmap_with_sep([pause],seqmap(event),Phrases), opt([pause])),Events,[]), + nth1(N,Phrases,Phrase). + +event(X) --> [event(X)].
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/lib/mazurka_p2r.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,115 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University of London + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +:- module(mazurka_p2r, []). + +/** <module> Access to beets database + */ + + +% :- use_module(library(odbc)). +:- use_module(library(csv)). +:- use_module(library(musicbrainz)). +:- use_module(library(semweb/rdf_db)). +:- use_module(library(termutils)). +:- use_module(library(rdfutils)). +:- use_module(library(stringutils)). +:- use_module(library(dcg/basics)). +:- use_module(entailment(p2r)). +:- use_module(library(memo)). + +:- set_prolog_flag(double_quotes,string). + +:- rdf_register_prefix(mazurka,'http://dml.org/mazurka/'). + +:- setting(csv_database,string,"~/lib/mazurka/mazurka-discography.txt","Location of Mazurka tab-separated-values"). +:- setting(audio_root,ground,nothing,"Location of Mazurka audio files"). + +% :- rdf_meta convert(+,+,o). +% convert(string,X,literal(X)). +% convert(atom,X,literal(Y)) :- atom_string(Y,X). +% convert(number,X,literal(Y)) :- number_string(Y,X). +% convert(date(E),X,literal(Date)) :- string_to_date(E,X,Date). + +rdf(mazurka:title, rdfs:subPropertyOf, dc:title) <== true. +rdf(mazurka:enc(Id), Prop, Obj) <== + setting(csv_database,Pattern), + expand_file_name(Pattern,[DBFile]), + csv_to_rdf(DBFile,Id,Prop,Obj). + +csv_to_rdf(DBFile,Id,Prop,Obj) :- + once(csv_read_file_row(DBFile,Header,[convert(false),separator(0'\t), line(1)])), + functor(Header,row,NumCols), + functor(Row,row,NumCols), + row_field(Header-Row,pid,Id), + csv_read_file_row(DBFile,Row,[convert(false),separator(0'\t), line(L)]), L>1, + status("Importing mazurka: ~w",[Id]), + row_triple(Header-Row,Prop,Obj). + % rdf_global_object(Obj1,Obj). + +:- rdf_meta row_triple(+,r,o). +row_triple(_,mazurka:composer,literal('Chopin')). +row_triple(HR,mazurka:pid,literal(PID)) :- row_field(HR,pid,PID). +row_triple(HR,Prop,Val) :- + row_field(HR,opus,OpusNum), + row_field(HR,key,Key), + atomic_list_concat([Opus,Number],'.',OpusNum), + work_triple(Key,Opus,Number,Prop,Val). + +row_triple(HR,mazurka:performer,literal(Perf)) :- row_field(HR,performer,Perf). +row_triple(HR,mazurka:recording_date,literal(type(T,Year))) :- row_field(HR,year,Year), rdf_global_id(xsd:gYear,T). +row_triple(HR,mazurka:duration,literal(type(T,X))) :- row_field(HR,seconds,A), atom_number(A,X), rdf_global_id(xsd:int,T). +row_triple(HR,mazurka:label,literal(Label)) :- row_field(HR,label,Label). + +:- rdf_meta work_triple(+,+,+,r,o). +work_triple(K,O,N,mazurka:title,literal(T)) :- format(atom(T),"Mazurka in ~w, op.~w, no.~w",[K,O,N]). +work_triple(K,_,_,mazurka:key,literal(K)). +work_triple(_,O,_,mazurka:opus,literal(O)). +work_triple(_,_,N,mazurka:number,literal(N)). +work_triple(_,O,N,mazurka:score,Score) :- + format(atom(Score),"kern:/classical/chopin/mazurka/mazurka~|~`0t~w~2+-~w.krn",[O,N]). + + +row_field(Header-Row,Name,Value) :- arg(N,Header,Name), arg(N,Row,Value). +% null_value("-"). + +:- public import/0. +import :- assert_all(mazurka_p2r). + +:- public audio_file/3. +audio_file(URI,Path,just(Fmt)) :- + rdf(URI,mazurka:pid,literal(PID)), + rdf(URI,mazurka:opus,literal(Opus)), + rdf(URI,mazurka:number,literal(Number)), + setting(audio_root,just(RootPatt)), + expand_file_name(RootPatt,[Root]), + member(Fmt-Ext,[aac-mp4,wav-wav]), + format(atom(Path),"~w/mazurka~|~`0t~w~2+-~w/pid~w.~w",[Root,Opus,Number,PID,Ext]), + exists_file(Path). + +% audio_link(Type,URI,URL) :- +% member(Type,[mp3,flac]), +% rdf(URI,charm:file_name,literal(Filename)), +% ( sub_atom(Filename,_,_,_,'£') +% -> atom_codes(Filename,C1), +% fix_url(C1,C2), +% atom_codes(Filename2,C2) +% ; Filename2=Filename +% ), +% format(atom(URL),'http://charm.cchcdn.net/audio/~w/~w.~w',[Type,Filename2,Type]). +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/lib/memo_p2r.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,88 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University of London + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +:- module(memo_p2r, []). + +:- use_module(library(memo)). +:- use_module(entailment(p2r)). + +uripattern:def( func(Mod,Pred,Arity), dml:function/enc(Mod)/enc(Pred)/num(Arity)). + +% Memoisation schema +:- rdf_register_prefix(memo,'http://dml.org/memo/',[force(true)]). + +:- public import/0. +import :- assert_all(memo_p2r). + +rdf(memo:'Module', rdfs:subClassOf, owl:'Thing'), +rdf(memo:'Function', rdfs:subClassOf, owl:'Thing'), +rdf(memo:'Computation', rdfs:subClassOf, event:'Event'), +rdf(memo:function, rdfs:domain, memo:'Computation'), +rdf(memo:function, rdfs:range, memo:'Function'), +rdf(memo:module, rdfs:domain, memo:'Function'), +rdf(memo:module, rdfs:range, memo:'Module'), +rdf(time:duration, rdfs:domain, event:'Event'), +rdf(time:duration, rdfs:range, xsd:decimal), +rdf(memo:type, rdfs:domain, memo:'Function') <== true. +rdf(memo:storage, rdfs:domain, memo:'Function') <== true. + +rdf(dml: module/prolog/enc(Mod), rdf:type, memo:'Module'), +rdf(\func(Mod,Pred,Arity), rdf:type, memo:'Function'), +rdf(\func(Mod,Pred,Arity), memo:module, dml:module/prolog/enc(Mod)) <== + memo_function(Mod,Pred,Arity). + +rdf(\func(Mod,Pred,Arity), rdfs:label, literal(Label)) <== + memo_function(Mod,Pred,Arity), + term_to_atom(Pred/Arity,Label). + +rdf(\func(Mod,Pred,Arity), memo:type, literal(TypeAtom)) <== + memo_property(Mod:Head,type(Type)), + functor(Head,Pred,Arity), + Type =.. [_|Types], + term_to_atom(Types,TypeAtom). + +rdf(\func(Mod,Pred,Arity), memo:storage, literal(Storage)) <== + memo_property(Mod:Head,storage(Storage)), + functor(Head,Pred,Arity). + +% alternative duration type is xsd:duration, +% format as 'PT~fS' +% rdf(dml:computation/enc(Hash), rdf:type, memo:'Computation'), + +% REMOVE COMPUTATIONS FOR NOW +% rdf(dml:computation/enc(Hash), time:duration, literal(type(xsd:double,Dur))), +% rdf(dml:computation/enc(Hash), memo:status, literal(StatusAtom)), +% rdf(dml:computation/enc(Hash), memo:function, \func(Mod,Pred,Arity)) <== +% memo:computer(Mod,Head,_,_), +% memo:browse(Mod:Head,Ev-Status), +% variant_sha1(t(Mod,Head,Ev,Status),Hash), +% (Ev=comp(_,_,Dur); Ev=comp(_,Dur)), % for time:duration +% term_to_atom(Status,StatusAtom), % for memo:status +% functor(Head,Pred,Arity). % for memo:function + +% rdf(dml:computation/enc(Hash), memo:host, literal(Host)) <== +% memo:computer(Mod,Head,_,_), +% memo:browse(Mod:Head,Ev-Status), +% variant_sha1(t(Mod,Head,Ev,Status),Hash), +% (Ev=comp(Host,_,_); Ev=comp(Host,_)), +% Host\='unknown'. + +memo_function(Mod,Pred,Arity) :- + memo_property(Mod:Head,storage(_)), + functor(Head,Pred,Arity). +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/lib/mlfigs.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,75 @@ +:- module(mlfigs, [ml_fig/6, ml_fig/5,ml_post/3, ml_opts/3]). + +%:- use_module(library(dcg_core)). +:- use_module(library(dcg_pair)). +:- use_module(library(computations),[unzip/3, (*)/4]). +:- use_module(library(mlserver)). +:- use_module(library(optutils)). + +% ------- tools for building matlab charts ------- +ml_fig(Type,XL,YL,Datasets,F) :- ml_fig(Type,XL,YL,Datasets,[],F). +ml_fig(Type,XL,YL,Datasets,Opts,fig(Code;xlabel(q(XL));ylabel(q(YL)),Opts1)) :- + unzip(Datasets,Names,Data), + maplist(term_to_atom*atom_string,Names,Labels), + compile(Type,Labels,Data,Opts,Opts1,Cmds,[]), + sequence(Cmds,Code). + +ml_post(Code,fig(Code0),fig(Code0;Code)). +ml_post(Code,fig(Code0,O),fig(Code0;Code,O)). +ml_opts(Opts,fig(Code),fig(Code,Opts)). +ml_opts(Opts,fig(Code,Opts0), fig(Code,Opts1)) :- + merge_options(Opts,Opts0,Opts1). + + +compile(T,Names,Data,Opts,Opts1) --> + plot(T,Data), + {option_default_select(legend(Pos),best,Opts,Opts1)}, + [box("off"), set(gca,"TickDir","out")], + ( {Pos=off} -> [] + ; [legend(cell(Names),"Location",q(Pos), + "LineWidth",0.25*get(gcf,"DefaultAxesLineWidth"))] + ). + +sequence([C],C) :- !. +sequence([C1|Cs],C1;Ss) :- sequence(Cs,Ss). + +pairs_to_cell(Pairs,{X,Y}) :- unzip(Pairs,X,Y). + +plot(bars,Data) --> plot(bars(grouped),Data). +plot(bars(Arr),Data) --> plot(multi((x,y,varargin)\\bar(x,y,q(Arr),"EdgeColor","none",cref(varargin,[':']))),Data). +plot(areas,Data) --> plot(multi(@area),Data). +plot(multi(Fn),Data) --> + {length(Data,L)}, + {maplist(pairs_to_cell,Data,Cells)}, + [multibar(Fn,cell(Cells)),caxis([1,L+1])]. +plot(scat(T,Ms),Points) --> + hold(run_left(foldl(scat(T,Ms),Points),0,N)), + [caxis([1,N+1])]. +plot(lines,Points) --> + {length(Points,N)}, + hold(run_left(foldl(line(N),Points),0,_)). + +scat(o,Ms,Points) --> + \< (succ, dcg_core:get(N)), + {unzip(Points,X,Y), length(Points,L), nth1(N,Ms,M)}, + \> [scatter(X,Y,get(gcf,"DefaultLineMarkerSize").^2,repmat(N,L,1),M)]. +scat(f,Ms,Points) --> + \< (succ, dcg_core:get(N)), + {unzip(Points,X,Y), length(Points,L), nth1(N,Ms,M)}, + \> [scatter(X,Y,get(gcf,"DefaultLineMarkerSize").^2,repmat(N,L,1),M,"filled")]. + +scat(p,Ms,Points) --> + \< (succ, dcg_core:get(N)), {marker(N,M)}, + {unzip(Points,X,Y)}, + {nth1(N,Ms,M)}, + \> [scat(arr([X,Y]),"marker",M)]. + +line(N,Xs-Ys) --> + \< (succ, dcg_core:get(I)), + \> [plot(Xs,Ys,"-","Color",row(get(gcf,"Colormap"),floor(I/N)))]. + +marker(N,M) :- + I is N mod 5, + nth0(I,["r.","g.","c.","b.","m."],M). + +hold(G) --> [newplot,hold("on")], phrase(G), [hold("off")].
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/lib/musiclab.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,80 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University of London + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +:- module(musiclab, + [ kern_pc_hist/2 + , pitch_class/2 + , pitch_class_number/2 + , pc_number_name/2 + ]). + +:- use_module(library(persistency)). + +:- use_module(library(humdrum)). +:- use_module(library(humdrum/kern)). +:- use_module(library(humdrum/kernutils)). +:- use_module(library(humdrum/dynam)). +:- use_module(library(humdrum/humdrum_world)). +:- use_module(library(typedef)). +:- use_module(library(memo)). + +:- type pitch_class ---> a ; b ; c ; d ; e ; f ; g ; sharp(pitch_class) ; flat(pitch_class). + +:- volatile_memo kern_pc_hist(+path:ground, -hist:list(pair(pitch_class,nonneg))). + +% ------------ reading kern ---------------- + +pitch_class_number(sharp(PC),N) :- !, pitch_class_number(PC,M), N is (M+1) mod 12. +pitch_class_number(flat(PC),N) :- !, pitch_class_number(PC,M), N is (M-1) mod 12. +pitch_class_number(c,0). +pitch_class_number(d,2). +pitch_class_number(e,4). +pitch_class_number(f,5). +pitch_class_number(g,7). +pitch_class_number(a,9). +pitch_class_number(b,11). + +kern_pc_hist(Path,Hist) :- + with_kern_module(Path,utf8,M,findall(PC-N,aggregate(count,mod_note_pc(M,PC),N),Hist)). + +% pc_hist_to_num(Hist1,Hist2) :- +% findall(PCN-X, (member(PC-X,Hist1), pitch_class_number(PC,PCN)), Hist2), +% numlist(0,11,PCNs), +% maplist(pc_number_name,PCNs,PCNames), +% maplist(\PCN^Count^(member(PCN-Count,Hist2) -> true; Count=0),PCNs,Counts), + + +mod_note_pc(M,PC) :- + M:note(pitch(P),_,_,_), + pitch_class(P,PC). + +pc_number_name(0,"c"). +pc_number_name(1,"c#"). +pc_number_name(2,"d"). +pc_number_name(3,"d#"). +pc_number_name(4,"e"). +pc_number_name(5,"f"). +pc_number_name(6,"f#"). +pc_number_name(7,"g"). +pc_number_name(8,"g#"). +pc_number_name(9,"a"). +pc_number_name(10,"a#"). +pc_number_name(11,"b"). + + +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/lib/odbcutils.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,32 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University of London + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +:- module(odbcutils, [with_odbc/2, qsql/4]). + +:- meta_predicate with_odbc(+,0). +:- use_module(library(odbc)). + +with_odbc(DBName,Goal) :- + setup_call_cleanup( + odbc_connect(DBName,_,[alias(DBName)]), Goal, + odbc_disconnect(DBName)). + +qsql(DB,Fmt,Args,Result) :- !, + format(string(Q),Fmt,Args), + debug(odbcutils,'SQL query: ~s',[Q]), + odbc_query(DB,Q,Result).
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/lib/optutils Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,3 @@ +:- module(optutils, [option_default_select/4]). + +option_default_select(Option,Default,O1,O2) :- select_option(Option,O1,O2,Default).
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/lib/pengutils.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,50 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University of London + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +:- module(pengutils, + [ write_html/1 + , term_rendering//3 + ]). + +:- meta_predicate write_html(:). + +:- use_module(library(http/html_write)). +:- use_module(library(pengines)). +:- use_module(library(sandbox)). +:- use_module(library(swish/render)). + +:- register_renderer(html,"Render HTML"). + +:- meta_predicate write_html(:). +sandbox:safe_meta(pengutils:write_html(_),[]). + +%% write_html(+HTML) is det. +% Takes HTML elements as accepted by html//1 and outputs +% them to the pengine. +write_html(M:H) :- + debug(pengutils,'write_html(~w)',[M:H]), + html(M:H,Tokens,[]), + with_output_to(string(S),print_html(Tokens)), + debug(pengutils,'write_html output: ~s',[S]), + pengine_output(S). + +term_rendering(html(Stuff),_,Opts) --> + {option(module(M),Opts)}, + {debug(pengutils,'Rendering as HTML: ~q',[Stuff])}, + html(M:Stuff). +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/lib/queries.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,47 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University of London + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +:- module(queries, + [ with_output_to_pengine/1 + , write_html/1 + ]). + +:- use_module(library(pengines)). +:- use_module(library(http/html_write)). +:- use_module(library(apply_macros)). +:- use_module(library(dcg_core)). + +sandbox:safe_primitive(html_write:print_html(_)). +sandbox:safe_primitive(flush_output). +sandbox:safe_meta(html_write:html(_,_,_),[]). + +:- meta_predicate + with_output_to_pengine(0), + write_html(:). + +with_output_to_pengine(Goal) :- + with_output_to(atom(Reply), in_pre(Goal)), + % catch( Goal, Ex, + % in_pre((message_to_string(Ex,S),format(S))))), + (Reply='' -> true; pengine_output(Reply)). + +write_html(P) :- + html(P,Toks,[]), + print_html(Toks), + flush_output. +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/lib/rdfutils.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,140 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University of London + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +:- module(rdfutils, + [ rdf_number/3 , rdf_number/4 + , rdf_text/4 , rdf_text/3 + , rdf_search/5, rdf_search/4 + , literal_number/2 + , literal_text/2 + , (a)/2 + , op(700,xfx,a) + , parse_duration_millis/2 + , as_typed_literal/2 + , rdf_list_take/4 + , rdf_list_length/2 + , rdfx/3 + , op(700,xfx,~=) + , (~=)/2 + ]). + +:- use_module(library(semweb/rdf_db)). +:- use_module(library(semweb/rdf_label)). +:- use_module(library(semweb/rdfs)). + +:- rdf_meta rdf_text(r,r,-), + rdf_text(r,r,-,+), + rdf_number(r,r,-), + rdf_number(r,r,-,+), + rdf_search(+,r,r,+,-), + rdf_search(+,r,r,+), + a(r,r). + +X a Y :- rdfs_individual_of(Y,X). + +rdf_text(S,P,Text) :- rdf(S,P,L), literal_text(L,Text). +rdf_text(S,P,Text,G) :- rdf(S,P,L,G), literal_text(L,Text). + +rdf_number(S,P,Num) :- + ( var(Num) + -> rdf(S,P,literal(Lit)), literal_number(Lit,Num) + ; literal_number(Lit,Num), rdf(S,P,literal(Lit)) + ). + +rdf_number(S,P,Num,G) :- + ( var(Num) + -> rdf(S,P,literal(Lit),G), literal_number(Lit,Num) + ; literal_number(Lit,Num), rdf(S,P,literal(Lit),G) + ). + +literal_number(type(_Type,A),N) :- number(A) -> N=A; atom_number(A,N). +literal_number(Atom,Num) :- atomic(Atom), atom_number(Atom,Num). + +%% rdf_search(+T:match_type,?Subj:uri,?Pred:uri, +Needle:atom, -Val:atom) is nondet. +%% rdf_search(+T:match_type,?Subj:uri,?Pred:uri, +Needle:atom) is nondet. +% Convenience predicate for using rdf/3 with a literal search specifier - this +% version is more amenable for use with maplist and other metapredicates. +% Match types (see rdf/3) are: +% == +% match_type ---> substring; case; prefix; exact; plain; word; like. +% == +rdf_search(T,S,P,X,Y) :- Q=..[T,X], rdf(S,P,literal(Q,Y)). +rdf_search(T,S,P,X) :- rdf_search(T,S,P,X,_). + +% :- rdf_meta type_text_val(r,+,-). +% lit_decode(literal(type(Type,Val)),X) :- type_text_val(Type,Val,X). +% type_text_val(xsd:decimal,V,X) :- atom_number(V,X). +% type_text_val(xsd:integer,V,X) :- atom_number(V,X), must_be(integer,X). + +parse_duration_millis(Atom,Dur) :- + split_string(Atom,':','',Parts), + ( Parts=[HS,MS,SS] + -> number_string(H,HS), + number_string(M,MS), + number_string(S,SS) + ; Parts=[MS,SS] + -> number_string(M,MS), + number_string(S,SS), + H=0 + ), + Dur is 1000*(60*(60*H + M) + S). + +:- rdf_meta xsd_type(+,r). +xsd_type(X,xsd:integer) :- integer(X), !. +xsd_type(X,xsd:double) :- float(X), !. + +as_typed_literal(X,X) :- atom(X), !. +as_typed_literal(X,Y) :- string(X), !, atom_string(Y,X). +as_typed_literal(X,type(Type,X)) :- xsd_type(X,Type). + +:- rdf_meta rdf_list_take(+,r,-,r), + rdf_list_length(r,-). + +rdf_list_take(0,List,[],List) :- !. +rdf_list_take(_,rdf:nil,[],rdf:nil) :- !. +rdf_list_take(N,List,[H|T],Tail) :- + succ(M,N), + rdf(List,rdf:first,H), + rdf(List,rdf:rest,More), + rdf_list_take(M,More,T,Tail). + +rdf_list_length(rdf:nil,0) :- !. +rdf_list_length(List,N) :- + rdf(List,rdf:rest,More), + rdf_list_length(More,M), + succ(M,N). + +X ~= Match :- match(Match,X). +match(Match,literal(O)) :- + must_be(var,O), + ( get_attr(O,rdfutils,match(Matches)) -> true; Matches=[]), + put_attr(O,rdfutils,match([Match|Matches])). + +:- rdf_meta rdfx(r,t,o). +rdfx(S,Q,literal(O)) :- + ( get_attr(O,rdfutils,match(Matches)) + -> maplist(rdf_matches(Q,S,O),Matches) + ; Q=exact(P), rdf(S,P,literal(O)) + ; Q=sub(P), rdf_has(S,P,literal(O)) + ). + +rdf_matches(exact(P),S,O,M) :- rdf(S,P,literal(M,O)). +rdf_matches(sub(P),S,O,M) :- rdf_has(S,P,literal(M,O)). + +attr_unify_hook(_,_). +attr_portray_hook(match(Matches),Var) :- writeq(Var:Matches).
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/lib/resolve.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,133 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University of London + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +:- module(resolve, + [ agent_uri/3 + ]). + +/** <module> Tools for resolving named entities to URIs + + NEW RESOLUTION RESOLUTION + Start from the facts. Resolve entities in the background + 1. Introduce nodes tagged 'unresolved' + 2. Attach facts to nodes. + 3. Resolve later + +*/ +:- use_module(library(memo)). +:- use_module(library(musicbrainz)). +:- use_module(library(sparkle)). +:- use_module(library(listutils)). +:- use_module(library(readutil)). +:- use_module(library(dcg_core)). + +:- persistent_memo composer_uri(+composer:atomic,-uri:atom). + +:- initialization memo_attach(memo(resolve),[]). + + +agent_uri(composer,Name,URI) :- ground(URI), !, browse(composer_uri(Name,URI)). +agent_uri(composer,Name,URI) :- + memo(composer_uri(Name,URI),_-Status), + ( Status=ok -> true + ; Status=fail -> clear_all(composer_uri(Name,_)), fail + ; Status=ex(Ex) -> clear_all(composer_uri(Name,_)), throw(Ex) + ). + +composer_uri(Name,URI) :- + member(Source,[mb,dbp]), + source_composer_uri(Source,Name,URI). + +source_composer_uri(mb,Name,URI) :- + format("Searching Musicbrainz for composer '~w'...\n",[Name]), + mb_lazy_query(artist,search([Name,type:person]),[],Matches), + take_while(score_at_least(98),Matches,TopMatches), + process_matches(TopMatches,Matches,URI). + +source_composer_uri(dbp,SearchName,URI) :- + format("Searching DBPedia for '~w'...\n",[SearchName]), + catch( + ( (dbp ?? rdf(URI,rdf:type,foaf:'Person'), rdf(URI,foaf:name,Name), filter(regex(SearchName,Name))), + format("\nFound '~w'...\n",[URI]), + findall(Class,(dbp ?? rdf(URI,rdf:type,Class)),Classes), + format("\nMember of these classes: ~p\n",[Classes]), + format("\nIs this the right one? [y=yes/n=no/a=abort]",[]), flush_output, + get_key_char(Char), nl, + (Char='a' -> throw(lookup_aborted); Char='y') + ), lookup_aborted, fail). + +process_matches([E],_,URI) :- + mb_facet(E,score(Score)), + format("\nMatch (score=~d):\n\n",[Score]), + forall(mb_facet(E,Facet),writeln(Facet)), nl, + mb_uri(E,URI). + +process_matches([],Matches,URI) :- user_scan(Matches,URI). +process_matches(Top,Matches,URI) :- + length(Top,N), N>1, + format("Found ~d matches: \n",[N]), + nl, seqmap(print_match,Top,0,_), + once((repeat, + format("Enter the number of the correct item, or 0 for none of the above: ",[]), flush_output, + read(K), number(K), + % read_line_to_codes(user_input,Codes), + % number_codes(K,Codes), + between(0,N,K) + )), + ( nth1(K,Top,E) -> mb_uri(E,URI) + ; append(Top,Tail,Matches), + process_matches([],Tail,URI) + ). + +print_match(E,I,J) :- + succ(I,J), + format('~` t~d~2+. ~p\n',[J,E]), + forall(mb_facet(E,Facet),format(" ~p\n",[Facet])), + nl. + +user_scan([E|Es],URI) :- + nl, forall(mb_facet(E,Facet),format(" ~p\n",[Facet])), + format("Is this the right one? [y=yes/n=no/a=abort/t=new search term]",[]), flush_output, + get_key_char(Char), nl, + ( Char=y -> mb_uri(E,URI) + ; Char=n -> user_scan(Es,URI) + ; Char=a -> fail + ; Char=t -> nl, read_line_to_string(user_input,Name), source_composer_uri(mb,Name,URI) + ). + + +score_at_least(Thresh,Element) :- mb_facet(Element,score(S)), S>=Thresh. + +% :- volatile_memo work_uri(+terms:list(ground),-uri:atom). +% work_uri(Terms,URI) :- +% file_work_terms(File,WorkTerms,[]), +% file_composer_terms(File,ComposerTerms,[]), +% mb_search(work,[phrase(WorkTerms),artist:phrase(ComposerTerms)],Score,E), +% sleep(0.05), +% format("Match (score=~d):\n",[Score]), +% forall(mb_facet(E,Facet),writeln(Facet)), +% ( Score>98 +% -> mb_uri(E,URI) +% ; format("Is this the right one? [y/n/a]",[]), flush_output, +% get_key_char(Char), +% (Char='a' -> throw(lookup_aborted(work))), +% Char='y' +% ). + + +get_key_char(Char) :- get_single_char(Code), char_code(Char,Code).
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/lib/spotify/echonest.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,65 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University of London + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +:- module(echonest, + [ echocall/4 + ]). + +/** <module> Interface to echonest Web API + */ + +:- use_module(library(fileutils)). +:- use_module(library(http/json)). +:- use_module(library(jpath)). +:- use_module(library(webby)). +:- use_module(library(state)). + +:- set_prolog_flag(double_quotes,string). + +:- setting(min_wait,number,3,"Minimum time between echonest requests"). +:- initialization set_state(next_request_time,0). + +wait_respectfully :- + get_time(Now), + setting(min_wait,TMin), + get_state(next_request_time,T0), T1 is max(Now,T0) + TMin, + set_state(next_request_time,T1), + ( Now>=T0 -> true + ; DT is T0-Now, + debug(echonest,"Sleeping for ~f seconds to respect rate limit",[DT]), + sleep(DT) + ). + +echocall(Key,PathParts,Params,Response) :- + debug(echonest,"Echonest call: ~q, ~q...",[PathParts,Params]), + parts_path([api,v4|PathParts],Path), + wait_respectfully, + catch( restcall(get([api_key=Key, format=json | Params]), json(Response), + [protocol(http), host('developer.echonest.com'), path(Path)], []), + Ex, handle(Ex)). + +handle(http_bad_status(SC,codes(Doc))) :- !, + with_input_from(codes(Doc),json_read_dict(current_input,Dict)), + jpath(response:status:(code:Code,message:Msg),Dict), + throw(echonest_error(SC,Code,Msg)). +handle(Ex) :- throw(Ex). + + +prolog:message(echonest_error(SC,Code,Msg)) --> + {http_status(SC,Meaning)}, + ["(HTTP ~w: ~w) Echonest error ~w: '~s'."-[SC,Meaning,Code,Msg]].
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/lib/spotify/echotools.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,101 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University of London + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +:- module(echotools, [ echo/1, mb_to_echo/2, mb_to_spotify/2 ]). + +:- use_module(echonest). +:- use_module(library(jpath)). +:- use_module(library(dictutils)). +:- use_module(library(insist)). +:- use_module(library(dcg_core)). +:- use_module(library(dcg_pair)). + +echonest_key('NPIODUIKW9DJN1UCI'). + +echo(Path,Params,Decoder) :- + echonest_key(K), echocall(K,Path,Params,Resp), + decode(response:Decoder,Resp). + +decode(A,X) :- jpath(A,X). + +echo(mood(X)) :- echo([artist,list_terms],[type=mood],terms:_#name:X). +echo(style(X)) :- echo([artist,list_terms],[type=style],terms:_#name:X). +echo(genre(X)) :- echo([genre,list],[],genres:_#name:X). +echo(genre_description(X,D)) :- var(X), !, echo_facets([genre,list],[],genres,[name:X,description:D]). +echo(genre_description(X,D)) :- must_be(text,X), !, echo_facets([genre,profile],[name=X],genres,[description:D]). +echo(search(genre,Term,X,D)) :- echo([genre,search],[name=Term,bucket=description],genres:_#(name:X,description(D))). + +echo(genre_artist(Genre,Facets)) :- echo_facets([genre,artists],[name=Genre],artists,Facets). +echo(artist_genre(ArtistID,G)) :- echo([artist,profile],[id=ArtistID,bucket=genre],artist:genres:_#name:G). +echo(genre_facets(Facets)) :- echo_facets([genre,list],[],genres,Facets). +echo(songs(Ids,Facets,Opts)) :- + seqmap(param(id),Ids,Params,Opts), + echo_facets([song,profile],Params,songs,Facets). + +echo(search(song,Conditions,Facets)) :- + echo_facets([song,search],Conditions,songs,Facets). + +echo(genre_song(Genre,Artist,Title,Id)) :- + echo(genre_artist(Genre,[name:Artist,songs:_#(id:Id,title:Title)])). + +echo(genre_songs_by_title(Genre,Artist,Title,Ids)) :- + setof(Id,echo(genre_song(Genre,Artist,Title,Id)),Ids). + +param(P,X) --> [P=X]. + +echo_facets(Path,Params0,Field,Facets) :- + included(Path,Incs), + seqmap(facet(Incs),Facets,Params-Decs,Params0-[]), + list_to_conj(Decs,Decoder), + echo(Path,Params,\Response), + catch( jpath(Field:_#Decoder,Response), + Ex, ( print_message(warning,Ex), + format(user_error,"Response was:\n",[]), + print_dict(user_error,Response,[]), + fail)). + +list_to_conj([D],D). +list_to_conj([D1,D2|Ds],(D1,D2s)) :- list_to_conj([D2|Ds],D2s). + +facet(_,\X) --> !, \> [\X]. +facet(Included,Name:Decoder) --> !, + if(\+memberchk(Name,Included), \< [bucket=Name]), + \> [Name:Decoder]. + +included(Path,Included) :- insist(included_db(Path,Included),unknown_includes(Path)). + +included_db([genre,list],[name]). +included_db([genre,artists],[id,name]). +included_db([song,profile],[id,title,artist_id,artist_name]). +included_db([song,search],[id,title,artist_id,artist_name]). +included_db([genre,profile],[name]). + +mb_to_echo(ID,Songs) :- + atom_concat('musicbrainz:song:',ID,FID), + findall(Song, + echo(songs([FID],[\Song, tracks:1# \_], [ bucket='id:spotify'])), + Songs). + +%% mb_to_spotify(+MBId:atom,-SpURI:atom) is nondet. +% Finds Spotify URIs corresponding to MusicBrainz recording IDs using +% the Echonest Rosetta web service. +mb_to_spotify(ID,SpID) :- + mb_to_echo(ID,Songs), + member(Song,Songs), + jpath(tracks:_#foreign_id:SpID,Song). +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/lib/spotify/spotify.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,348 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University of London + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +:- module(spotify, + [ spotify_authorise/1 + , spotify_app/2 + , spotify/2 + , spotify_user/2 + , spotify_search/4 + , spotify_player//2 + , spotify_player_url/3 + ]). + +/** <module> Interface to Spotify Web API + +This module provides access to the Spotify web API. +It uses dicts, but does not require the .field syntax to be enabled. + +https://developer.spotify.com/web-api/ + + */ + +:- use_module(library(http/http_dispatch)). +:- use_module(library(http/thread_httpd)). +:- use_module(library(http/http_parameters)). +:- use_module(library(http/http_ssl_plugin)). +:- use_module(library(http/html_write)). +:- use_module(library(base64)). +:- use_module(library(dcg_core)). +:- use_module(library(webby)). +:- use_module(library(insist)). +:- use_module(library(state)). + +:- multifile app_facet/2. +:- dynamic state/2. +:- set_prolog_flag(double_quotes,string). + +:- http_handler(root(authorise), authorise, []). + +%% spotify_app(+App:ground, +Spec:list) is det. +% +% Declares App to be a registered Spotify application. Spec must contain contain +% the following elements containing information obtained during the application +% registration process. They can be atoms or strings. +% * id(ClientID:text) +% * secret(Secret:text) +% * redirect(RedirectURL:text) +% * scope(Scopes:text) +% This can only be used as a directive, as the expansion process included declaring +% an HTTP handler using http_handler/3.% +spotify_app(_,_) :- throw(directive(spotify_app/2)). + +user:term_expansion((:- spotify_app(App,Props)), Clauses) :- !, + Info=[id(_),secret(_),redirect(Redirect),scope(_)], + maplist(spotify:option_inv(Props),Info), + insist(url:parse_url(Redirect,Parts),bad_redirect(Redirect)), + member(path(Path),Parts), + seqmap(spotify:app_clause(App),Info,Clauses,[(:-http_handler(Path, spotify:callback(App), []))]). + +option_inv(Props,Prop) :- insist(option(Prop,Props),missing_app_facet(Prop)). +app_clause(App,Prop) --> [spotify:app_facet(App,Prop)]. + +app_port(App,Port) :- + app_facet(App,redirect(Redirect)), + parse_url(Redirect,Parts), + member(port(Port),Parts). + + +%% spotify_authorise(+App) is det. +% +% Get authorisation for current app from a Spotify user. +% This requires a working www_open_url to initiate an interaction with +% the user to handle the Spotify login process. If this doesn't +% work, consider changing the 'browser' Prolog flag. For example, +% on Mac OS X, add the following to your ~/.plrc +% == +% :- set_prolog_flag(browser,open). +% == +% After logging in (if necessary) and authorising the app, the browser +% should show a page confirming that the process succeeded and giving information +% about the current user. This predicate (spotify_authorise/0) will wait +% until the confirmation page has been shown. It may hang if something +% goes wrong. +spotify_authorise(App) :- + get_time(Time), variant_sha1(App-Time,Hash), + login_url(App,Hash,URL), + app_port(App,Port), + with_message_queue(spotify,[max_size(5)], + with_http_server(Port, + ( thread_send_message(spotify,login(App,Hash,URL)), + print_message(information,spotify:auth_opening_browser(App,Port,URL)), + www_open_url(URL), + print_message(information,spotify:auth_waiting(App)), + thread_get_message(spotify,cont(App,Hash,RC),[timeout(300)]), + (RC=error(Ex) -> throw(Ex); true), + print_message(information,spotify:auth_complete(App)) + ))). + + +with_http_server(Port,Goal) :- + setup_call_cleanup( + http_server(http_dispatch, [port(Port)]), Goal, + http_stop_server(Port,[])). + +with_message_queue(Alias,Opts,Goal) :- + setup_call_cleanup( + message_queue_create(_,[alias(Alias)|Opts]), Goal, + message_queue_destroy(Alias)). + +%% login_url(+App,+Hash,-URL) is det. +login_url(App,Hash,URL) :- + maplist(app_facet(App),[id(ID),redirect(Redirect),scope(Scope)]), + Params=[ response_type=code,client_id=ID,scope=Scope, redirect_uri=Redirect, state=Hash ], + parse_url(URL,[ protocol(https), host('accounts.spotify.com'), path('/authorize'), search(Params)]). + + +%% authorise(Request) is det. +% +% Authorisation process via a web interface. +authorise(Request) :- + ( thread_peek_message(spotify,login(_,_,URL)) + -> http_redirect(see_other,URL,Request) + ; reply_html_page(default, [title("SWI Prolog Spotify client")], + center(p("Nothing to see here. Move on.")))). + + +%% callback(+App,+Request) is det. +% +% Handle the callback from Spotify as part of the authorisation process. +% This handler must be registered with library(http_dispatch) associated +% with 'redirect' URL property of the current app. +callback(App,Request) :- + http_parameters(Request,[ code(Code, [string, optional(true)]) + , error(Error, [string, optional(true)]) + , error_description(ErrorDesc, [string, optional(true)]) + , state(Hash, [atom, optional(false)]) ]), + debug(spotify,"Got callback (~w)",[Hash]), + insist(thread_get_message(spotify,login(App,Hash,_),[timeout(0)]),no_matching_state), + + catch( + ( insist(var(Error), auth_error(Error,ErrorDesc)), + insist(nonvar(Code),no_code_received), + maplist(app_facet(App),[id(ID),secret(Secret),redirect(Redirect)]), + get_authorisation([ grant_type='authorization_code' + , code=Code, redirect_uri=Redirect + , client_id=ID, client_secret=Secret + ], [], Reply), + debug(spotify,"Received access and refresh tokens.",[]), + debug(spotify,"Posting success to login queue ~w...",[Hash]), + Status=ok(Reply) + ), Ex, Status=error(Ex)), + handle_auth_reply(Status,App,Hash). + +handle_auth_reply(ok(Reply),App,Hash) :- + set_tokens(App,Reply), + debug(spotify,"Posting success to login queue ~w...",[Hash]), + thread_send_message(spotify,cont(App,Hash,ok)), + spotify(App,me(Me)), is_dict(Me,user), + set_state(user(App),Me), + reply_html_page(default, + [title("SWI-Prolog Spotify Client > Login ok")], + [ \html_post(head,style( + [ "table.json table.json { border: thin solid gray }" + , "table.json { border-collapse: collapse }" + , "table.json td:first-child { font-weight: bold; text-align: right; padding-right:0.5em }" + , "table.json td { vertical-align:top; padding-left:0.5em }" + , "body { margin:2em; }" + ])) + , center(div([h3("SWI Prolog library app '~w' authorised as user"-App), \json(Me) ])) + ]). + +handle_auth_reply(error(Ex),App,Hash) :- + debug(spotify,"Posting error to login queue ~w...",[Hash]), + thread_send_message(spotify,cont(App,Hash,error(Ex))), + ( Ex=http_bad_status(_,Doc), phrase("<!DOCTYPE html>",Doc,_) + -> format("Content-type: text/html; charset=UTF-8~n~n~s",[Doc]) + ; throw(Ex) + ). + +%% refresh is det. +% Refresh the access token for the current app. +refresh(App) :- + app_facet(App,id(ID)), + app_facet(App,secret(Secret)), + get_state(refresh_token(App),Token), + format(codes(IDCodes),"~w:~w", [ID,Secret]), + phrase(("Basic ",base64(IDCodes)),AuthCodes), + string_codes(Auth,AuthCodes), + % debug(spotify,"Refreshing access tokens...",[]), + get_authorisation([grant_type=refresh_token, refresh_token=Token], + [request_header('Authorization'=Auth)], Reply), + debug(spotify,"Received new access tokens.",[]), + set_tokens(App,Reply). + +%% set_tokens(+App,+Dict) is det. +% Updates the record of the current access and refresh tokens, +% and their new expiry time. +set_tokens(App,Dict) :- + _{expires_in:Expiry,access_token:Access} :< Dict, + get_time(Now), ExpirationTime is Now+Expiry, + set_state(access_token(App),Access-ExpirationTime), + ( _{refresh_token:Refresh} :< Dict + -> set_state(refresh_token(App),Refresh) + ; true + ). + +%% usable_token(+App,-Token) is det. +% Gets a usable access token, refreshing if the current one expired. +usable_token(App,Token) :- + get_state(access_token(App),Token0-ExpiryDate), + get_time(Now), + ( ExpiryDate>Now -> Token=Token0 + ; refresh(App), usable_token(App,Token) + ). + +%% spotify_player(+URI:atom,+Opts:options) is det. +% HTML component for showing the Spotify web widget. +spotify_player_url(track(URI),Opts,URL) :- + option(theme(Th),Opts,white), must_be(oneof([white,black]),Th), + option(view(Vw),Opts,list), must_be(oneof([list,coverart]),Vw), + parse_url(URL, [ protocol(https),host('embed.spotify.com'),path(/) + , search([uri=URI, theme=Th, view=Vw]) ]). + +spotify_player_url(tracks(Title,URIs),Opts,URL) :- + option(theme(Th),Opts,white), must_be(oneof([white,black]),Th), + option(view(Vw),Opts,list), must_be(oneof([list,coverart]),Vw), + maplist(string_concat('spotify:track:'),IDs,URIs), + atomics_to_string(IDs,',',IDList), + atomics_to_string([spotify,trackset,Title,IDList],':',URI), + parse_url(URL, [ protocol(https),host('embed.spotify.com'),path(/) + , search([uri=URI, theme=Th, view=Vw]) ]). + +spotify_player(Spec,Opts) --> + { spotify_player_url(Spec,Opts,URL), + option(width(W),Opts,300), must_be(between(250,640),W), + option(height(H),Opts,300), must_be(between(80,720),H) + }, + html(iframe([ src=URL,width=W,height=H,frameborder=0,allowtransparency=true],[])). + +% multiple tracks: +% uri='spotify:trackset:PREFEREDTITLE:5Z7ygHQo02SUrFmcgpwsKW,1x6ACsKV4UdWS2FMuPFUiT' +json(Dict) --> + {is_dict(Dict), !, dict_pairs(Dict,_,Pairs)}, + html(table(class=json, + [colgroup([col(style="border-right:thin solid black"),col([])]), \seqmap(pair_row,Pairs)])). +json(List) --> {is_list(List)}, !, html(ol(\seqmap(val_li,List))). +json(Val) --> html("~w"-Val). +val_li(Val) --> html(li(\json(Val))). +pair_row(Name-Val) --> html(tr( [ td(Name), td(\json(Val))])). + +%% spotify(+App,+Request) is nondet. +% +% This is the main predicate for making calls to the Spotify web API. The nature of +% the call, its parameters, and its results are encoded in the term Request. +% See request/4 for information about what requests are recognised. +% This predicate will formulate the call URL, refresh the access token if necessary, +% make the call, and read the results. +spotify(App,Req) :- + request(Req,PathPhrase,Method,Reader), !, + phrase(PathPhrase,PathParts), + parts_path([v1|PathParts],Path), + usable_token(App,Token), + string_concat("Bearer ", Token, Auth), + spotify(Method,Reader,'api.spotify.com',Path, + [ request_header('Authorization'=Auth) ]). + +% just for internal use +get_authorisation(Params,Opts,Reply) :- + spotify(post(form(Params)), json(Reply), 'accounts.spotify.com', '/api/token', Opts). + +% All web calls come through here eventually. +spotify(Method,Reader,Host,Path,Opts) :- + restcall(Method, Reader, + [ protocol(https), host(Host), path(Path) ], + [ request_header('Accept'='application/json') + , cert_verify_hook(spotify:verify) + | Opts ]). + +verify(_, Problem, _All, _First, Error) :- + debug(ssl,"Accepting problem certificate (~w)\n~w\n",[Error,Problem]). + +%% request(-Req:spotify_request, -PathPhrase:phrase(atom), -Method:web_method, -Reader:web_reader) is nondet. +% +% Database of mappings from requests to end-points. +request( me(Me), [me], get([]), json(Me)). +request( track(TID,T), [tracks,TID], get([]), json(T)). +request( playlists(UID,Ls), playlists(UID), get([]), json(Ls)). +request( playlist(UID,PID,L), playlist(UID,PID), get([]), json(L)). +request( playlist_tracks(UID,PID,Ts), tracks(UID,PID), get([]), json(Ts)). +request( search(Type,Term,L), [search], get([(type)=Type,q=Term]), json(L)). +request( create_playlist(UID,Name,PL), playlists(UID), post(json(_{name:Name})), json(PL)). +request( add_tracks(UID,PID,URIs), tracks(UID,PID), post(json(URIs)), nil). +request( set_tracks(UID,PID,URIs), tracks(UID,PID), put(json(_{uris:URIs})), nil). +request( del_tracks(UID,PID,TIDs), tracks(UID,PID), delete(json(TIDs)), json(_)). + +% DCG for building paths as a list of atoms. +playlist(UID,PID) --> playlists(UID), [PID]. +playlists(UID) --> [users,UID,playlists]. +tracks(UID,PID) --> playlist(UID,PID), [tracks]. + +spotify_user(App,Me) :- get_state(user(App),Me). + +spotify_search(App,Type,Term,Item) :- + spotify(App,search(Type,Term,Response)), + type_field(Type,Field), + get_dict(Field,Response,Results), + get_dict(items,Results,Items), + member(Item,Items). + +type_field(artist,artists). +type_field(track,tracks). +type_field(album,albums). + +user:portray(Dict) :- + is_dict(Dict), + get_dict(uri,Dict,URI), + ( get_dict(name,Dict,Name) + -> format("<~s|~s>",[URI,Name]) + ; format("<~s>",[URI]) + ). + +prolog:message(directive(Pred)) --> ["~w can only be used as a directive."-[Pred]]. +prolog:message(spotify:refreshing_token) --> ["Refreshing Spotify access token..."]. +prolog:message(spotify:bad_redirect(R)) --> ["Malformed callback URI '~w'"-[R]]. +prolog:message(spotify:missing_app_facet(P)) --> ["spotify_app declaration missing property ~w"-[P]]. +prolog:message(spotify:no_matching_state) --> ["Authorisation synchronisation broken"]. +prolog:message(spotify:no_code_received) --> ["No authorisation code received"]. +prolog:message(spotify:auth_waiting(App)) --> ["Waiting for authorisation of ~w..."-[App]]. +prolog:message(spotify:auth_complete(App)) --> ["Authorisation of ~w complete."-[App]]. +prolog:message(spotify:auth_opening_browser(App,Port,_)) --> + ["Authorising Spotify app ~w. "-[App]], + ["Your browser should open automatically. If not, please open it manually and"], + [" navigate to < http://localhost:~w/authorise >"-[Port]].
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/lib/spotify/spotools.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,97 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University of London + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +:- module(spotools, + [ name_playlist/2 + , user_playlist/1 + , user_playlist/2 + , login/1 + , explicit/1 + , playlist_track/2 + , set_tracks/2 + , spotify/1 + ]). + +:- use_module(library(dictutils)). +:- use_module(spotify). + +:- dynamic current_app/1. + +login(App) :- + spotify_authorise(App), + writeln("Logged in as:"), + retractall(current_app(_)), + assert(current_app(App)), + user(Me), + print_dict(Me). + +spotify(Goal) :- current_app(App), spotify(App,Goal). + +user(Me) :- + current_app(App), + spotify_user(App,Me). + +name_playlist(Name,Playlist) :- + user_playlist(Playlist), + atom_string(Name,NameS), + Playlist.name=NameS. + +user_playlist(Playlist) :- + user(Me), + user_playlist(Me,Playlist). + +user_playlist(User,Playlist) :- + spotify(playlists(User.id,Playlists)), + member(Playlist,Playlists.items), + tag(playlist,Playlist). + +playlist_entry(PL,Entry) :- + spotify(playlist_tracks(PL.owner.id,PL.id,Tracks)), + member(Entry,Tracks.items), + tag(track,Entry.track). + +playlist_track(PL,Track) :- + playlist_entry(PL,Entry), + Track = Entry.track, + maplist(tag(artist),Track.artists), + tag(album,Track.album). + +add_tracks(PL,Tracks) :- + maplist(get_dict(uri),Tracks,URIs), + spotify(add_tracks(PL.owner.id,PL.id,URIs)). + +del_tracks(PL,Tracks) :- + findall(_{uri:URI}, (member(T,Tracks),get_dict(uri,T,URI)), Ts), + spotify(del_tracks(PL.owner.id,PL.id,_{tracks:Ts})). + +clear_playlist(PL) :- + findall(T,playlist_track(PL,T),Tracks), + del_tracks(PL,Tracks). + +set_tracks(PL,Tracks) :- + maplist(get_dict(uri),Tracks,URIs), + spotify(set_tracks(PL.owner.id,PL.id,URIs)). + +set_playlist_tracks(Name,Tracks) :- + atom_string(Name,NameS), + name_playlist(NameS,PL), + spotify(set_tracks(PL.owner.id,PL.id,Tracks)). + +explicit(Track) :- Track.explicit=true. + +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/lib/state.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,43 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University of London + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +:- module(state, [set_state/2, get_state/2, with_state/3, retract_state/1]). + +:- meta_predicate + with_state(:,+,0), + retract_state(:), + set_state(:,+), + get_state(:,-). + +:- use_module(insist). +:- dynamic state/3. + +get_state(M:Key,Value) :- state(M,Key,Value). +set_state(M:Key,Value) :- + retractall(state(M,Key,_)), + assert(state(M,Key,Value)). + +with_state(M:Key,Value,Goal) :- + insist(\+state(M,Key,_),state_exists(M:Key)), + setup_call_cleanup( + assert(state(M,Key,Value)), Goal, + retract_state(M:Key)). + +retract_state(M:Key) :- retractall(state(M,Key,_)). + +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/lib/stringutils.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,27 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University of London + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +:- module(stringutils, [ split_string_around/4, strip_string/2 ]). + +split_string_around(Inter,String,Pre,Post) :- + sub_string(String,Bef,_,Aft,Inter), + sub_string(String,0,Bef,_,Pre1), strip_string(Pre1,Pre), + sub_string(String,_,Aft,0,Post1), strip_string(Post1,Post). + +strip_string(X,Y) :- split_string(X,"","\s",[Y]). +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/lib/termutils.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,57 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University of London + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +:- module(termutils, + [ with_status_line/1 + , put_cap/2 + , put_cap/1 + , status/2 + , msg/2 + , msg/1 + , heading/2 + , ask/3 + ]). + +:- meta_predicate with_status_line(0). + +put_cap(Cap) :- tty_get_capability(Cap,string,Atom), tty_put(Atom,1). +put_cap(Cap,Lines) :- tty_get_capability(Cap,string,Atom), tty_put(Atom,Lines). + +user:goal_expansion(put_cap(Cap), tty_put(Atom,1)) :- + tty_get_capability(Cap,string,Atom). +user:goal_expansion(put_cap(Cap,Lines), tty_put(Atom,Lines)) :- + tty_get_capability(Cap,string,Atom). + +with_status_line(Goal) :- + stream_property(user_output,buffer(Buff)), + tty_size(_,Width), W is Width-1, + flag(line_len,_,W), + setup_call_cleanup( + set_stream(user_output,buffer(false)), (put_cap(cr), call(Goal), status("",[])), + set_stream(user_output,buffer(Buff))). + +msg(F) :- msg(F,[]). +msg(F,A) :- format(F,A), nl. +ask(F,A,Ch) :- format(F,A), flush_output, get_single_char(C), put_char(C), char_code(Ch,C), nl. +heading(F,A) :- ansi_format([bold],F,A), nl,nl. +status(F,A) :- + format(string(Msg),F,A), + flag(line_len,MaxLen,MaxLen), + string_length(Msg,Len), + (Len>MaxLen -> sub_string(Msg,0,MaxLen,_,Msg1); Msg=Msg1), + write(Msg1), put_cap(ce), put_cap(cr).
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/lib/timeline.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,134 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University of London + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +:- module(mo, [ + load_chord_symbols/0 + , load_chord_symbols_on/1 + , has_title/2 + , timeline/1 + , interval_on/2 + , event_on/2 + , event_time/2 + , event_chord/2 + , sorted_events_on/2 + , sorted_timed_events/2 + , timeline_event_terms/2 + , timed_event_term/2 + , interval_term/2 + , chord_term/2 + , note_term/2 + ]). + +:- use_module(library(semweb/rdf_db)). +:- use_module(library(semweb/rdf_http_plugin)). +:- use_module(library(apply_macros)). + +load_chord_symbols :- + setof(C,A^rdf(A,chord:chord,C),Chords), + rdf_load(Chords). + +load_chord_symbols_on(TL) :- + setof(C,E^I^(interval_on(I,TL),event_time(E,I),event_chord(E,C)),Chords), + rdf_load(Chords). + +has_title(TL,Tit) :- rdf(TL,dc:title,Tit). + +timeline(TL) :- rdf(TL,rdf:type,tl:'TimeLine'). +interval_on(I,TL) :- rdf(I,tl:onTimeLine, TL). +event_time(E,T) :- rdf(E,event:time,T). +event_on(E,TL) :- interval_on(I,TL), event_time(E,I). + +interval_ends(I,T1) :- + rdf(I,tl:endsAtDuration,literal(AT1)), + decode_duration(AT1,T1). + +interval_starts(I,T1) :- + rdf(I,tl:beginsAtDuration,literal(AT1)), + decode_duration(AT1,T1). + +decode_duration(A,T) :- sub_atom(A,1,_,1,B), atom_number(B,T). + +sorted_events_on(TL,Events) :- + sorted_timed_events(TL,STE), + maplist(strip_key,STE,Events). + +sorted_timed_events(TL,Events) :- + findall(interval(T1,T2)-E, ( + interval_on(I,TL), + interval_starts(I,T1), + interval_ends(I,T2), + event_time(E,I) + ),TE), + keysort(TE,Events). + +strip_key(_-E,E). +event_chord(E,C) :- rdf(E,chord:chord,C). + +timed_event_term(interval(T1,T2)-Event, event(T1,Dur,ChordTerm)) :- + Dur is T2-T1, + event_chord(Event,Chord), + chord_term(Chord,ChordTerm). + + +user:term_expansion(note_mapping(A,B),note_mapping(AA,B)) :- rdf_global_id(A,AA). +user:term_expansion(modified(A,B,C),modified(AA,B,C)) :- rdf_global_id(A,AA). + +:- rdf_meta note_term(r,?). +:- rdf_meta chord_term(r,?). +:- rdf_meta modified(r,?,?). + + +% represent a chord algebraically as a Prolog term +chord_term(Chord,Term) :- chord_term_semidet(Chord,T) -> Term=T; Term=no_chord. + +chord_term_semidet(Chord,chord(Root,Bass,Intervals)) :- + rdf(Chord,chord:root,R), + note_term(R,Root), + (rdf(Chord,chord:bass,B)->interval_term(B,Bass);Bass=1), + setof(I,rdf(Chord,chord:interval,I),IX), + maplist(interval_term,IX,Intervals). + +note_term(Note,N) :- note_mapping(Note,N). +note_term(Note,MN) :- + rdf(Note,chord:natural, Nat), note_term(Nat,N), + rdf(Note,chord:modifier, Mod), modified(Mod,N,MN). + +modified(chord:flat, N, flat(N)). +modified(chord:doubleflat, N, flat(flat(N))). +modified(chord:sharp, N, sharp(N)). +modified(chord:doublesharp, N, sharp(sharp(N))). + +note_mapping(chord:'note/A',a). +note_mapping(chord:'note/B',b). +note_mapping(chord:'note/C',c). +note_mapping(chord:'note/D',d). +note_mapping(chord:'note/E',e). +note_mapping(chord:'note/F',f). +note_mapping(chord:'note/G',g). + +interval_term(Interval,Term) :- + rdf(Interval,chord:degree,D), D=literal(type(_,DA)), atom_number(DA,Deg), + ( rdf(Interval,chord:modifier,Mod) + -> modified(Mod,Deg,Term) + ; Term=Deg + ). + +timeline_event_terms(TL,Terms) :- + sorted_timed_events(TL,Events), + maplist(timed_event_term,Events,Terms). +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/lib/vamp.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,390 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University of London + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +:- module(vamp, []). + +:- use_module(library(semweb/rdf_db)). +:- use_module(library(semweb/rdf_label)). +:- use_module(library(archive)). +:- use_module(library(settings)). +:- use_module(library(fileutils), except([file_under/4])). +:- use_module(library(termutils)). +:- use_module(library(rdfutils)). +:- use_module(library(xmlarchive)). +:- use_module(library(dcg_core)). +:- use_module(library(dcg_pair)). +:- use_module(library(dcg/basics)). +:- use_module(library(insist)). +:- use_module(library(lambda)). +:- use_module(entailment(p2r)). +:- use_module(api(archive)). +:- use_module(cliopatria(hooks)). + +:- set_prolog_flag(double_quotes,string). +:- rdf_register_prefix(vamp,'http://purl.org/ontology/vamp/'). +:- rdf_register_prefix(vamp_plugins,'http://vamp-plugins.org/rdf/plugins/'). + + +% -------------- LABEL HOOKS FOR COMPUTATIONS AND TRANSFORMS ---------------- + +rdf_label:display_label_hook(R,_,Label) :- + rdf(R,rdf:type,dml:'Computation'), !, + rdf(R,dml:'comp/function',Fn), rdf_display_label(Fn,FnLabel), + rdf(R,dml:'comp/input',Input), + ( Input=literal(InputLabel) -> true + ; rdf_display_label(Input,InputLabel) + ), + format(string(Label),'~s \u25B8 ~s',[InputLabel,FnLabel]). + +rdf_label:display_label_hook(R,_,Label) :- rdf(_,vamp:parameter,R), !, label(parameter,R,Label). +% rdf_label:display_label_hook(R,_,Label) :- rdf(R,rdf:type,vamp:'Transform'), !, label(transform,R,Label). +rdf_label:display_label_hook(R,_,Label) :- rdf(_,vamp:parameter_binding,R), !, label(binding,R,Label). + +label(binding,URI,Label) :- + rdf(URI,vamp:parameter,Param), label(parameter,Param,ParamLabel), + rdf(URI,vamp:value,Value), rdf_literal_value(Value,Val), + format(string(Label),'~s=~w',[ParamLabel,Val]). + + +label(parameter,URI,Label) :- + rdf(URI,vamp:identifier,ID), literal_text(ID,IDText), + ( rdf(URI,vamp:unit,Unit), + literal_text(Unit,UnitText), + UnitText\='' + -> literal_text(Unit,UnitText), + format(string(Label),'~s (~s)',[IDText,UnitText]) + ; format(string(Label),'~s',[IDText]) + ). + +label(transform,URI,Label) :- + rdf(URI,vamp:plugin,Plugin), rdf_display_label(Plugin,PluginName), + rdf(URI,vamp:output,Output), rdf_display_label(Output,OutputLabel), + ( setof(B,rdf(URI,vamp:parameter_binding,B),Bindings) + -> maplist(label(binding),Bindings,BindingLabels), + atomics_to_string(BindingLabels,', ',BindingsText), + format(string(Label),'~s (~s) | ~s',[PluginName,BindingsText,OutputLabel]) + ; format(string(Label),'~s | ~s',[PluginName,OutputLabel]) + %cdot is \u22C5 + ). + +% ---------------------- HIGH LEVEL OPS --------------------------- + +% :- rdf_meta make_triple(r,r,o,-). +% make_triple(S,P,O,rdf(S,P,O)). + +:- public import/0. +import :- + installed_plugins(Plugins), + load_plugins(Plugins), + assert_all_to( vamp, plugins_triple(Plugins)), + assert_all_to( vamp, vamp_triple(transforms)), + assert_all_to( vamp, vamp_triple('_Audio_Analysis')), + assert_all_to( vamp, vamp_triple('_ILM_Analysis')). + +import_directory_graph(Dir,Graph) :- + must_be(ground,Graph), + must_be(atom,Dir), + retractall(failed(_,_)), + rdf_retractall(_,_,_,Graph), + with_status_line(assert_all_to(Graph, vamp_triple(Dir))). + +vamp_triple(Pattern,Triple) :- + absolute_file_name(archive(vamp),VampRoot), + atomic_list_concat([VampRoot,'/',Pattern],AbsPattern), + absolute_file_name(AbsPattern,AbsDir,[expand(true),file_type(directory)]), + atom_concat(VampRoot,RelDir,AbsDir), + atomic_list_concat([_|RelParts],'/',RelDir), + RelParts=[Top|_], + directory_triple(Top,[vamp|RelParts],AbsDir,Triple). + + +installed_plugins(Plugins) :- + absolute_file_name(path('sonic-annotator'),_,[access(execute)]), + with_input_from_file(pipe('sonic-annotator -l'), read_lines_to_strings(current_input,Lines)), + setof(Library:Name, + O^ID^(member(ID,Lines),atomic_list_concat([vamp,Library,Name,O],':',ID)), + Plugins). + +load_plugins(Plugins) :- + setof(Library, Name^member(Library:Name, Plugins), Libraries), + maplist(\Lib^URL^rdf_global_id(vamp_plugins:Lib,URL), Libraries, URLs), + rdf_load(URLs,[]). + +:- rdf_meta plugins_triple(+,t). +plugins_triple(Plugins,rdf(URI,rdf:type,dml:'Installed')) :- + rdf_current_prefix(vamp_plugins,PluginURLBase), + member(Library:Name,Plugins), + format(atom(URI),'~w~w#~w',[PluginURLBase,Library,Name]). + + +directory_triple(transforms,DirParts,AbsDir,Triple) :- !, + append(DirParts,Parts,LocParts), + file_under(AbsDir,AbsPath,Parts), + file_name_extension(_, n3, AbsPath), + locator_uri( file(LocParts), URI), + dcg_triple( transform_triples(URI, with_file(AbsPath)), Triple). + +directory_triple('_ILM_Analysis',DirParts,AbsDir,Triple) :- !, + append(DirParts,Parts,LocParts), + file_under(AbsDir,_,Parts), + append(_,[FileName],Parts), + file_name_extension(BaseName,csv,FileName), + Locator=file(LocParts), + status("Importing: ~w",[Locator]), + string_codes(BaseName, BaseNameCodes), + ( phrase(ilm_filename(AlbumId,TrackNo,PluginAndOutput), BaseNameCodes) + -> true + ; print_message(warning,failed_to_parse_ilm_file(LocParts)), fail + ), + insist(tmap(PluginAndOutput,TName)), + locator_uri(file([vamp,transforms,TName]),TransformGraph), + atom_concat(TransformGraph,'#transform',Transform), + locator_uri(Locator,FileURI), + pattern_uri(ilm:track/num(AlbumId)/num(TrackNo), AudioObject), + dcg_triple(computation_triples(_,AudioObject,Transform,FileURI), Triple). + +directory_triple(_,DirParts,AbsDir,Triple) :- + append(DirParts,Parts,LocParts), + file_under(AbsDir,AbsPath,Parts), + file_name_extension(_,Ext,AbsPath), + append([_,_|PathParts],[FileName],LocParts), + ( archive_ext(Ext) + -> fail % DISABLED + %append(PathParts,Tail,CompositeParts), + %atomics_to_string(LocParts,'/',RelPath), + %with_archive_file(AbsPath, Name, + % archive_entry_triple(CompositeParts-Tail,RelPath,Name,Triple)) + ; file_name_extension(BaseName,Ext,FileName), + dcg_triple( file_triples(Ext, BaseName, PathParts, file(LocParts), + with_file(AbsPath)), + Triple) + ). + + + +read_lines_to_strings(Stream,Lines) :- + read_line_to_string(Stream,String), + ( String=end_of_file + -> Lines=[] + ; Lines=[String|Rest], + read_lines_to_strings(Stream,Rest) + ). + +ilm_filename(AlbumId,TrackNo,PluginAndOutput) --> + integer(AlbumId), "-", + integer(TrackNo), ".", + integer(_), "_vamp_", + string_without([],Codes), + {atom_codes(PluginAndOutput,Codes)}. + +tmap('beatroot-vamp_beatroot_beats', 'beatroot_standard.n3'). +tmap('qm-vamp-plugins_qm-chromagram_chromagram', 'qm-chromagram_standard.n3'). +tmap('qm-vamp-plugins_qm-mfcc_coefficients', 'qm-mfcc-standard.n3'). +tmap('qm-vamp-plugins_qm-keydetector_key', 'qm_vamp_key_standard.n3'). +tmap('qm-vamp-plugins_qm-keydetector_tonic', 'qm_vamp_key_standard_tonic.n3'). +tmap('qm-vamp-plugins_qm-segmenter_segmentation', 'qm-segmentation_standard.n3'). +tmap('qm-vamp-plugins_qm-tempotracker_beats', 'tempotracker_beats_standard.n3'). +tmap('qm-vamp-plugins_qm-tempotracker_tempo', 'tempotracker_tempo_standard.n3'). + + +with_file(File,Stream,Goal) :- + with_stream(Stream,open(File,read,Stream),Goal). + +%% archive_entry(+Prefix:diff_list(string), +ArchivePath:string,+Name:atom,-Triple:triple,+Archive:archive) is nondet. +% +% Produces all the triples associated with the current archive entry. ArchivePath is The relative +% path to the archive from data root directory (in the setting vamp:data_directory). +% Prefix is a difference list containing the path components to be prefixed to the inter-archive +% path to generate the full path associated with the entry. +archive_entry_triple(Parts-Tail,ArchivePath,Name,Triple,Archive) :- + split_string(Name,"/","",InArchiveParts), + append(Tail,[FileName],InArchiveParts), + % Parts is now full composite path excluding file name + file_name_extension(BaseName,Ext,FileName), + dcg_triple( + file_triples(Ext, BaseName, Parts, archive_entry(ArchivePath,Name), + with_current_entry_stream(Archive)), + Triple). + +archive_ext('7z'). +archive_ext(gz). +archive_ext(bz2). +archive_ext(zip). + +recompute_labels :- + forall( rdf(T,rdf:type,vamp:'Transform'), + ( label(transform,T,LabelS), + atom_string(Label,LabelS), + ( rdf(T,rdfs:label,Old) + -> rdf_update(T,rdfs:label,Old,object(literal(Label))) + ; rdf_assert(T,rdfs:label,literal(Label),vamp) + ) + ) + ). + + +% ------------------- FILE IMPORTER, GENERAL PART --------------------- +% + +% :- rdf_meta rdf(r,r,o,?,?). +rdf(S,P,O) --> + { expand_resource(S,SS), + expand_resource(P,PP), + expand_resource(O,OO) + }, + [rdf(SS,PP,OO)]. + +expand_resource(X,X) :- var(X), !, rdf_bnode(X). +expand_resource(literal(X),O) :- !, rdf_global_object(literal(X),O). +expand_resource(X,Y) :- pattern_uri(X,Y). + +computation_triples(Computation,Input,Function,Output) --> + ( {rdf(_,dml:'comp/output', Output,vamp)} -> [] % Already loaded + ; rdf(Computation, rdf:type, dml:'Computation'), + rdf(Computation, dml:'comp/input', Input), + rdf(Computation, dml:'comp/function', Function), + rdf(Computation, dml:'comp/output', Output) + ). + + +parse_dirname(Dirname,Hash) :- + sub_string(Dirname,_,_,After,".n3_"), + sub_string(Dirname,_,After,0,HashString), + atom_string(Hash,HashString). + +:- dynamic failed/2. +:- meta_predicate file_triples(+,+,+,+,2,?,?). + +file_triples(n3,BaseName,_,_,Reader) --> !, + { (sub_atom(BaseName,B,_,_,'_vamp_') -> B=<2; true), % to allow for qm_vampXXXXX.n3 + sub_atom(BaseName,_,5,0,Hash), + status("Importing transform: ~w.n3",[BaseName]), + pattern_uri(dml:transform/Hash,Graph) + }, + transform_triples(Graph,Reader). + +file_triples(csv,BaseName,PathParts,Locator,_) --> !, + { status("Importing: ~w",[Locator]), + append(PathPrefix,[DirName],PathParts), + parse_dirname(DirName,Hash), + atomic_list_concat([transform,'/',Hash,'#',transform], Transform) , + once(sub_string(BaseName,Bef,_,_,"_vamp")), + sub_string(BaseName,0,Bef,_,IDString), + atom_string(ID,IDString), + locator_uri(Locator,FileURI) + }, + { id_to_audio_uri(PathPrefix,ID,AudioObject) -> true + ; % print_message(warning,failed(id_to_audio_uri(PathParts,PathPrefix,DirName,ID,AudioObject))), + PathParts=[Collection|_], + atomic_list_concat([Collection,ID],'/',AudioLocator), + humdrum_p2r:id_assert(vamp:failed(id_to_audio_uri(PathPrefix,ID,AudioObject),AudioLocator)), + AudioObject=literal(AudioLocator) + }, + computation_triples(_, AudioObject, dml:Transform, FileURI). + + +transform_triples(Graph,Reader) --> + { rdf_graph(Graph) -> true % already loaded + ; call(Reader,S,rdf_load(S,[format(turtle),silent(true),base_uri(Graph),graph(Graph)])) + }, + { rdf(Transform,rdf:type,vamp:'Transform',Graph) }, + ( { rdf(Transform,rdfs:label,_) } -> [] + ; { once(label(transform,Transform,LabelS)) }, % precompute label + { atom_string(Label,LabelS) }, + rdf(Transform,rdfs:label,literal(Label)) + ). + +:- use_module(library(memo)). +:- volatile_memo bare_id_to_audio_uri(+atom,-maybe(atom)). +bare_id_to_audio_uri(ID,just(URI)) :- + rdf(DigSig,bldata:path,literal(substring(ID),_)), + ( rdf(DigSig,mo:sampled_version_of,URI) -> true + ; rdf(DigSig,rdf:type,mo:'Signal'), URI=DigSig + ). +bare_id_to_audio_uri(_,nothing). + +%% id_to_audio_uri(+PathParts:list(atom), +ID:atom -URI:uri) is semidet. +% +% This predicate has to work out wich recording is being referred to +% by the name of this output file. It is a not terribly reliable. +id_to_audio_uri(PathParts,ID,URI) :- + ( PathParts = ['CHARM-Collection'|_] + -> rdf(URI,charm:file_name,literal(ID)) + ; PathParts = ['mazurka-dataset'|_] + -> atom_concat(pid,PID,ID), + rdf(URI,mazurka:pid,literal(PID)) + ; PathParts = ['_Non-music'|_] + -> bare_id_to_audio_uri(ID,URI) + ; atomics_to_string(PathParts,"/",Dir), + atomic_list_concat([Dir,'/',ID,'.'],Prefix), + rdf(DigSig,bldata:path,literal(prefix(Prefix),_)), + ( rdf(DigSig,mo:sampled_version_of,URI) -> true + ; rdf(DigSig,rdf:type,mo:'Signal'), URI=DigSig + ) + ). + + +%% missing_audio(-Path:atom,-Matches:list(uri)) is nondet. +% +% This predicate help to find which recordings referred to by imported +% computations could not be found. +missing_audio(Path,Matches) :- + setof(Path,SS^rdf(SS,dml:'comp/input',literal(Path)),Paths), + member(Path,Paths), + atomic_list_concat([_,Filename],'/',Path), + sub_atom(Filename,0,_,2,II), + ( setof(S-Lit,rdf(S,mo:available_as,literal(prefix(II),Lit)),M) + -> Matches=M + ; Matches=[] + ). + +% show_counts(Name) --> +% \< get(D-F), +% { status('directories: ~|~` t~d~3+, files: ~|~` t~d~5+, ~s',[D,F,Name]) }. + + +assert_all_to(Graph,Pred) :- forall(call(Pred,rdf(S,P,O)), rdf_assert(S,P,O,Graph)). + +dcg_triple(Phrase,rdf(S,P,O)) :- + call_dcg(Phrase,Triples,[]), + member(rdf(S,P,O),Triples). + +pattern_uri(Pattern,URI) :- uripattern:pattern_uri(Pattern,URI), !. + +%% file_under(+Dir:path,-AbsPath:path,-Parts:list(string)) is nondet. +% Finds files under directory Dir, succeeding multiple times with AbsPath +% bound to the absolute path (as an atom), and Parts bound to a list +% of directory components ending with the file name. +file_under(Spec,AbsPath,Parts) :- + absolute_file_name(Spec,Dir), + file_under(Dir,AbsPath,Parts,[]). + +%% file_under(+Root:path(dir), -File:path(file)) is nondet. +file_under(Root,File) --> + { atom_concat(Root,'/*',Pattern), + status("Expanding: ~w",[Pattern]), + expand_pattern(Pattern,Item) + }, + ( {exists_file(Item)} + -> {file_base_name(Item,Name), File=Item}, [Name] + ; {exists_directory(Item)} + -> {file_base_name(Item,DirName)}, [DirName], + file_under(Item,File) + ). + +graph_triples(G,Triples) :- findall(rdf(S,P,O),rdf(S,P,O,G),Triples).
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/lib/webby.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,99 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University of London + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +:- module(webby, + [ webcall/3 + , restcall/4 + , parts_path/2 + , http_status/2 + ]). +/** <module> Web API tools + +---+++ Types +== +web_reader ---> json(-D:dict) + ; nil. + +web_method ---> get(+Params:list(param)) + ; post(+D:post_data) + ; put(+D:post_data) + ; delete(+D:post_data) + . + +post_data ---> form(list(param)) + ; json(dict) + . + +param ---> atom=_. +== +*/ + +:- multifile read_reply/2. + +:- use_module(library(http/http_open)). +:- use_module(library(http/http_header)). +:- use_module(library(http/json)). + +parts_path(Parts,Path) :- + atomics_to_string([''|Parts],"/",Path). + +%% webcall(+URL:url_spec, +Opt:options, +R:web_reader) is det. +webcall(URL,Opts,Reader) :- + debug(webby,"HTTP connecting to ~w, ~w",[URL,Opts]), + setup_call_cleanup( + http_open(URL,In,[status_code(SC)|Opts]), + ( set_stream(In,encoding(utf8)), % ! + ( between(200,299,SC) -> read_reply(Reader,In) + ; read_stream_to_codes(In,ErrorDoc), + throw(http_bad_status(SC,codes(ErrorDoc))))), + close(In)). + +read_reply(json(Dict),In) :- json_read_dict(In,Dict). +read_reply(nil,_). + +%% post_data(+D:post_data,-D2:post_data) is det. +post_data(json(Dict),codes('application/json',Codes)) :- !, atom_json_dict(Codes,Dict,[as(codes)]). +post_data(Data,Data). + +%% restcall(+M:web_method, +R:web_reader, +URL:url_spec, +Opts:options) is det. +restcall(get(Params), Rdr, URL, Opts) :- webcall([search(Params)|URL], Opts, Rdr). +restcall(post(D), Rdr, URL, Opts) :- post_data(D,Data), webcall(URL, [method(post),post(Data)|Opts], Rdr). +restcall(delete(D), Rdr, URL, Opts) :- post_data(D,Data), webcall(URL, [method(delete),post(Data)|Opts], Rdr). +restcall(put(D), Rdr, URL, Opts) :- post_data(D,Data), webcall(URL, [method(put),post(Data)|Opts], Rdr). + +status_meaning(200,"OK"). +status_meaning(201,"Created"). +status_meaning(204,"No content"). +status_meaning(304,"Not modified"). +status_meaning(400,"Bad request"). +status_meaning(401,"Unauthorised"). +status_meaning(403,"Forbidden"). +status_meaning(404,"Not found"). +status_meaning(405,"Method not allowed"). +status_meaning(429,"Too many requests"). +status_meaning(500,"Internal server error"). +status_meaning(502,"Bad gateway"). +status_meaning(503,"Service unavailable"). + +http_status(Code,Meaning) :- status_meaning(Code,Meaning), !. +http_status(_,"<Unrecognised status>"). + +prolog:message(http_bad_status(SC,codes(Doc))) --> + {http_status(SC,Meaning)}, + ["HTTP call returned status ~w (~w)."-[SC,Meaning]], + ["Reply document was |~s|"-[Doc]].
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/lib/xmlarchive.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,220 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University of London + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +:- module(xmlarchive, + [ load_xmlns/3 + , load_xmlns/2 + , archive_doc/3 + , map_archive_entries/4 + , with_archive_stream/3 + , with_archive_file/3 + , with_archive/2 + , with_current_entry_stream/3 + , archive_stats/1 + , op(200,fx,@) + ]). + +/* <module> Provides the ability to read XML documents in an archive +*/ + +:- use_module(library(sgml)). +:- use_module(library(termutils)). +:- use_module(library(lambda)). + +:- meta_predicate map_archive_streams(4,?,?,+), + map_archive_entries(5,?,?,+), + with_archive_stream(+,?,1), + with_archive_file(+,?,1), + with_current_entry_stream(+,-,0), + with_archive(+,1). + +:- thread_local xmlns/2. +:- thread_local errors/2. + +%% load_xmlns(+Source,-Doc:list,+Opts:list) is det. +% +% Loads an XML document using the xmlns dialect to handle element names +% that involve namespaces. On exit, Doc is a list of the top level elements +% in the document. Valid options are: +% * ns(-Namespaces:list(pair(atom,url))) +% On exit, Namespaces will contain a list of abbreviation-URL pairs for +% all the namespaces declared in the document. +% * errors(-Errors:list(pair(oneof([error,warning]),text)) +% On exit, Errors will contain a list of all the errors and warnings +% encountered while parsing the document. +load_xmlns(Source,Doc,Opts) :- + option(ns(Namespaces),Opts,_), + option(errors(Errors),Opts,_), + retractall(xmlns(_,_)), + retractall(errors(_,_)), + load_xml(Source,Doc, + [ dialect(xmlns) + , space(remove) + , call(xmlns,on_xmlns) + , call(error,on_error) + , call(urlns,on_urlns) + , max_errors(-1) + ]), + findall(S-M,errors(S,M),Errors), + findall(N-URL,xmlns(N,URL),Namespaces). + +%% load_xmlns(+Source,-Doc:list) is det. +load_xmlns(Source,Doc) :- + retractall(xmlns(_,_)), + retractall(errors(_,_)), + load_xml(Source,Doc, + [ dialect(xmlns) + , space(remove) + , call(xmlns,on_xmlns) + , call(urlns,on_urlns) + , call(error,on_error) + , max_errors(-1) + ]). + +on_xmlns(Prefix,URL,_) :- + debug(xmlarchive,'XML Namespace: ~w -> ~w',[Prefix,URL]), + ( rdf_current_prefix(Prefix,URL1) + -> debug(xmlarchive,'~w already known as ~w',[Prefix,URL1]), + asserta(xmlns(Prefix,URL)), + ( URL=URL1 -> assert(xmlns(Prefix,URL)) + ; debug(xmlarchive,'*** Namespace CLASH',[]), + assert(xmlns(Prefix,URL)) + ) + ; asserta(xmlns(Prefix,URL)) + ). + +on_urlns(xmlns,xmlns,_) :- !. +on_urlns(URL,Prefix,_) :- + ( xmlns(Prefix,URL) + -> debug(xmlarchive,'URL ~w mapped to ~w',[URL,Prefix]) + ; debug(xmlarchive,'*** on_urlns failed on ~w, ~w',[URL,Prefix]) + ). + +on_error(Severity,Message,_Parser) :- + debug(xmlarchive,'SGML ~w: ~s',[Severity,Message]), + assertz(errors(Severity,Message)). + + + + +%% archive_doc(+File:filename, -Doc:list(xml_element), +Opts:options) is nondet. +% +% Is true when archive File contains a file encoding XML document Doc. +% Valid options are: +% * name(-Name:atom) +% On exit, Name will contain the name of the file in the archive that +% was parsed to produce Doc. +% * ns(-NS:list(pair(atom,url))) +% On exit, NS will contain a list of namespaces used in the document. +archive_doc(File,Doc,Opts) :- + select_option(name(Name),Opts,Opts1,_), + with_archive_stream(File,Name,Doc+\S^load_xmlns(S,Doc,Opts1)). + +archive_stats(File) :- + nl, + with_status_line( with_archive( File, + map_archive_streams(load_and_count,0-e(0,0,[]),T-e(N,M,L)))), + format('Compiling statistics...\n',[]), + aggregate(count, Errs^Msg^errors_error(L,warning,Msg), NumWarnings), + once(aggregate(count, Errs^Msg^errors_error(L,error,Msg), NumErrors); NumErrors=0), + setof(Msg, Sev^errors_error(L,Sev,Msg), Msgs), + length(Msgs,NumMessageTypes), + nl, + format(' Number of loaded files: ~d\n',[T]), + format('Number of files with problems: ~d\n',[N]), + format(' Total number of problems: ~d\n',[M]), + format(' Number of errors: ~d\n',[NumErrors]), + format(' Number of warnings: ~d\n',[NumWarnings]), + format(' Number of distinct messages: ~d\n',[NumMessageTypes]). + +errors_error(L,Sev,Msg) :- + member(_-Errs,L), + member(Sev-Msg,Errs). + +load_and_count(Name,Stream,I1-E1,I2-E2) :- + succ(I1,I2), + status('Loading: ~d - ~s',[I2,Name]), + load_xmlns(Stream,_,[errors(Errors)]), + ( Errors=[] -> E2=E1 + ; length(Errors,DM), + E1=e(N1,M1,L1), E2=e(N2,M2,L2), + N2 is N1 + 1, M2 is M1 + DM, + L2=[Name-Errors|L1] + ). + +% ---------- General archive handling stuff --------- + + +%% with_archive_stream(+File:text,?Name:atom,+Goal:pred(+A:archive) is nondet. +% +% Unifies Name with the name of an entry in archive File, and calls Goal +% as call(Goal,Stream), where Stream is available for reading the entry. +% Runs through all available entries on backtracking. +with_archive_stream(File,Name,Goal) :- + with_archive(File, with_stream_in_archive(Name,Goal)). + + +with_archive_file(File,Name,Goal) :- + with_archive(File, with_file_in_archive(Name,Goal)). + +with_file_in_archive(Name,Goal,Archive) :- + archive_entry_name(Archive,Name), + archive_header_property(Archive,filetype(file)), + call(Goal,Archive). + +with_stream_in_archive(Name,Goal,Archive) :- + archive_entry_name(Archive,Name), + archive_header_property(Archive,filetype(file)), + setup_call_cleanup( + archive_open_entry(Archive,Stream), + call(Goal,Stream), + close(Stream)). + +archive_entry_name(Archive,Name) :- var(Name), !, + catch(( repeat, + (archive_next_header(Archive,Name) -> true; throw(nomore)) + ), nomore,fail). + +archive_entry_name(Archive,Name) :- + archive_next_header(Archive,Name). + +map_archive_entries(Goal,S1,S3,Archive) :- + ( archive_next_header(Archive,Name) + -> archive_header_property(Archive,filetype(Type)), + call(Goal,Archive,Type,Name,S1,S2), + map_archive_entries(Goal,S2,S3,Archive) + ; S1=S3 + ). + +map_archive_streams(Goal,S1,S2,Archive) :- + map_archive_entries( call_with_archive_stream(Goal), S1,S2,Archive). + +call_with_archive_stream(Goal,Archive,file,Name,S1,S2) :- !, + with_current_entry_stream(Archive,Stream, call(Goal,Name,Stream,S1,S2)). +call_with_archive_stream(_,_,_,S1,S1). + +with_current_entry_stream(Archive,Stream,Goal) :- + setup_call_cleanup( + archive_open_entry(Archive,Stream), Goal, + close(Stream)). + + +with_archive(File,Goal) :- + setup_call_cleanup( + archive_open(File,A,[]), call(Goal,A), + archive_close(A)).
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/lib/xmltraverse.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,50 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University of London + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +:- module(xmltraverse, [traverse/3, op(720,xfx,@), op(750,xfy,~), op(750,xfy,..) ]). +% for traverse/3 paths +:- op(720,xfx,@). +:- op(750,xfy,~). +:- op(750,xfy,..). + +%% traverse(+Dir:oneof([f,b]), +Doc:xml_element, -P:xml_path) is nondet. +% +% Succeeds once for each path through an XML element starting at the top +% and travelling all or part of the way down through the tree structure. +traverse(f,El,Path) :- traverse_f(El,Path). +traverse(b,El,Path) :- traverse_b([],El,Path). + +traverse_f(Other,{Other}) :- atomic(Other), !. +traverse_f(Element,\Element). +traverse_f(element(Name,_,_), n(Name)). +traverse_f(element(Name,Attribs,_),Name @ A) :- member(A,Attribs). +traverse_f(element(Name,_,Content),Name .. Path1) :- + ( Path1 = \Content + ; Path1 = (I~Path2), + nth1(I,Content,SubE), + traverse_f(SubE,Path2) + ). + + +traverse_b(L,Other,{Other}..L) :- atomic(Other), !. +traverse_b(L,element(Name,Attribs,Content),Path) :- !, + ( Path = (A @ Name .. L), member(A,Attribs) + ; nth1(N,Content,SubE), + traverse_b(N ~ Name..L,SubE,Path) + ). +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/matlab/dml_fsetup.m Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,10 @@ +function dml_fsetup(w,h,units) +% dml_fsetup(width,height,units) +% similar to asetup, but sizes figure +% instead of axes. units default to +% centimetres. + +if nargin<3, units='centimeters'; end +set(gcf,'Units',units); +set(gcf,'PaperUnits',units); +set(gcf,'PaperPosition',[0 0 w h]);
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/matlab/dml_paperfig.m Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,36 @@ +function dml_paperfig(fig,fn,fs,lw,colour,ms,lwr) +% dml_paperfig(fontname) +% dml_paperfig(fontname, fontsize) +% dml_paperfig(fontname, fontsize, linewidth) +% dml_paperfig(fontname::string, fontsize::natural, linewidth::nonneg, colour::bool) +% dml_paperfig :: +% string/'Times' ~'font name', +% natural/9 ~'font size', +% nonneg/0.4 ~'line width', +% bool/1 ~'colour or b/w', +% nonneg/4 ~'marker size' +% -> action handle. +% +% Sets up default linewidth and hardcopy inversion +% for printing to white paper at high resolution. +% also, sets to white background. Optional font name +% to used for labels etc. + +figure(fig); +clf; +h=gcf; +whitebg(h,'w'); +set(h,'Color','w'); +set(h,'DefaultTextFontSize',fs); +set(h,'DefaultTextFontName',fn); +set(h,'DefaultAxesFontSize',fs); +set(h,'DefaultAxesFontName',fn); +set(h,'DefaultAxesLineWidth',lwr*lw); +set(h,'DefaultTextColor','k'); +set(h,'DefaultLineLineWidth',lw); +set(h,'DefaultLineMarkerSize',ms); +set(h,'InvertHardcopy','off'); +if ~colour, + set(h,'DefaultAxesColorOrder',[0 0 0]); + set(h,'DefaultAxesLineStyleOrder','-|:|--|-.'); +end
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/python Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,1 @@ +../../dml-cla/python \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/rdf/countries.skos.rdf Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,346 @@ +<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> + <rdf:Description rdf:about="http://id.loc.gov/vocabulary/countries"> + <rdf:type rdf:resource="http://www.w3.org/2004/02/skos/core#ConceptScheme"/> + <rdfs:label xml:lang="en" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">MARC List for Countries</rdfs:label> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/af" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/alu" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/aku" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/aa" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/abc" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/ae" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/as" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/an" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/ao" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/am" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/ay" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/aq" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/ag" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/azu" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/aru" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/ai" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/aw" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/at" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/aca" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/au" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/aj" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/bf" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/ba" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/bg" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/bb" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/bw" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/be" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/bh" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/dm" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/bm" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/bt" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/bo" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/bn" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/bs" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/bv" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/bl" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/bcc" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/bi" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/vb" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/bx" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/bu" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/uv" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/br" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/bd" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/cv" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/cau" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/cb" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/cm" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/xxc" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/ca" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/cj" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/cx" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/cd" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/cl" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/cc" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/ch" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/xa" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/xb" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/ck" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/cou" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/cq" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/cf" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/cg" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/ctu" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/cw" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/xga" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/cr" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/iv" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/ci" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/cu" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/co" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/cy" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/xr" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/deu" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/dk" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/dcu" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/ft" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/dq" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/dr" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/ec" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/ua" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/es" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/enk" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/eg" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/ea" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/er" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/et" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/fk" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/fa" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/fj" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/fi" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/flu" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/fr" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/fg" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/fp" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/go" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/gm" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/gz" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/gau" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/gs" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/gw" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/gh" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/gi" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/gr" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/gl" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/gd" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/gp" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/gu" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/gt" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/gv" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/pg" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/gy" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/ht" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/hiu" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/hm" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/ho" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/hu" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/ic" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/idu" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/ilu" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/ii" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/inu" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/io" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/iau" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/ir" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/iq" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/iy" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/ie" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/is" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/it" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/jm" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/ja" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/ji" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/jo" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/ksu" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/kz" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/kyu" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/ke" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/gb" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/kn" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/ko" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/kv" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/ku" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/kg" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/ls" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/lv" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/le" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/lo" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/lb" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/ly" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/lh" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/li" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/lau" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/lu" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/xn" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/mg" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/meu" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/mw" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/my" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/xc" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/ml" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/mm" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/mbc" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/xe" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/mq" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/mdu" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/mau" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/mu" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/mf" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/ot" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/mx" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/miu" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/fm" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/xf" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/mnu" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/msu" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/mou" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/mv" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/mc" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/mp" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/mtu" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/mo" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/mj" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/mr" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/mz" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/sx" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/nu" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/nbu" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/np" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/ne" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/nvu" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/nkc" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/nl" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/nhu" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/nju" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/nmu" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/xna" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/nyu" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/nz" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/nfc" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/nq" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/ng" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/nr" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/xh" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/xx" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/nx" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/ncu" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/ndu" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/nik" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/nw" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/xoa" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/ntc" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/no" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/nsc" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/nuc" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/ohu" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/oku" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/mk" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/onc" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/oru" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/pk" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/pw" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/pn" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/pp" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/pf" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/py" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/pau" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/pe" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/ph" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/pc" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/pl" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/po" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/pic" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/pr" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/qa" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/quc" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/qea" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/re" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/riu" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/rm" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/ru" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/rw" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/xj" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/xd" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/xk" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/xl" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/xm" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/sc" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/st" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/ws" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/sm" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/sf" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/snc" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/su" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/stk" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/sg" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/rb" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/se" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/sl" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/si" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/sn" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/xo" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/xv" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/bp" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/so" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/sa" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/xra" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/scu" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/sdu" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/xs" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/sd" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/sp" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/sh" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/xp" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/ce" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/sj" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/sr" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/sq" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/sw" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/sz" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/sy" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/ta" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/tz" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/tma" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/tnu" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/fs" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/txu" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/th" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/em" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/tg" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/tl" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/to" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/tr" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/ti" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/tu" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/tk" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/tc" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/tv" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/ug" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/un" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/ts" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/xxk" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/uik" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/xxu" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/uc" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/up" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/uy" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/utu" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/uz" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/nn" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/vp" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/vc" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/ve" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/vtu" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/vra" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/vm" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/vi" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/vau" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/wk" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/wlk" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/wf" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/wau" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/wj" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/wvu" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/wea" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/ss" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/wiu" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/wyu" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/ye" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/ykc" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/za" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/countries/rh" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:changeNote xmlns:skos="http://www.w3.org/2004/02/skos/core#"> + <cs:ChangeSet xmlns:cs="http://purl.org/vocab/changeset/schema#"> + <cs:subjectOfChange rdf:resource="http://id.loc.gov/vocabulary/countries"/> + <cs:creatorName rdf:resource="http://id.loc.gov/vocabulary/organizations/dlc"/> + <cs:createdDate rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">2011-04-26T00:00:00</cs:createdDate> + <cs:changeReason rdf:datatype="http://www.w3.org/2001/XMLSchema#string">modified</cs:changeReason> + </cs:ChangeSet> + </skos:changeNote> + </rdf:Description> +</rdf:RDF>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/rdf/cpack/dml.ttl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,22 @@ +@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . +@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . +@prefix dcterms: <http://purl.org/dc/terms/> . +@prefix cpack: <http://cliopatria.swi-prolog.org/schema/cpack#> . +@prefix mo: <http://xmlns.com/foaf/0.1/> . + +<> a cpack:Ontology ; + cpack:packageName "dml" ; + dcterms:title "Digital Music Lab" ; + cpack:author [ foaf:name "Samer Abdallah" ; + foaf:mbox <mailto:s.abdallah@ucl.ac.uk> ; + ] ; + cpack:primaryRepository + [ a cpack:GitRepository ; + cpack:gitURL <git://eculture.cs.vu.nl/home/janw/git/ClioPatria/foaf.git> + ] ; + cpack:description + +"""This package provides components of the Digital Music Lab plugin to Cliopatria +""" . + +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/rdf/dmlclaOntology.n3 Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,1 @@ +../../../dml-cla/ontologies/dmlclaOntology.n3 \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/rdf/languages.skos.rdf Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,498 @@ +<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> + <rdf:Description rdf:about="http://id.loc.gov/vocabulary/languages"> + <rdf:type rdf:resource="http://www.w3.org/2004/02/skos/core#ConceptScheme"/> + <rdfs:label xml:lang="en" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">MARC List for Languages</rdfs:label> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/abk" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/ace" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/ach" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/ada" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/ady" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/aar" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/afh" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/afr" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/ain" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/aka" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/akk" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/ale" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/alt" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/amh" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/anp" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/arg" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/arc" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/arp" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/arw" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/arm" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/rup" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/asm" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/ava" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/ave" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/awa" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/aym" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/ast" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/ban" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/bal" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/bam" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/bas" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/bak" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/baq" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/bej" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/bel" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/bem" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/bik" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/byn" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/bis" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/zbl" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/bos" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/bra" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/bre" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/bug" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/bul" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/bua" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/bur" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/cad" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/car" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/ceb" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/chg" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/cha" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/che" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/chr" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/chy" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/chb" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/chi" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/chn" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/chp" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/cho" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/chu" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/chk" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/chv" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/cop" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/cor" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/cos" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/cre" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/mus" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/crh" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/hrv" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/cze" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/dan" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/dar" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/din" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/div" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/dgr" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/dua" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/dut" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/dum" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/dyu" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/dzo" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/frs" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/bin" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/egy" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/eka" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/elx" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/eng" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/enm" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/ang" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/myv" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/epo" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/gez" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/ewe" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/ewo" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/fan" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/fat" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/fao" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/fij" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/fil" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/fin" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/fon" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/frm" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/fro" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/fry" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/fur" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/gaa" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/glg" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/lug" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/gay" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/gba" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/gmh" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/goh" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/gil" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/gon" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/gor" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/got" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/grb" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/gwi" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/hai" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/hat" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/hau" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/haw" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/heb" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/hil" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/hmo" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/hit" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/hun" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/hup" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/iba" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/ice" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/ido" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/ibo" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/ilo" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/smn" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/ind" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/inh" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/ina" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/ile" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/ipk" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/gle" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/mga" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/sga" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/jpn" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/jav" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/jrb" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/kbd" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/kab" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/kac" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/kam" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/kau" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/kaa" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/krc" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/krl" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/kas" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/csb" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/kaw" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/kaz" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/kha" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/khm" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/kho" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/kik" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/kmb" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/kin" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/tlh" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/kok" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/kut" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/kor" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/kos" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/kpe" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/kua" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/kum" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/kur" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/kru" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/kir" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/lam" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/lao" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/lat" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/lav" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/lez" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/lim" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/lin" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/lit" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/jbo" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/nds" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/dsb" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/loz" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/lub" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/lua" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/lui" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/smj" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/lun" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/luo" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/lus" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/ltz" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/mas" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/mac" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/mad" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/mag" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/mai" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/mak" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/mlt" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/mnc" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/mdr" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/man" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/mni" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/glv" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/arn" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/mar" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/chm" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/mah" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/men" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/mic" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/min" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/mwl" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/moh" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/mdf" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/lol" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/mul" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/nqo" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/nau" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/nav" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/nbl" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/nde" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/ndo" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/nap" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/nep" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/new" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/nwc" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/nia" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/niu" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/zxx" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/nog" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/frr" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/sme" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/nso" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/nob" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/nno" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/nym" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/nyn" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/nyo" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/nzi" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/non" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/peo" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/osa" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/oss" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/pal" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/pau" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/pli" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/pam" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/pag" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/pan" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/pap" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/pon" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/pol" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/por" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/pro" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/pus" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/roh" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/rap" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/rom" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/run" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/rus" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/sam" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/smi" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/smo" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/sad" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/sag" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/sat" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/srd" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/sas" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/sco" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/gla" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/sel" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/srp" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/srr" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/shn" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/iii" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/scn" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/sid" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/bla" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/sin" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/sms" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/slo" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/slv" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/sog" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/som" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/snk" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/wen" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/sot" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/sma" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/srn" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/suk" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/sux" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/sun" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/sus" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/ssw" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/swe" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/gsw" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/syc" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/syr" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/tgl" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/tah" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/tgk" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/tmh" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/tam" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/tat" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/tel" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/tem" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/ter" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/tet" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/tha" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/tig" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/tir" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/tiv" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/tpi" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/tkl" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/tog" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/ton" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/tsi" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/tso" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/tsn" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/tum" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/tur" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/ota" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/tuk" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/tvl" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/tyv" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/twi" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/udm" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/uga" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/uig" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/ukr" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/umb" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/und" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/hsb" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/uzb" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/vai" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/ven" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/vie" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/vol" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/vot" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/wln" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/war" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/was" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/wel" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/wal" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/xho" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/sah" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/yao" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/yap" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/yid" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/yor" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/zap" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/zza" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/zen" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/zha" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/zul" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/zun" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/afa" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/alb" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/alg" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/tut" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/apa" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/ara" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/art" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/ath" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/aus" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/map" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/aze" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/bat" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/bai" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/bad" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/bnt" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/btk" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/ben" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/ber" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/bho" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/bih" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/cat" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/cau" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/cel" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/cai" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/cmc" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/crp" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/cpe" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/cpf" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/cpp" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/cus" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/dak" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/day" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/del" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/doi" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/dra" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/efi" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/est" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/fiu" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/fre" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/ful" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/geo" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/ger" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/gem" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/grc" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/gre" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/grn" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/guj" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/her" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/hin" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/hmn" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/ijo" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/inc" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/ine" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/iku" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/ira" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/iro" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/ita" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/jpr" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/kal" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/kan" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/kar" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/khi" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/kom" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/kon" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/kro" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/lad" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/lah" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/mlg" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/may" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/mal" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/mno" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/mao" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/mwr" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/myn" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/mis" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/mkh" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/mon" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/mos" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/mun" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/nah" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/nic" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/ssa" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/nai" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/nor" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/nub" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/nya" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/oci" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/xal" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/oji" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/ori" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/orm" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/oto" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/paa" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/per" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/phi" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/phn" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/pra" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/que" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/raj" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/rar" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/roa" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/rum" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/sal" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/san" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/sem" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/sna" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/sgn" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/snd" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/sit" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/sio" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/den" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/sla" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/son" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/sai" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/spa" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/swa" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/tai" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/tib" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/tli" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/tup" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/urd" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/wak" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/him" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/wol" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/ypk" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:hasTopConcept rdf:resource="http://id.loc.gov/vocabulary/languages/znd" xmlns:skos="http://www.w3.org/2004/02/skos/core#"/> + <skos:changeNote xmlns:skos="http://www.w3.org/2004/02/skos/core#"> + <cs:ChangeSet xmlns:cs="http://purl.org/vocab/changeset/schema#"> + <cs:subjectOfChange rdf:resource="http://id.loc.gov/vocabulary/languages"/> + <cs:creatorName rdf:resource="http://id.loc.gov/vocabulary/organizations/dlc"/> + <cs:createdDate rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">2011-04-26T00:00:00</cs:createdDate> + <cs:changeReason rdf:datatype="http://www.w3.org/2001/XMLSchema#string">modified</cs:changeReason> + </cs:ChangeSet> + </skos:changeNote> + </rdf:Description> +</rdf:RDF>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/rdf/silvet.n3 Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,125 @@ +@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . +@prefix xsd: <http://www.w3.org/2001/XMLSchema#> . +@prefix vamp: <http://purl.org/ontology/vamp/> . +@prefix plugbase: <http://vamp-plugins.org/rdf/plugins/silvet#> . +@prefix owl: <http://www.w3.org/2002/07/owl#> . +@prefix dc: <http://purl.org/dc/elements/1.1/> . +@prefix af: <http://purl.org/ontology/af/> . +@prefix foaf: <http://xmlns.com/foaf/0.1/> . +@prefix doap: <http://usefulinc.com/ns/doap#> . +@prefix cc: <http://web.resource.org/cc/> . +@prefix : <#> . + + +## Properties of this document + +<> a vamp:PluginDescription ; + foaf:maker <http://vamp-plugins.org/rdf/template-generator> ; + foaf:primaryTopic <http://vamp-plugins.org/rdf/plugins/silvet> . + + +## Maker of the whole plugin library + +:library_maker + foaf:name "Queen Mary, University of London" ; + foaf:logo <http://vamp-plugins.org/rdf/plugins/makers/qm.png> ; + foaf:page <http://c4dm.eecs.qmul.ac.uk/> + . + + +## Properties of the plugin library, and references to the plugins it contains + +plugbase:library a vamp:PluginLibrary ; + vamp:identifier "silvet" ; + foaf:maker :library_maker ; + vamp:available_plugin plugbase:silvet ; + dc:title "Silvet Note Transcription" ; # Place library name here and uncomment + dc:description """Silvet, or Shift-Invariant Latent Variable Transcription, is a Vamp plugin for polyphonic music transcription (from audio to note times and pitches).""" ; + foaf:page <http://code.soundsoftware.ac.uk/projects/silvet> ; + doap:download-page <http://code.soundsoftware.ac.uk/projects/silvet/files> ; + . + + +## Properties of the Silvet Note Transcription plugin + +plugbase:silvet a vamp:Plugin ; + dc:title "Silvet Note Transcription" ; + vamp:name "Silvet Note Transcription" ; + dc:description """Estimate the note onsets, pitches, and durations that make up a music recording.""" ; + foaf:maker :library_maker ; + dc:rights """Method by Emmanouil Benetos and Simon Dixon; plugin by Chris Cannam and Emmanouil Benetos. GPL licence.""" ; +# cc:license <Place plugin license URI here and uncomment> ; + vamp:identifier "silvet" ; + vamp:vamp_API_version vamp:api_version_2 ; + owl:versionInfo "1" ; + vamp:input_domain vamp:TimeDomain ; + vamp:parameter plugbase:silvet_param_mode ; + vamp:parameter plugbase:silvet_param_instrument ; + vamp:parameter plugbase:silvet_param_finetune ; + + vamp:output plugbase:silvet_output_notes ; + vamp:output plugbase:silvet_output_timefreq ; + vamp:output plugbase:silvet_output_pitchactivation ; + . +plugbase:silvet_param_mode a vamp:QuantizedParameter ; + vamp:identifier "mode" ; + dc:title "Processing mode" ; + dc:format "" ; + vamp:min_value 0 ; + vamp:max_value 1 ; + vamp:unit "" ; + vamp:quantize_step 1 ; + vamp:default_value 1 ; + vamp:value_names ( "Draft (faster)" "Intensive (higher quality)"); + . +plugbase:silvet_param_instrument a vamp:QuantizedParameter ; + vamp:identifier "instrument" ; + dc:title "Instrument" ; + dc:format "" ; + vamp:min_value 0 ; + vamp:max_value 13 ; + vamp:unit "" ; + vamp:quantize_step 1 ; + vamp:default_value 0 ; + vamp:value_names ( "Multiple or unknown instruments" "Piano" "Guitar" "Violin" "Viola" "Cello" "Horn" "Flute" "Oboe" "Clarinet" "Tenor Sax" "Bassoon" "String quartet" "Wind ensemble"); + . +plugbase:silvet_param_finetune a vamp:QuantizedParameter ; + vamp:identifier "finetune" ; + dc:title "Return fine pitch estimates" ; + dc:format "" ; + vamp:min_value 0 ; + vamp:max_value 1 ; + vamp:unit "" ; + vamp:quantize_step 1 ; + vamp:default_value 0 ; + vamp:value_names (); + . +plugbase:silvet_output_notes a vamp:SparseOutput ; + vamp:identifier "notes" ; + dc:title "Note transcription" ; + dc:description """Overall note transcription. Each note has time, duration, estimated pitch, and a synthetic MIDI velocity (1-127) estimated from the strength of the pitch in the mixture.""" ; + vamp:fixed_bin_count "true" ; + vamp:unit "Hz" ; + vamp:bin_count 2 ; + vamp:bin_names ( "Frequency" "Velocity"); + vamp:sample_type vamp:VariableSampleRate ; + vamp:computes_event_type af:Note ; + . +plugbase:silvet_output_timefreq a vamp:DenseOutput ; + vamp:identifier "timefreq" ; + dc:title "Time-frequency distribution" ; + dc:description """Filtered constant-Q time-frequency distribution as used as input to the expectation-maximisation algorithm""" ; + vamp:fixed_bin_count "true" ; + vamp:bin_count 545 ; + vamp:unit "" ; + vamp:computes_signal_type af:Spectrogram ; + . +plugbase:silvet_output_pitchactivation a vamp:DenseOutput ; + vamp:identifier "pitchactivation" ; + dc:title "Pitch activation distribution" ; + dc:description """Pitch activation distribution resulting from expectation-maximisation algorithm, prior to note extraction.""" ; + vamp:fixed_bin_count "true" ; + vamp:unit "" ; + vamp:bin_count 88 ; + vamp:computes_signal_type af:Spectrogram ; + .
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/scripts/compression/Makefile Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,13 @@ +CC = c99 +CFLAGS = -g -I/opt/local/include +LDFLAGS = -L/opt/local/lib -llzma + +PROGS = dlzma + +all: $(PROGS) + +.c: + $(CC) $(CFLAGS) -o $@ $< $(LDFLAGS) + +clean: + -rm -f $(PROGS)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/scripts/compression/README Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,72 @@ +# Delta compression + +Scripts in dml-cliopatrial/cpack/dml/scripts/compression provide a common interface +to several delta compression programs. The interface is + + stdin ---> [ <script name> (encode|decode) <name of reference file> ] ---> stdout + +The following scripts work this way: + + zbs - use bsdiff + zxd - uses xdelta3 + zvcd - uses open-vcdiff + zvcz - uses vczip + zdiff - converts binary to text and uses diff to produce an ed script + +# bufs + +The bufs script allows an arbitrary command to be run such that if the command expects a +filename as its nth argument, then + + $ bufs <n> <command> <arg1> ... <argn> ... + +can be run with <argn> as a bash process redirection, even if <command> reads that +source several times. bufs works by buffering the stream on the nth argument to a temporary +file. + + +# findcat + +findcat dumps the contents of every file under a given directory to stdout. + +# Examples + +For example, to estimate the conditional K.C. of all the humdrum files in ~/lib/kern/ireland +given those in ~/lib/ker/lorraine, using xdelta3, do + + $ findcat ~/lib/kern/ireland | bufs 2 zxd encode <(findcat ~/lib/kern/lorraine) | length + +Scripts encode/decode include bufs, so an alternative is + + $ findcat ~/lib/kern/ireland | encode zxd <(findcat ~/lib/kern/lorraine) | length + +A better estimate is + + $ findcat ~/lib/kern/ireland | rid -G | encode zxd <(findcat ~/lib/kern/lorraine | rid -G) | length + +Sometimes the output can be compressed still further: + + $ findcat ~/lib/kern/ireland | rid -G | encode zxd <(findcat ~/lib/kern/lorraine | rid -G) | lzma | length + +rid -G is a humdrum command that removes comments. + + +# zzcd and zzd + +The scripts zzd and zzcd implement more complex schemes, where the input and the reference +are concatenated and/or compressed before delta compressed. For example, + + $ findcat ~/lib/kern/ireland | rid -G | bufs 3 zzcd lzma zxd <(findcat ~/lib/kern/lorraine | rid -G) | length + +computes (using a more functional notation) + + length( zxd( lzma(lorraine), lzma(lorraine+ireland))) + +that is, the amount of information needed to transform one LZMA compressed corpus +into the LZMA compressed concatenation of two corpuses. + +# dlzma + +This is a program written in C using liblzma (part of xz utils package) to estimate the conditional +complexity of an object. It works by using the SYNC_FLUSH feature of liblzma. The compressed data is +discarded and only the number of bits used is output on stdout.
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/scripts/compression/bufs Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,35 @@ +#!/bin/sh +if [ $# -lt 3 ]; then + echo 'bufs <n:int> <command> <arg1> <arg2> ...' + echo + echo 'Apply command to arguments but buffering the nth argument' + echo 'of command (ie (n+1)th argument of strm) into a temporary file.' + echo 'This means that the nth argument can safely be replaced with' + echo 'a bash process redirection.' + exit 1 +fi +set -o nounset +set -e + +function str1 { + cmd="$1" + arg1="$2" + tmp=`mktemp -t strXXX` + # echo created $tmp 1>&2 + trap "rm -f $tmp; exit" INT KILL EXIT + shift 2 + (cat "$arg1" > $tmp) && $cmd $tmp "$@" +} + +function str { + pos=$1 + shift 1 + if [ $pos -eq 1 ]; then + str1 "$@" + else + cmd="$1 $2" + shift 2 + str $(($pos-1)) "$cmd" "$@" + fi +} +str "$@"
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/scripts/compression/decode Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,14 @@ +#!/bin/sh +if [ $# -lt 2 ]; then + echo 'Usage: decode <method> <reference> ...' + echo + echo 'Do differential decompression using the script <method>.' + echo 'The reference/source/dictionary may be a file or a process redirection.' + exit 1 +fi +set -o nounset +here="$(dirname "$0")" +diff="$1" +ref="$2" +shift 2 +"$here/bufs" 2 "$here/$diff" decode "$ref" "$@"
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/scripts/compression/discard Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,1 @@ +cat > /dev/null
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/scripts/compression/encode Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,14 @@ +#!/bin/sh +if [ $# -lt 2 ]; then + echo 'Usage: encode <method> <reference> ...' + echo + echo 'Do differential compression using the script <method>.' + echo 'The reference/source/dictionary may be a file or a process redirection.' + exit 1 +fi +set -o nounset +here="$(dirname "$0")" +diff="$1" +ref="$2" +shift 2 +"$here/bufs" 2 "$here/$diff" encode "$ref" "$@"
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/scripts/compression/findcat Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,7 @@ +#!/bin/sh +if [ "$#" -eq 1 ]; then + find "$1" -type f -exec cat {} \; +else + find "$1" -type f -name "$2" -exec cat {} \; +fi +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/scripts/compression/kc Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,4 @@ +#!/bin/bash +# kc <compressor> ... +# Estimate Kolmogorov complexity of input using named compressor plus any extra arguments +eval $* | length
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/scripts/compression/length Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,3 @@ +#!/bin/sh +#count the number of bytes on standard input. +wc -c
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/scripts/compression/prefix Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,4 @@ +#!/bin/sh +len=$(cat "$1" | wc -c) +echo $len +cat "$1"
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/scripts/compression/prepend Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,2 @@ +#!/bin/sh +cat "$1" -
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/scripts/compression/probe Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +tee >(eval "$@" 1>&2)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/scripts/compression/rptlen Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,12 @@ +#!/usr/bin/env bash +# Insert rptlen into a pipeline to report the number of bytes passing through. +# NB. if the pipeline is terminated early by a later consuming process, the +# byte count will be wrong. +function buflen { + len=$(length) + echo "$1:" $len +} +function buflen2 { + length | sed -e "s/^/$1:/" +} +tee >(buflen2 "$1" 1>&2)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/scripts/compression/rzp Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,11 @@ +#!/bin/sh +# rzp (encode|decode) +# Use rzip to encode/decode standard input +set -o nounset +set -e +function encode { rzip -9 $1 -o $2 -f; } +function decode { rzip -d $1 -o $2 -f; } +in=`mktemp -t rziXXX` +out=`mktemp -t rzoXXX` +trap "rm -f $in $out; exit" EXIT INT KILL +(cat > $in) && $1 $in $out && cat $out
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/scripts/compression/unprefix Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,3 @@ +#!/bin/sh +len=$(head -n 1 "$1") +tail -n +2 "$1" | head -c $len
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/scripts/compression/unprepend Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,2 @@ +#!/bin/sh +tail -c +$((1+$(wc -c < "$1")))
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/scripts/compression/zbs Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,12 @@ +#!/bin/sh +# dzbs <command:(encode|decode)> <reference:filename> +# Use bsdiff to encode/decode standard input given data in <reference> +function encode { bsdiff $1 $2 $3; } +function decode { bspatch $1 $3 $2; } +in=`mktemp -t bsdiXXX` +out=`mktemp -t bsdoXXX` +(cat > $in) && $1 $2 $in $out && cat $out +rc=$? +rm -f $in $out +exit $rc +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/scripts/compression/zdiff Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +# diff <reference:filename> +# Produces on standard output ed script required to recreate standard input given reference. +here="$(dirname "$0")" +function encode { "$here/bufs" 1 "$here/prefix" <(diff -e <(xxd -p -c 1 < "$1") <(xxd -p -c 1)); } +# function decode { "$here/bufs" 1 "$here/unprefix" <(cat) | patch -e -o >(xxd -r -p -c 1) <(xxd -p -c 1 < "$1"); } +function decode { ("$here/bufs" 1 "$here/unprefix" <(cat) && echo ,p) | ed -s <(xxd -p -c 1 < "$1") | xxd -r -p -c 1; } +"$@" +xxd -c 1 -p | xxd -r -c 1 -p
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/scripts/compression/zvcd Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,8 @@ +#!/bin/sh +# vcd <command:(encode|decode)> <reference:filename> +# Binary difference from reference using open-vcdiff. +dict="$2" +cmd=$1 +shift 2 +vcdiff $cmd -dictionary "$dict" "$@" +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/scripts/compression/zvcz Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,9 @@ +#!/bin/sh +# vcz <reference:filename> ... +# Binary difference from reference using vczip plus any extra arguments +function encode { vczip "$@"; } +function decode { vczip -u "$@"; } +cmd="$1" +dict="$2" +shift 2 +$cmd -D"$dict" "$@"
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/scripts/compression/zxd Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,8 @@ +#!/bin/sh +# Binary difference from reference using xdelta3 -D +function encode { xdelta3 encode -9 -n -D "$@"; } +function decode { xdelta3 decode -R "$@"; } +cmd=$1 +dict="$2" +shift 2 +$cmd -s "$dict" "$@"
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/scripts/compression/zzcd Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,12 @@ +#!/usr/bin/env bash +# zzcd <compressor:process> <differ:(encode|decode) filename ... -> process> <reference:filename> +# Applies <compressor> separately to reference, and to concatenation of reference and input, +# then applies <differ> to the results. +here=$(dirname "$0") +compress="$1" +diff="$2" +ref="$3" +shift 3 +prepend "$ref" | eval $compress | encode "$diff" <(cat "$ref" | eval $compress) "$@" + +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/scripts/compression/zzd Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,11 @@ +#!/usr/bin/env bash +# zzd <compressor:process> <differ:(encode|decode) filename ... -> process> <reference:filename> +# Applies <compressor> to reference and input, then applies <differ> +# compressed reference and compressed input. +here="$(dirname "$0")" +compress="$1" +diff="$2" +ref="$3" +shift 3 +eval $compress | encode "$diff" <(cat "$ref" | eval $compress) "$@" +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/scripts/hum2abcp Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,3 @@ +#!/bin/sh +(cat > _tmp_.krn) && hum2abc _tmp_.krn +rm _tmp_.krn
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/scripts/midi2snd Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,4 @@ +#!/usr/bin/env bash +# midi2snd MIDIFile RCFile SampleRate Format SFDIR +# Convert midi file to Raw audio output stream on stdout, with info on stderr +fluidsynth -f <(m4 -DSFDIR="$5" < $2) -a file -p fluidsynth -o synth.sample-rate=$3 -o audio.file.format=$4 -o audio.file.type=raw -il -F >(cat) $1 1>&2
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/scripts/mpc_insert Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,3 @@ +#!/bin/sh +target=$(iconv -f UTF-8-MAC -t UTF-8 <<< "$1") +mpc insert "$target"
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/scripts/page Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,13 @@ +#!/bin/sh +# cat <<EOF +# \header { tagline = "" } +# \paper{ +# indent=25\mm +# line-width=$1 +# oddFooterMarkup=##t +# oddHeaderMarkup=##t +# bookTitleMarkup = ##t +# scoreTitleMarkup = ##t +# } +# EOF +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/scripts/snip Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,13 @@ +#!/bin/sh +cat <<EOF +\header { tagline = "" } +\paper{ + indent=25\mm + line-width=$1 + oddFooterMarkup=##f + oddHeaderMarkup=##f + bookTitleMarkup = ##f + scoreTitleMarkup = ##f +} +EOF +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/skin/framework/bootstrap.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,164 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University of London + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +:- module(bootstrap, + [ navbar//3 + , navbar_menu//2 + , navbar_item//1 + ]). + +/** <module> Enables use of Bootstrap CSS framework +*/ + +:- use_module(library(http/html_write)). +:- use_module(library(http/html_head)). +:- use_module(library(htmlutils)). +:- use_module(library(dcg_core)). + +:- set_prolog_flag(double_quote,string). + +% http:location(bootstrap,"//maxcdn.bootstrapcdn.com/bootstrap/3.3.2",[]). +% http:location(bootstrap_examples,"//getbootstrap.com/examples",[]). + +:- html_resource( bootstrap, [virtual(true), requires(web('css/bootstrap.min.1.css'))]). +:- html_resource( bootstrap_js, [virtual(true), requires(web('js/bootstrap.min.js'))]). +% :- html_resource( bootstrap("css/bootstrap-theme.min.css"), [requires(bootstrap)]). +% :- html_resource( bootstrap("css/bootstrap.min.css"), []). + +% :- html_resource( bootstrap_examples("starter-template/starter-template.css"), +% [requires(bootstrap)]). +% :- html_resource( bootstrap_examples("navbar/navbar.css"), +% [requires(bootstrap)]). +% :- html_resource( bootstrap_examples("navbar-static-top/navbar-static-top.css"), +% [requires(bootstrap)]). +% :- html_resource( bootstrap_examples("navbar-fixed-top/navbar-fixed-top.css"), +% [requires(bootstrap)]). +% :- html_resource( bootstrap_examples("theme/theme.css"), +% [requires(bootstrap_theme)]). + +% :- html_resource( bootstrap_theme, [virtual(true), requires(bootstrap("css/bootstrap-theme.min.css"))]). + +% navbar_class_option('navbar-inverse'). +% navbar_class_option('navbar-fixed-top'). +% navbar_class_option('navbar-static-top'). + +% user:head(bootstrap(_,_),Head) --> !, +% html(head([ meta([name(viewport), content("width-device-width,initial-scale=1")]) +% | Head ])). + +% % use abstract paths here?ads +% user:body(bootstrap(Var,Nav),Body) --> !, +% html_requires(bootstrap("css/bootstrap.min.css")), +% bootstrap_body(Var,Nav,Body). + +% bootstrap_body(1,Nav,Body) --> +% { setting(htmlutils:appname, AppName) }, +% html_requires(bootstrap_examples("starter-template/starter-template.css")), +% html( body( div( class=container, +% \bootstrap_body(AppName,['navbar-static-top'],Nav, +% div(class="starter-template", Body))))). + +% bootstrap_body(2,Nav,Body) --> +% { setting(htmlutils:appname, AppName) }, +% html_requires(bootstrap_examples("navbar-fixed-top/navbar-fixed-top.css")), +% html(body( +% % div( class=container, +% \bootstrap_body(AppName,['navbar-default','navbar-fixed-top'],Nav,Body) +% % ) +% )). +% % \bootstrap_body("swiPlayer",['navbar-inverse','navbar-fixed-top'],Nav,Body)))). + +% bootstrap_body(3,Nav,Body) --> +% { setting(htmlutils:appname, AppName) }, +% html_requires(bootstrap_examples("navbar-static-top/navbar-static-top.css")), +% % html_requires(bootstrap_examples("theme/theme.css")), +% html( body(role(document), +% [ \navbar(AppName,['navbar-inverse','navbar-static-top'],navbar_menu(left,Nav)) +% , div([class=container,role=main], Body) +% , \script("//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js") +% , \script("//getbootstrap.com/dist/js/bootstrap.min.js") +% ])). + +% bootstrap_body(AppName,NavbarClasses,Nav,Body) --> +% html( [ \navbar(AppName,NavbarClasses, navbar_menu(left,Nav)) +% , div(class=container,Body) +% , \script("//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js") +% , \script("//getbootstrap.com/dist/js/bootstrap.min.js") +% ]). + +navbar_item(link(Label,Location)) --> html(li(a([href(Location)], Label))). +navbar_item(divider) --> html(li(class=divider,[])). +navbar_item(header(Text)) --> html(li(class='dropdown-header',Text)). +navbar_item(menu(Label,Items)) --> + html(li(class(dropdown), + [ a([href='#', class='dropdown-toggle', 'data-toggle'=dropdown, role=button, aria-expanded=false], + [Label,span(class(caret1),'\u25BE')]) + , ul([class='dropdown-menu', role=menu], \seqmap(navbar_item,Items)) + ])). + + +button(Content,Classes) --> + html(button([type=button,class=[btn|Classes]], Content)). + +button_link(Ref,Content) --> + html(a([role=button,class=[btn,'btn-default'],href=Ref],Content)). + +:- meta_predicate navbar(:,+,//,?,?). +%% navbar( +Header:html_item, +Classes:list(html_class), +Menus:phrase(html))// is det. +navbar(_AppName,NavbarClasses,Menus) --> + html_requires(bootstrap), + html_requires(bootstrap_js), + html_requires(font_awesome), + html( div( [ class=[navbar | NavbarClasses], role=navigation], + div( class=container, + [ div( class='navbar-header', + [ \navbar_toggle + %, a([class='navbar-brand', href='.'], AppName) + ] + ) + , div( class=[collapse,'navbar-collapse'], \Menus) + ]))). + +%% navbar_menu(Just:oneof([left,right]), +Items:phrase(html))// is det. +navbar_menu(left,Items) --> html(ul(class=[nav,'navbar-nav'], \Items)). +navbar_menu(right,Items) --> html(ul(class=[nav,'navbar-nav','navbar-right'], \Items)). + +navbar_toggle --> + html( button( + [ type=button + , class='navbar-toggle' + , 'data-toggle'=collapse + , 'data-target'='.navbar-collapse' + ], + [ span(class='sr-only',"Toggle navigation") + , i(class('fa fa-bars'),[]) %\rep(3,icon_bar) + ])). + +icon_bar --> html(span(class='icon-bar',[])). + +% user:style(bootstrap(1),'Bootstrap, variation 1'). +% user:style(bootstrap(2),'Bootstrap, variation 2'). +% user:style(bootstrap(3),'Bootstrap, variation 3'). + +side_nav(Items) --> + html(div(class='col-md-3', + div([ class=['bs-docs-sidebar','hidden-print','hidden-xs','hidden-sm'], + role=complementary ], + [ ul(class='nav bs-docs-sidenav', \Items) + , a([class='back-to-top',href='#top'],"Back to top") + ]))).
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/skin/framework/kube.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,76 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University of London + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +:- module(kube, []). + +/** <module> Enables use of Kube CSS framework +*/ + +:- use_module(library(http/html_write)). +:- use_module(library(http/html_head)). +:- use_module(library(htmlutils)). + +:- set_prolog_flag(double_quote,string). + +http:location( kube, css(kube310), []). + +user:head(kube(_),Head) --> !, + html(head([ meta([name(viewport), content("width-device-width,initial-scale=1")]) + | Head ])). + +requirements --> + html_requires("//imperavi.com/css/combined.min.css"), + html_requires("//imperavi.com/js/combined.min.js"). + +user:body(kube(Nav),Body) --> !, + { setting(htmlutils:appname, AppName) }, + use_font("Source Sans Pro",sourcepro), + % html_requires(kube('kube.min.css')), + requirements, + + html(body(class=kubepage, + [ div( class=wrap, + [ nav([id=nav,class=[navbar,fullwidth]], + \navmenu(AppName,Nav)) + ]) + , div(class=wrap, + div(id=main, + [ aside(id=side,nav([class=nav,id="side-nav"], + \navmenu(AppName,Nav))) + , div(id=area,Body) + ])) + , div(class=wrap, + footer(id=footer, + [a(href='.',AppName), nav(class=[navbar,'navbar-right'], ul(\Nav))])) + ])). + +navmenu(AppName,Nav) --> html(ul([li(\link(root,b(AppName))),\Nav])). +navmenu(Nav) --> html(nav(class=[navbar,"navbar-left"],ul(\Nav))). +sidebar(Contents) --> html(aside(id=side,Contents)). + +button_link(Ref,Content) --> + html(a([class('btn btn-small'),href(Ref)],Content)). + +% menu(Classes,Content) --> +% html(div(class(['pure-menu', 'pure-menu-open'|Classes]), Content)). +% % Add pure-menu-selected to active item +% hmenu(Heading,Items) --> +% menu(['pure-menu-horizontal'], [a([href='.',class="pure-menu-heading"],Heading), ul(\Items)]). + +% vmenu(Heading,Items) --> +% menu([], [a([href='.',class="pure-menu-heading"],Heading), ul(\Items)]).
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/skin/framework/pure.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,118 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University of London + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +:- module(pure, []). + +/** <module> Enables use of Pure CSS framework +*/ + +% http://yui.github.io/skinbuilder/?mode=pureindex.html?opt=swi,457387,ffffff,1,1,20,1.5&h=0,-30,60&n=0,-30,75&l=0,-30,80&b=0,-30,90&mode=pure") +% +:- use_module(library(http/http_path)). +:- use_module(library(http/html_write)). +:- use_module(library(http/html_head)). +:- use_module(library(http/js_write)). +:- use_module(library(htmlutils)). + +:- set_prolog_flag(double_quotes,string). + +/* + YUI3 over HTTPS is just not going to work. + Google provide YUI2, but not YUI3. + +*/ +http:location(yuix,"http://yui.yahooapis.com",[]). +http:location(pure,yuix('pure/0.5.0'),[]). +http:location(purecss,"//purecss.io/combo/1.16.5?",[]). + +:- html_resource(purecss("css/layouts/side-menu.css"), [requires(pure("pure.min.css"))]). +:- html_resource(css("pure/pure-skin.css"), [requires(pure("pure-min.css"))]). + +user:head(pure(_,_),Head) --> !, + html(head([ \style("//yui.yahooapis.com/pure/0.5.0/pure-min.css") + , \style("//yui.yahooapis.com/pure/0.5.0/grids-responsive-min.css") + , \style("/css/pure/pure-skin.css") + , meta([name(viewport), content("width-device-width,initial-scale=1")]) + | Head ])). + +activate_dropdowns(DivId,ULId) --> + {http_absolute_location(yuix('combo?'),ComboBase,[])}, + html_requires(yuix('3.17.2/build/yui/yui-min.js')), + js_script({|javascript(ComboBase,DivId,ULId)|| + YUI({ classNamePrefix: 'pure', combine: true, comboBase: ComboBase + }).use('gallery-sm-menu', function (Y) { + var horizontalMenu = new Y.Menu({ + container : "#"+DivId, + sourceNode : "#"+ULId, + orientation : 'horizontal', + hideOnOutsideClick: false, + hideOnClick : false, + showdelay : 125, + }); + horizontalMenu.render(); + horizontalMenu.show(); + });|} + ). + +user:body(pure(1,Nav),Body) --> !, + { setting(htmlutils:appname, AppName) }, + html(body([ div([id("layout"),class("pure-g")] + , [ div(class("pure-u-1-4"), \vmenu(AppName,Nav)) + , div(class("content pure-u-3-4"), [ + div(class(content),Body) + , div(class(footer),\hmenu(AppName,Nav)) + ]) + ]) + ])). + +user:body(pure(2,Nav),Body) --> !, + { setting(htmlutils:appname, AppName) }, + + use_font("Source Sans Pro",sourcepro), + % use_font("Open Sans",opensans), + % use_font("Quattrocento Sans",quattrocento), + % html_requires(purecss("css/main-grid.css&/css/main.css&/css/menus.css&/css/rainbow/baby-blue.css")), + html_requires(purecss("css/layouts/side-menu.css")), + html(body(div(id(layout), + [ a([href="#menu", id="menuLink", class="menu-link"],span([])) + , div(id(menu),\vmenu(AppName,Nav)) + , div(id(main), + [ div(class(header), h1("Header")) + , div(class(content), [div(Body),div(class=footer,\hmenu(AppName,Nav))]) + ]) + , \script(purecss("js/ui.js")) + ]))). + +button_link(Ref,Content) --> + html(a([class(['pure-button','pure-button-primary']),href(Ref)],Content)). + +menu(Classes,Content) --> + html(div(class(['pure-menu', 'pure-menu-open'|Classes]), Content)). +% Add pure-menu-selected to active item +hmenu(Heading,Items) --> + menu(['pure-menu-horizontal'], [a([href='.',class="pure-menu-heading"],Heading), \Items]). + +vmenu(Heading,Items) --> + menu([], [a([href='.',class="pure-menu-heading"],Heading), \Items]). + +hmenu_with_dropdowns(Items) --> + % html_requires("//yui.yahooapis.com/3.17.2/build/yui/yui-min.js"), + html_requires(css("pure/pure-skin.css")), + {gensym(div,DivID), gensym(ul,ULID)}, + html(div(id=DivID,ul(id=ULID,\Items))), + activate_dropdowns(DivID,ULID).
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/skin/minimal.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,198 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University of London + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +:- module(minimal, []). + + +:- use_module(cliopatria(hooks)). +:- use_module(skin(cliopatria)). +:- use_module(components(menu)). +:- use_module(components(simple_search)). + +:- use_module(library(http/html_write)). +:- use_module(library(http/html_head)). +:- use_module(library(lambda)). +:- use_module(library(htmlutils)). +% :- use_module(framework/pure, []). +:- use_module(framework/kube, []). +:- use_module(framework/bootstrap). + +:- set_prolog_flag(double_quotes,string). + +% :- set_setting(htmlutils:appname,"DML"). +:- googlefont(sourcepro,"Source+Sans+Pro:300,600|Source+Code+Pro:400,700"). + +:- html_resource(font_awesome, + [ virtual(true) + , requires("//maxcdn.bootstrapcdn.com/font-awesome/4.1.0/css/font-awesome.min.css") + ]). + +:- html_resource(css('minimal.css'), [ ordered(true), requires([bootstrap, kube('kube.css')]) ]). +:- html_resource(css('minimal_doc.css'), [ requires([pldoc_css,css('minimal.css')]) ]). +:- html_resource(css('minimal_http_doc.css'), [ requires(css('minimal_doc.css')) ]). +:- html_resource(css('isearch_extra.css'), [ requires([css('minimal.css'),css('interactive_search.css')]) ]). + +:- multifile user:body//2. + +user:body(user(App),Body) --> + {member(App,[search,isearch])}, + use_font("Source Sans Pro",sourcepro), + use_font("pre, code, .code, .editor","Source Code Pro",sourcepro), + html_requires(css('isearch_extra.css')), + html(body(class(kubepage),Body)). + +style_style(cliopatria(http_help), 'margin-left:auto;margin-right:auto;width:95%;max-width:160ex') :- !. +style_style(cliopatria(wide), 'margin-left:auto;margin-right:auto;width:90%'). +style_style(cliopatria(_), 'margin-left:auto;margin-right:auto;width:80%;max-width:105ex'). +style_style(pldoc(object(_)), 'margin-left:auto;margin-right:auto;width:80%;max-width:160ex') :- !. +style_style(pldoc(_), 'margin-left:auto;margin-right:auto;width:80%;max-width:120ex') :- !. + +style_css(cliopatria(http_help), 'minimal_http_doc.css') :- !. +style_css(pldoc(_), 'minimal_doc.css') :- !. +style_css(_, 'minimal.css'). + +cliopatria:page_body(cliopatria(bare), Body) --> !, + {debug(skin,"Serving page with style: ~w.\n",[plain])}, + html_requires(css('minimal.css')), + use_font("Source Sans Pro",sourcepro), + use_font("pre, code, .code, .editor","Source Code Pro",sourcepro), + html(body(class=['kubepage',cliopatria], Body)). + +cliopatria:page_body(cliopatria(bare(http_doc)), Body) --> !, + {debug(skin,"Serving page with style: ~w.\n",[bare(http_doc)])}, + html_requires(css('minimal_http_doc.css')), + use_font("Source Sans Pro",sourcepro), + use_font("pre, code, .code, .editor","Source Code Pro",sourcepro), + html(body(class=['kubepage',cliopatria], Body)). + +cliopatria:page_body(Style, Body) --> !, + {debug(skin,"Serving page with style: ~w.\n",[Style])}, + {style_style(Style,BodyStyle), style_css(Style,CSS)}, + html_post(head, meta([name(viewport), content("width-device-width,initial-scale=1")]) ), + html_requires(css(CSS)), + html_requires('//ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js'), + + % html_requires(cliopatria), + %html_requires(kube('kube.css')), + use_font("Source Sans Pro",sourcepro), + use_font("pre, code, .code, .editor","Source Code Pro",sourcepro), + + html(body( [ class=['kubepage',cliopatria]], + + % Version with wide navbar + [ header(class=[group], div(style(BodyStyle), \clio_menu(inline_search))) + , div([ style(BodyStyle) ], + [ div([id('cp-content'), class(content)], Body) + + % Original version with narrow navbar + % [ div([ style(BodyStyle) ], + % [ header(class=[group], \clio_menu(inline_search)) + % , div([id('cp-content'), class(content)], Body) + + , hr([style='margin-top:1em; margin-bottom:0.5em;',clear=all]) + , div([ style('font-size:smaller;text-align:right;') + , id('cp-footer'), class(footer)], + \server_address('ClioPatria')) + ]) + ])). + +cliopatria:page_body(Style,_) --> + {debug(skin,"Not serving page with style ~w.\n",[Style]), fail}. + + +clio_menu(full) --> + { findall(Key-Item, cp_menu:current_menu_item(Key, Item), Pairs0), + sort(Pairs0, Pairs), + group_pairs_by_key(Pairs, ByKey), + cp_menu:sort_menu_popups(ByKey, Menu), + maplist(translate_menu,Menu,Menu1) + }, + navbar('DML',['navbar-static-top'],navbar_menu(left,seqmap(navbar_item,Menu1))), + minimal_search. + +clio_menu(inline_search) --> + { findall(Key-Item, cp_menu:current_menu_item(Key, Item), Pairs0), + sort(Pairs0, Pairs), + group_pairs_by_key(Pairs, ByKey), + cp_menu:sort_menu_popups(ByKey, Menu), + maplist(translate_menu,Menu,Menu1) + }, + navbar('DML',['navbar-static-top'], + html([ \navbar_menu(left,seqmap(navbar_item,Menu1)) + , span(class('navbar-form navbar-right'), div(class('form-group'),\minimal_search)) + ])). + + +translate_menu(_-[Item],Link) :- + translate_item(Item,Link). +translate_menu(Key-Items,Menu) :- + cp_menu:menu_label(Key, Key, Label), + translate_dropdown(Label,Items,Menu). + +translate_dropdown(a(Attribs,Label),Items,menu(Label,[link('OpenID page',URL) | Items1])) :- !, + (Attribs=href(URL)-> true; memberchk(href(URL),Attribs)), + maplist(translate_item, Items, Items1). + +translate_dropdown(Label,Items,menu(Label,Items1)) :- + maplist(translate_item,Items,Items1). + +translate_item(item(_,Spec,Label),link(Label,Location)) :- + atom(Spec), + ( \+sub_atom(Spec, 0, _, _, 'http://'), + catch( http_dispatch:http_location_by_id(Spec, Location), E, + (print_message(informational, E), fail)) + -> true + ; Location = Spec + ). + + +minimal_search --> + html_post(head,style( + % ac_find_literal_container has class .yui-ac-container + [ ".yui-ac-content { background-color:#ffffff;padding:0ex;border: solid 1px #ddd; + box-shadow:0 6px 12px rgba(0,0,0,.175); + text-align:left; z-index:2;margin-top:1ex}" + , ".yui-ac-content { position:absolute;max-height:30em; overflow:auto; overflow-x:hidden; }" + , "input, select, input[type='search'], textarea { z-index:0 }" + , ".yui-ac-content ul {padding:0ex;margin:0ex;list-style-type:none}" + , ".yui-ac-content ul li {margin:0em;padding:0.5ex}" + , "li.yui-ac-highlight { background-color:#eee }" + % , "span.acmatch { background-color: #bbf; }" + , "span.acmatch { text-decoration:underline; + text-decoration-color:#5ca9e4; + -moz-text-decoration-color:#5ca9e4;}" + , "span.ac-builtin { color: blue; }" + , "span.ac-module { color: #888; }" + , "span.ac-exported { color: dark-green; }" + , "span.ac-private { color: red; }" + , "#search_form { margin-top:1ex; margin-bottom:1ex; text-align:right; }" + , "input#ac_find_literal_input { line-height:1.4em }" + ])), + html_post(head,script(type("text/javascript"), + "$(document).ready(function() { + console.log('Adjusting search box...'); + $('.yui-ac-input').attr('type','search').attr('placeholder','Search'); + $('.yui-ac-input').css('box-sizing','border-box').css('width','26ex'); + $('#ac_find_literal_complete').css('width','26ex'); + });")), + html(form([ id(search_form), action(location_by_id(cpa_browse:search)) ], + [ \(cp_simple_search:search_box([ name(q) ])) + % , \cp_menu:filter([]) + % , \cp_menu:select_handler([]) + ])). +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/web/css/bootstrap.min.1.css Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,5 @@ +/*! + * Bootstrap v3.3.2 (http://getbootstrap.com) + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + *//*! normalize.css v3.0.2 | MIT License | git.io/normalize */html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0;font-size:2em}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,:after,:before{color:#000!important;text-shadow:none!important;background:0 0!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="javascript:"]:after,a[href^="#"]:after{content:""}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}select{background:#fff!important}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff2) format('woff2'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-eur:before,.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:focus,a:hover{color:#23527c;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;max-width:100%;height:auto;padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ol,ul{margin-top:0;margin-bottom:10px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;margin-left:-5px;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dd,dt{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote .small:before,blockquote footer:before,blockquote small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:''}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:'\00A0 \2014'}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=radio]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=checkbox]:focus,input[type=radio]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{cursor:not-allowed;background-color:#eee;opacity:1}textarea.form-control{height:auto}input[type=search]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date],input[type=time],input[type=datetime-local],input[type=month]{line-height:34px}.input-group-sm input[type=date],.input-group-sm input[type=time],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:30px}.input-group-lg input[type=date],.input-group-lg input[type=time],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox label,.radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-top:4px \9;margin-left:-20px}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}.checkbox-inline.disabled,.radio-inline.disabled,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio-inline{cursor:not-allowed}.checkbox.disabled label,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .radio label{cursor:not-allowed}.form-control-static{padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.form-group-sm .form-control{height:30px;line-height:30px}select[multiple].form-group-sm .form-control,textarea.form-group-sm .form-control{height:auto}.form-group-sm .form-control-static{height:30px;padding:5px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:46px;line-height:46px}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.form-group-lg .form-control{height:46px;line-height:46px}select[multiple].form-group-lg .form-control,textarea.form-group-lg .form-control{height:auto}.form-group-lg .form-control-static{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:14.33px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{pointer-events:none;cursor:not-allowed;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;opacity:.65}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default.active,.btn-default.focus,.btn-default:active,.btn-default:focus,.btn-default:hover,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled,.btn-default.disabled.active,.btn-default.disabled.focus,.btn-default.disabled:active,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled],.btn-default[disabled].active,.btn-default[disabled].focus,.btn-default[disabled]:active,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default,fieldset[disabled] .btn-default.active,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:active,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary.active,.btn-primary.focus,.btn-primary:active,.btn-primary:focus,.btn-primary:hover,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled.focus,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled].focus,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success.active,.btn-success.focus,.btn-success:active,.btn-success:focus,.btn-success:hover,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled.focus,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled].focus,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info.active,.btn-info.focus,.btn-info:active,.btn-info:focus,.btn-info:hover,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled.focus,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled].focus,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning.active,.btn-warning.focus,.btn-warning:active,.btn-warning:focus,.btn-warning:hover,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled.focus,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled].focus,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger.active,.btn-danger.focus,.btn-danger:active,.btn-danger:focus,.btn-danger:hover,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled.focus,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled].focus,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#337ab7;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none;visibility:hidden}.collapse.in{display:block;visibility:visible}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown,.dropup{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px solid}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.navbar-nav>li>a{position:relative;display:block;padding:10px 15px}.navbar-nav>li>a:focus,.navbar-nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.navbar-nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none;visibility:hidden}.tab-content>.active{display:block;visibility:visible}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important;visibility:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{color:#23527c;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:2;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-xs .badge{top:0;padding:1px 5px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding:30px 15px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron .h1,.jumbotron h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding:48px 0}.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}/*.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}*/.thumbnail a>img,.thumbnail>img{margin-right:auto;margin-left:auto}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.media-body{width:10000px}.media-object{display:block}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item{color:#555}a.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{color:#777;cursor:not-allowed;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#c7ddef}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-right:15px;padding-left:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.modal-backdrop{position:absolute;top:0;right:0;left:0;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{min-height:16.43px;padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-weight:400;line-height:1.4;visibility:visible;filter:alpha(opacity=0);opacity:0}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-weight:400;line-height:1.42857143;text-align:left;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>a>img,.carousel-inner>.item>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000;perspective:1000}.carousel-inner>.item.active.right,.carousel-inner>.item.next{left:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{left:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:focus,.carousel-control:hover{color:#fff;text-decoration:none;filter:alpha(opacity=90);outline:0;opacity:.9}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;margin-top:-10px;font-family:serif;line-height:1}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-15px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-15px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-15px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{display:table;content:" "}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important;visibility:hidden!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-lg,.visible-md,.visible-sm,.visible-xs{display:none!important}.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/web/css/isearch_extra.css Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,41 @@ +ody { + font-family: "Source Sans Pro",Helvetica,Arial,sans-serif; + font-weight: 300; + font-color: black; + margin-left: 2em; + margin-right: 2em +} + +a,a:visited { color: #800; text-decoration: none; border-bottom: 1px solid transparent } */ +/* a:hover { color: #a00; border-bottom-color: currentColor } */ + +div#left { margin:0px; width:19%; padding-right:1ex } +div#right { margin:0px; width:19%; padding-left:1ex } +div#left { width:19%; padding-right:1ex } + +div#results { margin:0px; width:60%; padding:0px } +div#results .header { padding: 1ex } +.filter { border-radius:1ex } +#results li.r { padding: 1ex; margin-bottom:0px } +#results li.r br { display:none } +div#search { padding-left:20% } +#search .btn { + font-size:1em; + height: auto; + margin: 0.2ex; + vertical-align: baseline +} +#search .inp { + font-size: 1em; + width: 20em; +} +.column .header { padding-bottom:1px } +.resource-list .selected { font-weight: 600; } +.paginator a { + border:1px solid #800000; + color: #800000; +} +/* .paginator .active a { */ +.result-item .title { font-weight: 600; } +img.checkbox { vertical-align:text-bottom; padding-top:3px } +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/web/css/kube310/kube.css Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,2269 @@ +/* + Kube CSS-Framework 3.1 +*/ + +/* =Reset +-----------------------------------------------------------------------------*/ +*, +*:before, +*:after { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +html { + font-family: sans-serif; + -ms-text-size-adjust: 100%; + -webkit-text-size-adjust: 100%; +} +html, +body, +div, +span, +object, +iframe, +p, +blockquote, +pre, +a, +abbr, +acronym, +address, +big, +cite, +code, +del, +dfn, +em, +img, +ins, +kbd, +q, +s, +samp, +small, +strike, +strong, +sub, +sup, +tt, +var, +b, +u, +i, +center, +dl, +dt, +dd, +ol, +ul, +li, +fieldset, +form, +label, +legend, +table, +caption, +tbody, +tfoot, +thead, +tr, +th, +td, +article, +aside, +canvas, +details, +embed, +figure, +figcaption, +footer, +header, +hgroup, +menu, +nav, +output, +ruby, +section, +summary, +time, +mark, +audio, +video, +h1, +h2, +h3, +h4, +h5, +h6 { + margin: 0; + padding: 0; + border: 0; + outline: 0; + font-size: 100%; + vertical-align: baseline; + background: transparent; +} +a:active, +a:hover { + outline: 0; +} +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +nav, +section, +embed, +object, +iframe, +audio, +video, +canvas, +progress, +meter, +output, +textarea { + display: block; +} +audio:not([controls]) { + display: none; + height: 0; +} +/* To prevent some browsers from inserting quotes on q and p */ +blockquote, +q { + quotes: none; +} +blockquote p:before, +blockquote p:after, +q:before, +q:after { + content: ''; + content: none; +} +/* Table reset */ +table { + border-collapse: collapse; + border-spacing: 0; +} +caption, +th, +td { + text-align: left; + vertical-align: top; +} +thead th, +thead td { + font-weight: bold; + vertical-align: bottom; +} +/* Image inside */ +a img, +th img, +td img { + vertical-align: top; +} +button, +input, +select, +textarea { + margin: 0; +} +textarea { + overflow: auto; + vertical-align: top; + resize: vertical; +} +/* Normalize buttons in IE */ +button { + width: auto; + overflow: visible; +} +/* Hand cursor on clickable controls */ +input[type="reset"], +input[type="submit"], +input[type="file"], +input[type="radio"], +input[type="checkbox"], +select, +button { + cursor: pointer; +} +/* Trick with vertical align for radio and checkbox */ +input[type="radio"], +input[type="checkbox"] { + font-size: 110%; + position: relative; + top: -1px; +} +/* Normalize search fields */ +input[type="search"] { + -webkit-appearance: textfield; +} +input[type="search"]::-webkit-search-decoration, +input[type="search"]::-webkit-search-cancel-button { + -webkit-appearance: none; +} +/* Normalize horizontal line */ +hr { + display: block; + height: 1px; + border: 0; + border-top: 1px solid #ddd; +} +/* Responsive media */ +img, +video, +audio, +embed, +object { + max-width: 100%; +} +img, +video, +embed, +object { + height: auto; +} +embed, +object { + height: 100%; +} +img { + vertical-align: middle; + -ms-interpolation-mode: bicubic; +} +/* =Typography +-----------------------------------------------------------------------------*/ +body { + font-family: "Helvetica Neue", Helvetica, Tahoma, sans-serif; + font-size: 0.85em; + line-height: 1.618em; + background: #ffffff; + color: black; /* #333333; */ +} +/* =Links +-----------------------------------------------------------------------------*/ +a { + color: #3570c3; +} +a:focus, +a:hover { + color: #d70a16; +} +/* =Headings +-----------------------------------------------------------------------------*/ +h1, +h2, +h3, +h4, +h5, +h6 { + font-family: "Helvetica Neue", Helvetica, Tahoma, sans-serif; + font-weight: bold; + color: #222222; + text-rendering: optimizeLegibility; +} +h1 { + font-size: 2.125em; + line-height: 1.111em; + margin-bottom: 0.809em; +} +h2 { + font-size: 1.7em; + line-height: 1.111em; + margin-bottom: .25em; +} +h3 { + font-size: 1.4449999999999998em; + line-height: 1.333em; + margin-bottom: .25em; +} +h4 { + font-size: 1.105em; + line-height: 1.5em; + margin-bottom: .333em; +} +h5 { + font-size: 0.85em; + line-height: 1.618em; + margin-bottom: .25em; +} +h6 { + font-size: 0.7224999999999999em; + text-transform: uppercase; + line-height: 1.618em; + margin-bottom: .25em; +} +/* =Subheadings +-----------------------------------------------------------------------------*/ +hgroup h1:first-child, +hgroup h2:first-child, +hgroup h3:first-child, +hgroup h4:first-child, +hgroup h5:first-child { + margin-bottom: 0; +} +h1.subheading, +h2.subheading, +h3.subheading, +h4.subheading, +h5.subheading { + margin-top: 0; + font-weight: 300; +} +h1.subheading { + font-size: 1.4166666666666667em; +} +h2.subheading { + font-size: 1.1333333333333333em; +} +h3.subheading { + font-size: 0.9633333333333333em; +} +h4.subheading { + margin-top: .2em; + font-size: 0.9208333333333334em; +} +h5.subheading { + margin-top: .2em; + font-size: 0.7555555555555555em; +} +/* =Lead +-----------------------------------------------------------------------------*/ +.lead { + font-size: 1.35em; + font-weight: 300; + line-height: 1.35em; + margin-bottom: 0.809em; +} +/* =Line height and margin +-----------------------------------------------------------------------------*/ +p, +ul, +ol, +dl, +dd, +dt, +blockquote, +td, +th { + line-height: 1.618em; +} +ul, +ol, +ul ul, +ol ol, +ul ol, +ol ul { + margin: 0 0 0 3.236em; +} +ol ol li { + list-style-type: lower-alpha; +} +ol ol ol li { + list-style-type: lower-roman; +} +p, +ul, +ol, +dl, +blockquote, +hr, +pre, +table, +form, +fieldset, +figure, +address { + margin-bottom: 1.618em; +} +/* =Blockquote +-----------------------------------------------------------------------------*/ +blockquote { + position: relative; + font-style: italic; + margin-left: 2.427em; + padding-left: 1.618em; + border-left: 2px solid rgba(0, 0, 0, 0.15); +} +blockquote p { + margin-bottom: .5em; +} +blockquote small, +cite { + color: rgba(0, 0, 0, 0.4); + font-style: italic; +} +small, +blockquote cite { + font-size: 0.85em; + line-height: 1; +} +/* =Address +-----------------------------------------------------------------------------*/ +address { + font-style: normal; +} +/* =Definition list +-----------------------------------------------------------------------------*/ +dl dt { + font-weight: bold; +} +dd { + margin-left: 1.0786666666666667em; +} +/* =Text-level +-----------------------------------------------------------------------------*/ +s, +del { + text-decoration: line-through; +} +abbr[title], +dfn[title] { + border-bottom: 1px dotted #000; + cursor: help; +} +strong, +b { + font-weight: bold; +} +em, +i { + font-style: italic; +} +sub, +sup { + font-size: 0.65em; + line-height: 0; + position: relative; +} +sup { + top: -0.5em; +} +sub { + bottom: -0.25em; +} +figcaption { + font-size: 0.85em; + font-style: italic; +} +ins, +u { + text-decoration: underline; +} +mark { + background-color: #fddc43; + color: #0f0f0f; + text-decoration: none; +} +/* =Code +-----------------------------------------------------------------------------*/ +pre, +code, +kbd, +samp, +var, +output { + font-size: 90%; + font-style: normal; + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; +} +pre { + font-size: 90%; + line-height: 1.45em; + color: #333333; + background: #f6f6f6; + padding: 1.618em; + overflow: auto; +} +code, +samp, +kbd { + padding: 3px 6px 2px 6px; + display: inline-block; + line-height: 1; + border-radius: 2px; +} +code { + background: #f6f6f6; + border: 1px solid #ddd; +} +pre code { + font-size: 100%; + border: none; + padding: 0; + background: none; + line-height: 1.618em; +} +var { + color: rgba(0, 0, 0, 0.5); +} +samp { + background: #e9effa; + border: 1px solid #c5d4f0; +} +kbd { + background: #0f0f0f; + color: rgba(255, 255, 255, 0.85); + white-space: nowrap; +} +/* =Form +-----------------------------------------------------------------------------*/ +button:active, +button:focus { + outline: none; +} +button, +input, +textarea, +select { + font-family: "Helvetica Neue", Helvetica, Tahoma, sans-serif; + font-size: 1em; + box-shadow: none; +} +textarea, +select[multiple], +select[multiple="multiple"] { + padding: .3em .35em; + line-height: 1.35em; + width: 99.9%; +} +input[type="text"], +input[type="password"], +input[type="email"], +input[type="url"], +input[type="phone"], +input[type="tel"], +input[type="number"], +input[type="datetime"], +input[type="date"], +input[type="month"], +input[type="color"], +input[type="time"], +input[type="search"], +input[type="datetime-local"], +button, +input[type="submit"], +input[type="reset"] { + padding: .3em .35em; + line-height: 1.618em; + border-radius: 0; + outline: none; +} +select[multiple], +select[multiple="multiple"], +textarea, +input[type="text"], +input[type="password"], +input[type="email"], +input[type="url"], +input[type="phone"], +input[type="tel"], +input[type="number"], +input[type="datetime"], +input[type="date"], +input[type="month"], +input[type="color"], +input[type="time"], +input[type="search"], +input[type="datetime-local"] { + background: #fff; + border: 1px solid #bbbcc0; + position: relative; + z-index: 1; + -webkit-appearance: none; +} +button, +input[type="submit"], +input[type="reset"] { + font-weight: 400; + padding: .3em 1.3em; + border: 1px solid transparent; + color: #333333; + background: #eeeded; + cursor: pointer; + border-radius: 2px; + -webkit-appearance: none; +} +button:hover, +input[type="submit"]:hover, +input[type="reset"]:hover { + color: rgba(0, 0, 0, 0.5); + background: #dbdada; +} +button[disabled], +input[type="submit"][disabled], +input[type="reset"][disabled] { + background: none; + background: #dbdada; + cursor: default; + color: rgba(0, 0, 0, 0.5); +} +button[disabled]:hover, +input[type="submit"][disabled]:hover, +input[type="reset"][disabled]:hover { + color: rgba(0, 0, 0, 0.5); +} +input::-moz-focus-inner, +button::-moz-focus-inner { + border: 0; + padding: 0; +} +input[type="range"] { + position: relative; + top: 3px; +} +input[disabled] { + background: #f4f4f4; + border: 1px solid #ddd; + color: rgba(0, 0, 0, 0.4); +} +select { + margin-bottom: 0 !important; +} +fieldset { + padding: 1.618em; + margin-bottom: 1.618em; + border: 1px solid #ddd; +} +fieldset *:last-child { + margin-bottom: 0 !important; +} +legend { + font-weight: bold; + padding: 0 1em; + margin-left: -1em; +} +/* =Tables +-----------------------------------------------------------------------------*/ +table { + max-width: 100%; + width: 100%; + empty-cells: show; +} +table caption { + text-transform: uppercase; + padding: 0 1.0786666666666667em; + color: rgba(0, 0, 0, 0.4); + font-size: 0.85em; +} +table th, +table td { + border-bottom: 1px solid #eee; + padding: 0.809em 1.0786666666666667em; +} +table tfoot th, +table tfoot td { + background: #f4f4f4; +} +/* =Responsive +-----------------------------------------------------------------------------*/ +/* Portrait tablet to landscape and desktop */ +@media (min-width: 768px) and (max-width: 979px) { + h1 { + font-size: 2.125em; + line-height: 1.125; + } + h2 { + font-size: 1.7em; + line-height: 1.25; + } + h3 { + font-size: 1.4449999999999998em; + line-height: 1.25; + } + h4 { + font-size: 1.105em; + line-height: 1.22222222; + } + h5 { + font-size: 0.85em; + } + h6 { + font-size: 0.7224999999999999em; + } + h1.subheading { + font-size: 1.4166666666666667em; + } + h2.subheading { + font-size: 1.1333333333333333em; + } + h3.subheading { + font-size: 0.9633333333333333em; + } + h4.subheading { + font-size: 0.9208333333333334em; + } + h5.subheading { + font-size: 0.7555555555555555em; + } +} +/* Landscape phone to portrait tablet */ +@media (max-width: 767px) { + h1 { + font-size: 1.7em; + line-height: 1.25; + } + h2 { + font-size: 1.275em; + line-height: 1.15384615; + } + h3 { + font-size: 1.16875em; + line-height: 1.13636364; + } + h4 { + font-size: 0.9562499999999999em; + line-height: 1.11111111; + } + h5 { + font-size: 0.85em; + } + h6 { + font-size: 0.7224999999999999em; + } + h1.subheading { + font-size: 1.1333333333333333em; + } + h2.subheading { + font-size: 0.85em; + } + h3.subheading { + font-size: 0.7791666666666667em; + } + h4.subheading { + font-size: 0.796875em; + } + h5.subheading { + font-size: 0.7555555555555555em; + } + .lead { + font-size: 1.2em; + } + ul, + ol, + ul ul, + ol ol, + ul ol, + ol ul { + margin-left: 1.618em; + } + blockquote { + margin-left: 0; + } +} +/* =Grid +-----------------------------------------------------------------------------*/ +.units-container:after, +.units-row:after { + content: ""; + display: table; + clear: both; +} +.units-container:after, +.units-row:after { + content: ""; + display: table; + clear: both; +} +.units-container { + /* it's the trick to not collapse padding-top in the child element */ + + padding-top: 1px; + margin-top: -1px; +} +.units-row { + margin-bottom: 1.618em; +} +.width-100, +.unit-100 { + width: 100%; +} +.width-90, +.unit-90 { + width: 90%; +} +.width-80, +.unit-80 { + width: 80%; +} +.width-75, +.unit-75 { + width: 75%; +} +.width-70, +.unit-70 { + width: 70%; +} +.width-66, +.unit-66 { + width: 66.6%; +} +.width-65, +.unit-65 { + width: 65%; +} +.width-60, +.unit-60 { + width: 60%; +} +.width-50, +.unit-50 { + width: 50%; +} +.width-40, +.unit-40 { + width: 40%; +} +.width-35, +.unit-35 { + width: 35%; +} +.width-33, +.unit-33 { + width: 33.3%; +} +.width-30, +.unit-30 { + width: 30%; +} +.width-25, +.unit-25 { + width: 25%; +} +.width-20, +.unit-20 { + width: 20%; +} +.width-10, +.unit-10 { + width: 10%; +} +input.width-100, +input.unit-100 { + width: 98.6%; +} +textarea.width-100, +textarea.unit-100 { + width: 98.8%; +} +select.width-100, +select.unit-100 { + width: 99.4%; +} +.units-row .unit-90, +.units-row .unit-80, +.units-row .unit-75, +.units-row .unit-70, +.units-row .unit-66, +.units-row .unit-65, +.units-row .unit-60, +.units-row .unit-50, +.units-row .unit-40, +.units-row .unit-35, +.units-row .unit-33, +.units-row .unit-30, +.units-row .unit-25, +.units-row .unit-20, +.units-row .unit-10 { + float: left; + margin-left: 3%; +} +.units-row .unit-90:first-child, +.units-row .unit-80:first-child, +.units-row .unit-75:first-child, +.units-row .unit-70:first-child, +.units-row .unit-66:first-child, +.units-row .unit-65:first-child, +.units-row .unit-60:first-child, +.units-row .unit-50:first-child, +.units-row .unit-40:first-child, +.units-row .unit-35:first-child, +.units-row .unit-33:first-child, +.units-row .unit-30:first-child, +.units-row .unit-25:first-child, +.units-row .unit-20:first-child, +.units-row .unit-10:first-child { + margin-left: 0; +} +.units-row .unit-90 { + width: 89.7%; +} +.units-row .unit-80 { + width: 79.4%; +} +.units-row .unit-75 { + width: 74.25%; +} +.units-row .unit-70 { + width: 69.1%; +} +.units-row .unit-66 { + width: 65.66666666666666%; +} +.units-row .unit-65 { + width: 65.66666666666666%; +} +.units-row .unit-60 { + width: 58.800000000000004%; +} +.units-row .unit-50 { + width: 48.5%; +} +.units-row .unit-40 { + width: 38.2%; +} +.units-row .unit-35 { + width: 31.333333333333332%; +} +.units-row .unit-33 { + width: 31.333333333333332%; +} +.units-row .unit-30 { + width: 27.9%; +} +.units-row .unit-25 { + width: 22.75%; +} +.units-row .unit-20 { + width: 17.6%; +} +.units-row .unit-10 { + width: 7.3%; +} +.unit-push-90, +.unit-push-80, +.unit-push-75, +.unit-push-70, +.unit-push-66, +.unit-push-65, +.unit-push-60, +.unit-push-50, +.unit-push-40, +.unit-push-35, +.unit-push-33, +.unit-push-30, +.unit-push-25, +.unit-push-20, +.unit-push-10 { + position: relative; +} +.unit-push-90 { + left: 92.7%; +} +.unit-push-80 { + left: 82.4%; +} +.unit-push-75 { + left: 77.25%; +} +.unit-push-70 { + left: 72.1%; +} +.unit-push-66 { + left: 68.66666666666666%; +} +.unit-push-65 { + left: 68.66666666666666%; +} +.unit-push-60 { + left: 61.800000000000004%; +} +.unit-push-50 { + left: 51.5%; +} +.unit-push-40 { + left: 41.2%; +} +.unit-push-35 { + left: 34.33333333333333%; +} +.unit-push-33 { + left: 34.33333333333333%; +} +.unit-push-30 { + left: 30.9%; +} +.unit-push-25 { + left: 25.75%; +} +.unit-push-20 { + left: 20.6%; +} +.unit-push-10 { + left: 10.3%; +} +.units-row .unit-push-right { + float: right; +} +.centered, +.unit-centered { + float: none !important; + margin: 0 auto !important; +} +.unit-padding { + padding: 1.618em; +} +.units-padding .unit-100, +.units-padding .unit-90, +.units-padding .unit-80, +.units-padding .unit-75, +.units-padding .unit-70, +.units-padding .unit-66, +.units-padding .unit-65, +.units-padding .unit-60, +.units-padding .unit-50, +.units-padding .unit-40, +.units-padding .unit-35, +.units-padding .unit-33, +.units-padding .unit-30, +.units-padding .unit-25, +.units-padding .unit-20, +.units-padding .unit-10 { + padding: 1.618em; +} +.units-split .unit-90, +.units-split .unit-80, +.units-split .unit-75, +.units-split .unit-70, +.units-split .unit-66, +.units-split .unit-65, +.units-split .unit-60, +.units-split .unit-50, +.units-split .unit-40, +.units-split .unit-35, +.units-split .unit-33, +.units-split .unit-30, +.units-split .unit-25, +.units-split .unit-20, +.units-split .unit-10 { + margin-left: 0; +} +.units-split .unit-90 { + width: 90%; +} +.units-split .unit-80 { + width: 80%; +} +.units-split .unit-75 { + width: 75%; +} +.units-split .unit-70 { + width: 70%; +} +.units-split .unit-66 { + width: 66.6%; +} +.units-split .unit-65 { + width: 65%; +} +.units-split .unit-60 { + width: 60%; +} +.units-split .unit-50 { + width: 50%; +} +.units-split .unit-40 { + width: 40%; +} +.units-split .unit-35 { + width: 35%; +} +.units-split .unit-33 { + width: 33.3%; +} +.units-split .unit-30 { + width: 30%; +} +.units-split .unit-25 { + width: 25%; +} +.units-split .unit-20 { + width: 20%; +} +.units-split .unit-10 { + width: 10%; +} +/* =Responsive +-----------------------------------------------------------------------------*/ +@media only screen and (max-width: 767px) { + .mobile-width-100 { + width: 100%; + } + .units-row .unit-90, + .units-row .unit-80, + .units-row .unit-75, + .units-row .unit-70, + .units-row .unit-66, + .units-row .unit-65, + .units-row .unit-60, + .units-row .unit-50, + .units-row .unit-40, + .units-row .unit-35, + .units-row .unit-33, + .units-row .unit-30, + .units-row .unit-25, + .units-row .unit-20, + .units-row .unit-10 { + width: 100%; + float: none; + margin-left: 0; + margin-bottom: 1.618em; + } + .unit-push-90, + .unit-push-80, + .unit-push-75, + .unit-push-70, + .unit-push-66, + .unit-push-65, + .unit-push-60, + .unit-push-50, + .unit-push-40, + .unit-push-35, + .unit-push-33, + .unit-push-30, + .unit-push-25, + .unit-push-20, + .unit-push-10 { + left: 0; + } + .units-row .unit-push-right { + float: none; + } + .units-mobile-50 .unit-90, + .units-mobile-50 .unit-80, + .units-mobile-50 .unit-75, + .units-mobile-50 .unit-70, + .units-mobile-50 .unit-66, + .units-mobile-50 .unit-65, + .units-mobile-50 .unit-60, + .units-mobile-50 .unit-40, + .units-mobile-50 .unit-30, + .units-mobile-50 .unit-35, + .units-mobile-50 .unit-33, + .units-mobile-50 .unit-25, + .units-mobile-50 .unit-20, + .units-mobile-50 .unit-10 { + float: left; + margin-left: 3%; + width: 48.5%; + } + .units-mobile-50 .unit-90:first-child, + .units-mobile-50 .unit-80:first-child, + .units-mobile-50 .unit-75:first-child, + .units-mobile-50 .unit-70:first-child, + .units-mobile-50 .unit-66:first-child, + .units-mobile-50 .unit-65:first-child, + .units-mobile-50 .unit-60:first-child, + .units-mobile-50 .unit-40:first-child, + .units-mobile-50 .unit-35:first-child, + .units-mobile-50 .unit-30:first-child, + .units-mobile-50 .unit-33:first-child, + .units-mobile-50 .unit-25:first-child, + .units-mobile-50 .unit-20:first-child, + .units-mobile-50 .unit-10:first-child { + margin-left: 0; + } +} +/* =Blocks +-----------------------------------------------------------------------------*/ +.blocks-2, +.blocks-3, +.blocks-4, +.blocks-5, +.blocks-6 { + padding-left: 0; + list-style: none; + margin-left: -3%; +} +.blocks-2:after, +.blocks-3:after, +.blocks-4:after, +.blocks-5:after, +.blocks-6:after { + content: ""; + display: table; + clear: both; +} +.blocks-2:after, +.blocks-3:after, +.blocks-4:after, +.blocks-5:after, +.blocks-6:after { + content: ""; + display: table; + clear: both; +} +.blocks-2 li, +.blocks-3 li, +.blocks-4 li, +.blocks-5 li, +.blocks-6 li { + height: auto; + float: left; + margin-bottom: 1.618em; + margin-left: 3%; +} +.blocks-2 > li { + width: 47%; +} +.blocks-3 > li { + width: 30.333333333333332%; +} +.blocks-4 > li { + width: 22%; +} +.blocks-5 > li { + width: 17%; +} +.blocks-6 > li { + width: 13.666666666666666%; +} +.block-first { + clear: both; +} +/* =Responsive +-----------------------------------------------------------------------------*/ +@media only screen and (max-width: 767px) { + .blocks-2, + .blocks-3, + .blocks-4, + .blocks-5, + .blocks-6 { + margin-left: 0; + margin-bottom: 1.618em; + } + .blocks-2 > li, + .blocks-3 > li, + .blocks-4 > li, + .blocks-5 > li, + .blocks-6 > li { + float: none; + margin-left: 0; + width: 100%; + } + .blocks-mobile-50 > li, + .blocks-mobile-33 > li { + float: left; + margin-left: 3%; + } + .blocks-mobile-33, + .blocks-mobile-50 { + margin-left: -3%; + } + .blocks-mobile-50 > li { + width: 47%; + } + .blocks-mobile-33 > li { + width: 30.333333333333332%; + } +} +/* =Tables +-----------------------------------------------------------------------------*/ +table.table-bordered td, +table.table-bordered th { + border: 1px solid #ddd; +} +table.table-simple td, +table.table-simple th, +table.table-simple caption { + border: none; + padding-left: 0; +} +table.table-flat td, +table.table-flat th, +table.table-flat caption { + border: none; + padding: 0; +} +table.table-striped tbody tr:nth-child(odd) td { + background-color: #f8f8f8; +} +table.table-hovered tbody tr:hover td { + background-color: #f4f4f4; +} +/* Responsive Tables */ +.table-container { + width: 100%; + overflow: auto; + margin-bottom: 1.618em; +} +.table-container table { + margin-bottom: 0; +} +.table-container::-webkit-scrollbar { + -webkit-appearance: none; + width: 14px; + height: 14px; +} +.table-container::-webkit-scrollbar-thumb { + border-radius: 8px; + border: 3px solid #fff; + background-color: rgba(0, 0, 0, 0.3); +} +/* =Forms +-----------------------------------------------------------------------------*/ +.forms label { + display: block; + margin-bottom: 1.0786666666666667em; +} +.forms input[type="text"], +.forms input[type="password"], +.forms input[type="email"], +.forms input[type="url"], +.forms input[type="phone"], +.forms input[type="tel"], +.forms input[type="number"], +.forms input[type="datetime"], +.forms input[type="date"], +.forms input[type="month"], +.forms input[type="color"], +.forms input[type="time"], +.forms input[type="search"], +.forms input[type="range"], +.forms input[type="file"], +.forms input[type="datetime-local"], +.forms textarea, +.forms select { + display: block; +} +.forms-inline-list input[type="text"], +.forms-inline-list input[type="password"], +.forms-inline-list input[type="email"], +.forms-inline-list input[type="url"], +.forms-inline-list input[type="phone"], +.forms-inline-list input[type="tel"], +.forms-inline-list input[type="number"], +.forms-inline-list input[type="datetime"], +.forms-inline-list input[type="date"], +.forms-inline-list input[type="month"], +.forms-inline-list input[type="color"], +.forms-inline-list input[type="time"], +.forms-inline-list input[type="search"], +.forms-inline-list input[type="range"], +.forms-inline-list input[type="file"], +.forms-inline-list input[type="datetime-local"], +.forms-inline-list textarea, +.forms-inline-list select { + display: inline-block; +} +.forms-list, +.forms-inline-list { + margin: 0; + padding: 0; + margin-bottom: 1.0786666666666667em; + list-style: none; +} +.forms-list label, +.forms-inline-list li, +.forms-inline-list li label { + display: inline-block; + margin-bottom: 0; +} +.forms-inline-list li label { + margin-right: 0.809em; +} +.forms-inline-list li { + margin-bottom: 3px; +} +.forms-list li { + margin-bottom: 6px; +} +.forms-desc { + margin-top: 4px; + color: rgba(0, 0, 0, 0.4); + font-size: 0.85em; + line-height: 1.4em; +} +input[type="text"], +input[type="password"], +input[type="email"], +input[type="url"], +input[type="phone"], +input[type="tel"], +input[type="number"], +input[type="datetime"], +input[type="date"], +input[type="month"], +input[type="color"], +input[type="time"], +input[type="search"], +input[type="datetime-local"], +textarea { + -moz-transition: border ease 0.5s; + transition: border ease 0.5s; +} +/* States */ +.error, +.success { + font-weight: normal; + font-size: 0.85em; +} +input.input-error, +textarea.input-error, +select.input-error, +.input-error { + border-color: #d70a16; + box-shadow: 0 0 0 2px rgba(215, 10, 22, 0.3), 0 1px 2px rgba(0, 0, 0, 0.2) inset; +} +input.input-success, +textarea.input-success, +select.input-success, +.input-success { + border-color: #159776; + box-shadow: 0 0 0 2px rgba(21, 151, 118, 0.3), 0 1px 2px rgba(0, 0, 0, 0.2) inset; +} +input.input-gray, +textarea.input-gray, +select.input-gray, +.input-gray { + border-color: #ccc; + box-shadow: 0 0 0 2px rgba(204, 204, 204, 0.3), 0 1px 2px rgba(0, 0, 0, 0.2) inset; +} +input[type="text"]:focus, +input[type="password"]:focus, +input[type="email"]:focus, +input[type="url"]:focus, +input[type="phone"]:focus, +input[type="tel"]:focus, +input[type="number"]:focus, +input[type="datetime"]:focus, +input[type="date"]:focus, +input[type="month"]:focus, +input[type="color"]:focus, +input[type="time"]:focus, +input[type="search"]:focus, +input[type="datetime-local"]:focus, +textarea:focus { + outline: none; + border-color: #5ca9e4; + box-shadow: 0 0 0 2px rgba(70, 161, 231, 0.3), 0 1px 2px rgba(0, 0, 0, 0.2) inset; +} +input.input-search, +input[type="search"] { + padding-right: .5em; + padding-left: .5em; + margin-bottom: 0; + border-radius: 15px; +} +/* Sizes */ +.input-big, +.input-small, +.input-small-super { + padding: .3em 1.75em; +} +.input-big { + font-size: 1.25em; +} +.input-small { + font-size: 0.85em; +} +.input-small-super { + font-size: 0.65em; +} +/* Append & Prepend */ +.input-groups { + display: table !important; +} +.input-groups input { + width: 100%; +} +.input-groups input, +.input-groups .input-append, +.input-groups .input-prepend, +.input-groups .btn-append { + display: table-cell !important; +} +.input-groups .btn-append, +.input-groups .input-append, +.input-groups .input-prepend { + width: 1%; + vertical-align: middle; +} +.input-groups .input-append, +.input-groups .input-prepend { + background-color: #eee; + border: 1px solid #ccc; + margin: 0; + padding: .35em .75em .25em .75em; + color: rgba(0, 0, 0, 0.5); + line-height: 1.618em; + font-size: 0.85em; + white-space: nowrap; +} +.input-groups .input-prepend { + border-right: none; +} +.input-groups .input-append { + position: relative; + z-index: 1; + border-left: none; +} +.input-groups .btn-append .btn { + display: block; + height: auto; + border-radius: 0 2px 2px 0; +} +/* =Mobile (Portrait) +-----------------------------------------------------------------------------*/ +@media only screen and (max-width: 767px) { + .forms-list label { + display: inline-block; + } +} +/* =Navs +-----------------------------------------------------------------------------*/ +/* NavBar */ +.navbar { + margin-bottom: 1.618em; +} +.navbar:after { + content: ""; + display: table; + clear: both; +} +.navbar:after { + content: ""; + display: table; + clear: both; +} +.navbar-left { + float: left; +} +.navbar-right { + float: right; +} +.navbar ul { + list-style: none; + margin: 0; +} +.navbar ul:after { + content: ""; + display: table; + clear: both; +} +.navbar ul:after { + content: ""; + display: table; + clear: both; +} +.navbar ul li { + float: left; + margin-right: 1.618em; +} +.navbar-right ul li { + margin-right: 0; + margin-left: 1.618em; +} +.navbar ul li a, +.navbar ul li span { + display: block; + text-decoration: none; +} +.navbar ul li a:hover { + color: #d70a16; +} +.navbar ul li.active a, +.navbar ul li span { + text-decoration: none; + cursor: text; + color: rgba(0, 0, 0, 0.4); +} +/* Fullwidth */ +.fullwidth ul { + width: 100%; +} +.fullwidth li { + float: none !important; + margin: 0; + display: table-cell; + width: 1%; + text-align: center; +} +.fullwidth li a, +.fullwidth li span { + display: block; +} +/* Vertical */ +.nav { + margin-bottom: 1.618em; +} +.nav ul { + list-style: none; + margin: 0; +} +.nav ul li ul { + margin-left: 2em; + font-size: .95em; +} +.nav ul li a, +.nav ul li span { + display: block; + padding: 5px 0; +} +.nav ul li ul li a, +.nav ul li ul li span { + padding: 4px 0; +} +.nav ul li a { + text-decoration: none; +} +.nav ul li a:hover { + color: #d70a16; + text-decoration: underline; +} +.nav ul li.active a, +.nav ul li span { + text-decoration: none; + cursor: text; + color: rgba(0, 0, 0, 0.4); +} +/* Stroked */ +.nav-stroked li { + border-bottom: 1px solid #eee; +} +.nav-stroked li:last-child { + border-bottom: none; +} +/* Stacked */ +.nav-stacked ul { + border: 1px solid #eee; + border-bottom: 0; +} +.nav-stacked ul li { + border-bottom: 1px solid #eee; +} +.nav-stacked ul li a, +.nav-stacked ul li span { + padding: 5px 10px; +} +.nav-stacked ul li a:hover { + background-color: #f5f5f5; +} +/* Stats */ +.nav-stats li { + position: relative; +} +.nav-stats li a, +.nav-stats li span { + padding-right: 50px; +} +.nav-stats sup { + position: absolute; + top: 50%; + right: 0; + color: rgba(0, 0, 0, 0.4); +} +.nav-stats.nav-stacked sup { + right: .5em; +} +/* Breadcrumbs */ +.breadcrumbs { + margin-bottom: 1.618em; +} +.breadcrumbs:after { + content: ""; + display: table; + clear: both; +} +.breadcrumbs:after { + content: ""; + display: table; + clear: both; +} +.breadcrumbs ul { + font-size: .9em; + color: rgba(0, 0, 0, 0.4); + list-style: none; + margin: 0; +} +.breadcrumbs ul:after { + content: ""; + display: table; + clear: both; +} +.breadcrumbs ul:after { + content: ""; + display: table; + clear: both; +} +.breadcrumbs ul li { + float: left; + margin-right: 3px; +} +.breadcrumbs li + li:before { + content: " > "; + color: #aaa; + font-size: 12px; + margin: 0 3px; + position: relative; + top: -1px; +} +.breadcrumbs-sections li + li:before { + content: " | "; + top: 0; +} +.breadcrumbs-path li + li:before { + content: " / "; + top: 0; +} +.breadcrumbs ul li a { + color: #0f0f0f; + text-decoration: none; +} +.breadcrumbs ul li.active a, +.breadcrumbs ul li.active a:hover { + text-decoration: none; + cursor: text; + color: rgba(0, 0, 0, 0.4); +} +.breadcrumbs ul li a:hover { + color: #0f0f0f; + text-decoration: underline; +} +/* =Pagination +-----------------------------------------------------------------------------*/ +.pagination { + position: relative; + left: -9px; + margin-left: 0; + list-style: none; +} +.pagination:after { + content: ""; + display: table; + clear: both; +} +.pagination:after { + content: ""; + display: table; + clear: both; +} +.pagination li { + float: left; + margin-right: 2px; +} +.pagination li a, +.pagination li span { + display: block; + padding: 7px 9px; + line-height: 1; + border-radius: 2px; + color: #0f0f0f; + text-decoration: none; +} +.pagination li span, +.pagination li.active a, +.pagination li.active a:hover { + border: 1px solid #ddd; + background: none; + cursor: text; +} +.pagination li a:focus, +.pagination li a:hover { + text-decoration: none; + background-color: #0f0f0f; + color: #fff; + border: 1px solid transparent; +} +/* =Responsive +-----------------------------------------------------------------------------*/ +@media only screen and (max-width: 767px) { + .navbar-left, + .navbar-right, + .navbar ul li, + .navbar-right ul li { + float: none; + text-align: center; + } + .navbar ul li, + .navbar-right ul li { + margin-left: 0; + margin-right: 0; + } + .fullwidth ul { + width: auto; + } + .fullwidth li { + display: block; + width: auto; + } +} +/* =Buttons +-----------------------------------------------------------------------------*/ +.btn { + display: inline-block; + vertical-align: top; + font-family: "Helvetica Neue", Helvetica, Tahoma, sans-serif; + font-size: 1em; + font-weight: 400; + line-height: 1.618em; + text-align: center; + text-decoration: none; + color: #333333; + margin: 0; + border: 1px solid transparent; + border-radius: 2px; + box-shadow: none; + cursor: pointer; + background: #eeeded; + padding: .3em 1.3em; +} +.btn:hover { + color: rgba(0, 0, 0, 0.5); + background: #dbdada; +} +.btn::-moz-focus-inner { + border: 0; + padding: 0; +} +.btn-big { + font-size: 1.25em; +} +.btn-small { + font-size: 0.85em; +} +.btn-small-super { + font-size: 0.65em; + vertical-align: baseline; +} +.btn-outline { + background: none; + border: 1px solid #ddd; +} +.btn-blue, +.btn-red, +.btn-green, +.btn-black { + color: rgba(255, 255, 255, 0.9); +} +.btn-blue:hover, +.btn-red:hover, +.btn-green:hover, +.btn-black:hover { + color: rgba(255, 255, 255, 0.6); +} +.btn-white { + background: #fff; +} +.btn-white:hover { + background: #f2f2f2; +} +.btn-white.btn-outline { + background: none; + border-color: rgba(255, 255, 255, 0.85); + color: rgba(255, 255, 255, 0.85); +} +.btn-white.btn-outline:hover { + color: rgba(0, 0, 0, 0.9); + background: #fff; +} +.btn-blue.btn-outline { + background: none; + border-color: #3d58a8; + color: #3d58a8; +} +.btn-blue.btn-outline:hover { + color: rgba(255, 255, 255, 0.9); + background: #3d58a8; +} +.btn-red.btn-outline { + background: none; + border-color: #d70a16; + color: #d70a16; +} +.btn-red.btn-outline:hover { + color: rgba(255, 255, 255, 0.9); + background: #d70a16; +} +.btn-green.btn-outline { + background: none; + border-color: #159776; + color: #159776; +} +.btn-green.btn-outline:hover { + color: rgba(255, 255, 255, 0.9); + background: #159776; +} +.btn-black.btn-outline { + background: none; + border-color: #0f0f0f; + color: #0f0f0f; +} +.btn-black.btn-outline:hover { + color: rgba(255, 255, 255, 0.9); + background: #0f0f0f; +} +.btn-blue { + background: #3d58a8; +} +.btn-blue:hover { + background: #2f4483; +} +.btn-red { + background: #d70a16; +} +.btn-red:hover { + background: #a60811; +} +.btn-green { + background: #159776; +} +.btn-green:hover { + background: #0f6a53; +} +.btn-yellow { + background: #fddc43; + color: #000; +} +.btn-yellow:hover { + background: #e7be02; +} +.btn-black { + background: #000; +} +.btn-black:hover { + background: #333333; +} +.btn-active, +.btn[disabled], +.btn-disabled { + background: none; + background: #dbdada; + color: rgba(0, 0, 0, 0.5); +} +.btn-active:hover, +.btn[disabled]:hover, +.btn-disabled:hover { + color: rgba(0, 0, 0, 0.5); +} +.btn-active { + border-top-color: #aaa; + border-right-color: #bbb; + border-left-color: #bbb; + border-bottom-color: #ccc; + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2) inset; +} +.btn-outline.btn[disabled], +.btn-outline.btn-disabled { + background: none; + box-shadow: none; + color: rgba(0, 0, 0, 0.3); + border: 1px solid rgba(0, 0, 0, 0.1); +} +.btn-outline.btn-active { + background: none; + color: rgba(0, 0, 0, 0.4); + border-top-color: #ccc; + border-right-color: #ccc; + border-left-color: #ccc; + border-bottom-color: #ddd; + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2) inset; +} +.btn[disabled], +.btn-disabled { + cursor: default; + box-shadow: none; +} +.btn-blue.btn-active, +.btn-red.btn-active, +.btn-green.btn-active, +.btn-black.btn-active { + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.5) inset; +} +.btn-blue.btn-active, +.btn-red.btn-active, +.btn-green.btn-active, +.btn-black.btn-active, +.btn-blue.btn-disabled, +.btn-red.btn-disabled, +.btn-green.btn-disabled, +.btn-black.btn-disabled, +.btn-blue[disabled], +.btn-red[disabled], +.btn-green[disabled], +.btn-black[disabled] { + color: rgba(255, 255, 255, 0.6); +} +.btn-blue.btn-active:hover, +.btn-red.btn-active:hover, +.btn-green.btn-active:hover, +.btn-black.btn-active:hover, +.btn-blue.btn-disabled:hover, +.btn-red.btn-disabled:hover, +.btn-green.btn-disabled:hover, +.btn-black.btn-disabled:hover, +.btn-blue[disabled]:hover, +.btn-red[disabled]:hover, +.btn-green[disabled]:hover, +.btn-black[disabled]:hover { + color: rgba(255, 255, 255, 0.6); +} +.btn-white.btn-active { + border-color: #ccc; + border-bottom-color: #ddd; +} +.btn-blue.btn-active { + border-color: #2f4483; +} +.btn-green.btn-active { + border-color: #0f6a53; +} +.btn-red.btn-active { + border-color: #a60811; +} +.btn-yellow.btn-active { + border-color: #be9d02; +} +.btn-black.btn-active { + border-color: #000; +} +.btn-white.btn-active, +.btn-white.btn-disabled, +.btn-white[disabled] { + background: #f2f2f2; +} +.btn-blue.btn-active, +.btn-blue.btn-disabled, +.btn-blue[disabled] { + background: #2f4483; +} +.btn-red.btn-active, +.btn-red.btn-disabled, +.btn-red[disabled] { + background: #a60811; +} +.btn-green.btn-active, +.btn-green.btn-disabled, +.btn-green[disabled] { + background: #0f6a53; +} +.btn-yellow.btn-active, +.btn-yellow.btn-disabled, +.btn-yellow[disabled] { + background: #e7be02; +} +.btn-black.btn-active, +.btn-black.btn-disabled, +.btn-black[disabled] { + background: #4d4d4d; +} +/* =Helpers +-----------------------------------------------------------------------------*/ +.group:after { + content: ""; + display: table; + clear: both; +} +.group:after { + content: ""; + display: table; + clear: both; +} +.big { + font-size: 1.25em; +} +.small { + font-size: 0.85em; +} +.small-super { + font-size: 0.65em; +} +.nowrap, +.nowrap td { + white-space: nowrap; +} +.req, +.required { + font-weight: normal; + color: #d70a16; +} +.color-gray { + color: #777; +} +.color-gray-light { + color: #999; +} +.color-black { + color: #000; +} +.color-red, +.error { + color: #d70a16; +} +.color-green, +.success { + color: #159776; +} +.text-centered { + text-align: center; +} +.text-right { + text-align: right; +} +.last { + margin-right: 0 !important; +} +.pause { + margin-bottom: 0.809em !important; +} +.end { + margin-bottom: 0 !important; +} +.normal { + font-weight: normal; +} +.bold { + font-weight: bold; +} +.italic { + font-style: italic; +} +.left { + float: left; +} +.right { + float: right; +} +/* Responsive embedded objects */ +.video-wrapper { + height: 0; + padding-bottom: 56.25%; + position: relative; + margin-bottom: 1.618em; +} +.video-wrapper iframe, +.video-wrapper object, +.video-wrapper embed { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; +} +/* =Responsive +-----------------------------------------------------------------------------*/ +@media only screen and (max-width: 767px) { + .left, + .right { + float: none; + } +} +/* string content */ +.str { + color: #dd1144; +} +/* a keyword */ +.kwd { + color: #333333; +} +/* a comment */ +.com { + color: #999988; +} +/* a type name */ +.typ { + color: #445588; +} +/* a literal value */ +.lit { + color: #445588; +} +/* punctuation */ +.pun { + color: #888; +} +/* lisp open bracket */ +.opn { + color: #333333; +} +/* lisp close bracket */ +.clo { + color: #333333; +} +/* a markup tag name */ +.tag { + color: #367ac3; +} +/* a markup attribute name */ +.atn { + color: #51a7c9; +} +/* a markup attribute value */ +.atv { + color: #709c1a; +} +/* a declaration */ +.dec { + color: #666; +} +/* a variable name */ +.var { + color: teal; +} +/* a function name */ +.fun { + color: #990000; +} +@media print { + * { + text-shadow: none !important; + color: #000 !important; + background: transparent !important; + box-shadow: none !important; + font-size: 12pt; + } + h1 { + font-size: 36pt; + } + h2 { + font-size: 24pt; + } + h3 { + font-size: 18pt; + } + h4 { + font-size: 14pt; + } + h5 { + font-size: 12pt; + } + h6 { + font-size: 12pt; + } + a, + a:visited { + text-decoration: underline; + } + a[href]:after { + content: " (" attr(href) ")"; + } + abbr[title]:after { + content: " (" attr(title) ")"; + } + a[href^="javascript:"]:after, + a[href^="#"]:after { + content: ""; + } + pre, + blockquote { + page-break-inside: avoid; + } + blockquote { + border: none; + font-style: italic; + } + img { + max-width: 100% !important; + } + select { + background: #fff !important; + } +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/web/css/kube310/kube.min.css Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,4 @@ +/* + Kube CSS-Framework 3.1 +*/ +*,*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}html,body,div,span,object,iframe,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video,h1,h2,h3,h4,h5,h6{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent}a:active,a:hover{outline:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,embed,object,iframe,audio,video,canvas,progress,meter,output,textarea{display:block}audio:not([controls]){display:none;height:0}blockquote,q{quotes:none}blockquote p:before,blockquote p:after,q:before,q:after{content:'';content:none}table{border-collapse:collapse;border-spacing:0}caption,th,td{text-align:left;vertical-align:top}thead th,thead td{font-weight:bold;vertical-align:bottom}a img,th img,td img{vertical-align:top}button,input,select,textarea{margin:0}textarea{overflow:auto;vertical-align:top;resize:vertical}button{width:auto;overflow:visible}input[type="reset"],input[type="submit"],input[type="file"],input[type="radio"],input[type="checkbox"],select,button{cursor:pointer}input[type="radio"],input[type="checkbox"]{font-size:110%;position:relative;top:-1px}input[type="search"]{-webkit-appearance:textfield}input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none}hr{display:block;height:1px;border:0;border-top:1px solid #ddd}img,video,audio,embed,object{max-width:100%}img,video,embed,object{height:auto}embed,object{height:100%}img{vertical-align:middle;-ms-interpolation-mode:bicubic}body{font-family:"Helvetica Neue",Helvetica,Tahoma,sans-serif;font-size:.85em;line-height:1.618em;background:#fff;color:#333}a{color:#3570c3}a:focus,a:hover{color:#d70a16}h1,h2,h3,h4,h5,h6{font-family:"Helvetica Neue",Helvetica,Tahoma,sans-serif;font-weight:bold;color:#222;text-rendering:optimizeLegibility}h1{font-size:2.125em;line-height:1.111em;margin-bottom:.809em}h2{font-size:1.7em;line-height:1.111em;margin-bottom:.25em}h3{font-size:1.4449999999999998em;line-height:1.333em;margin-bottom:.25em}h4{font-size:1.105em;line-height:1.5em;margin-bottom:.333em}h5{font-size:.85em;line-height:1.618em;margin-bottom:.25em}h6{font-size:.7224999999999999em;text-transform:uppercase;line-height:1.618em;margin-bottom:.25em}hgroup h1:first-child,hgroup h2:first-child,hgroup h3:first-child,hgroup h4:first-child,hgroup h5:first-child{margin-bottom:0}h1.subheading,h2.subheading,h3.subheading,h4.subheading,h5.subheading{margin-top:0;font-weight:300}h1.subheading{font-size:1.4166666666666667em}h2.subheading{font-size:1.1333333333333333em}h3.subheading{font-size:.9633333333333333em}h4.subheading{margin-top:.2em;font-size:.9208333333333334em}h5.subheading{margin-top:.2em;font-size:.7555555555555555em}.lead{font-size:1.35em;font-weight:300;line-height:1.35em;margin-bottom:.809em}p,ul,ol,dl,dd,dt,blockquote,td,th{line-height:1.618em}ul,ol,ul ul,ol ol,ul ol,ol ul{margin:0 0 0 3.236em}ol ol li{list-style-type:lower-alpha}ol ol ol li{list-style-type:lower-roman}p,ul,ol,dl,blockquote,hr,pre,table,form,fieldset,figure,address{margin-bottom:1.618em}blockquote{position:relative;font-style:italic;margin-left:2.427em;padding-left:1.618em;border-left:2px solid rgba(0,0,0,0.15)}blockquote p{margin-bottom:.5em}blockquote small,cite{color:rgba(0,0,0,0.4);font-style:italic}small,blockquote cite{font-size:.85em;line-height:1}address{font-style:normal}dl dt{font-weight:bold}dd{margin-left:1.0786666666666667em}s,del{text-decoration:line-through}abbr[title],dfn[title]{border-bottom:1px dotted #000;cursor:help}strong,b{font-weight:bold}em,i{font-style:italic}sub,sup{font-size:.65em;line-height:0;position:relative}sup{top:-0.5em}sub{bottom:-0.25em}figcaption{font-size:.85em;font-style:italic}ins,u{text-decoration:underline}mark{background-color:#fddc43;color:#0f0f0f;text-decoration:none}pre,code,kbd,samp,var,output{font-size:90%;font-style:normal;font-family:Menlo,Monaco,Consolas,"Courier New",monospace}pre{font-size:90%;line-height:1.45em;color:#333;background:#f6f6f6;padding:1.618em;overflow:auto}code,samp,kbd{padding:3px 6px 2px 6px;display:inline-block;line-height:1;border-radius:2px}code{background:#f6f6f6;border:1px solid #ddd}pre code{font-size:100%;border:0;padding:0;background:0;line-height:1.618em}var{color:rgba(0,0,0,0.5)}samp{background:#e9effa;border:1px solid #c5d4f0}kbd{background:#0f0f0f;color:rgba(255,255,255,0.85);white-space:nowrap}button:active,button:focus{outline:0}button,input,textarea,select{font-family:"Helvetica Neue",Helvetica,Tahoma,sans-serif;font-size:1em;box-shadow:none}textarea,select[multiple],select[multiple="multiple"]{padding:.3em .35em;line-height:1.35em;width:99.9%}input[type="text"],input[type="password"],input[type="email"],input[type="url"],input[type="phone"],input[type="tel"],input[type="number"],input[type="datetime"],input[type="date"],input[type="month"],input[type="color"],input[type="time"],input[type="search"],input[type="datetime-local"],button,input[type="submit"],input[type="reset"]{padding:.3em .35em;line-height:1.618em;border-radius:0;outline:0}select[multiple],select[multiple="multiple"],textarea,input[type="text"],input[type="password"],input[type="email"],input[type="url"],input[type="phone"],input[type="tel"],input[type="number"],input[type="datetime"],input[type="date"],input[type="month"],input[type="color"],input[type="time"],input[type="search"],input[type="datetime-local"]{background:#fff;border:1px solid #bbbcc0;position:relative;z-index:2;-webkit-appearance:none}button,input[type="submit"],input[type="reset"]{font-weight:400;padding:.3em 1.3em;border:1px solid transparent;color:#333;background:#eeeded;cursor:pointer;border-radius:2px;-webkit-appearance:none}button:hover,input[type="submit"]:hover,input[type="reset"]:hover{color:rgba(0,0,0,0.5);background:#dbdada}button[disabled],input[type="submit"][disabled],input[type="reset"][disabled]{background:0;background:#dbdada;cursor:default;color:rgba(0,0,0,0.5)}button[disabled]:hover,input[type="submit"][disabled]:hover,input[type="reset"][disabled]:hover{color:rgba(0,0,0,0.5)}input::-moz-focus-inner,button::-moz-focus-inner{border:0;padding:0}input[type="range"]{position:relative;top:3px}input[disabled]{background:#f4f4f4;border:1px solid #ddd;color:rgba(0,0,0,0.4)}select{margin-bottom:0!important}fieldset{padding:1.618em;margin-bottom:1.618em;border:1px solid #ddd}fieldset *:last-child{margin-bottom:0!important}legend{font-weight:bold;padding:0 1em;margin-left:-1em}table{max-width:100%;width:100%;empty-cells:show}table caption{text-transform:uppercase;padding:0 1.0786666666666667em;color:rgba(0,0,0,0.4);font-size:.85em}table th,table td{border-bottom:1px solid #eee;padding:.809em 1.0786666666666667em}table tfoot th,table tfoot td{background:#f4f4f4}@media(min-width:768px) and (max-width:979px){h1{font-size:2.125em;line-height:1.125}h2{font-size:1.7em;line-height:1.25}h3{font-size:1.4449999999999998em;line-height:1.25}h4{font-size:1.105em;line-height:1.22222222}h5{font-size:.85em}h6{font-size:.7224999999999999em}h1.subheading{font-size:1.4166666666666667em}h2.subheading{font-size:1.1333333333333333em}h3.subheading{font-size:.9633333333333333em}h4.subheading{font-size:.9208333333333334em}h5.subheading{font-size:.7555555555555555em}}@media(max-width:767px){h1{font-size:1.7em;line-height:1.25}h2{font-size:1.275em;line-height:1.15384615}h3{font-size:1.16875em;line-height:1.13636364}h4{font-size:.9562499999999999em;line-height:1.11111111}h5{font-size:.85em}h6{font-size:.7224999999999999em}h1.subheading{font-size:1.1333333333333333em}h2.subheading{font-size:.85em}h3.subheading{font-size:.7791666666666667em}h4.subheading{font-size:.796875em}h5.subheading{font-size:.7555555555555555em}.lead{font-size:1.2em}ul,ol,ul ul,ol ol,ul ol,ol ul{margin-left:1.618em}blockquote{margin-left:0}}.units-container:after,.units-row:after{content:"";display:table;clear:both}.units-container:after,.units-row:after{content:"";display:table;clear:both}.units-container{padding-top:1px;margin-top:-1px}.units-row{margin-bottom:1.618em}.width-100,.unit-100{width:100%}.width-90,.unit-90{width:90%}.width-80,.unit-80{width:80%}.width-75,.unit-75{width:75%}.width-70,.unit-70{width:70%}.width-66,.unit-66{width:66.6%}.width-65,.unit-65{width:65%}.width-60,.unit-60{width:60%}.width-50,.unit-50{width:50%}.width-40,.unit-40{width:40%}.width-35,.unit-35{width:35%}.width-33,.unit-33{width:33.3%}.width-30,.unit-30{width:30%}.width-25,.unit-25{width:25%}.width-20,.unit-20{width:20%}.width-10,.unit-10{width:10%}input.width-100,input.unit-100{width:98.6%}textarea.width-100,textarea.unit-100{width:98.8%}select.width-100,select.unit-100{width:99.4%}.units-row .unit-90,.units-row .unit-80,.units-row .unit-75,.units-row .unit-70,.units-row .unit-66,.units-row .unit-65,.units-row .unit-60,.units-row .unit-50,.units-row .unit-40,.units-row .unit-35,.units-row .unit-33,.units-row .unit-30,.units-row .unit-25,.units-row .unit-20,.units-row .unit-10{float:left;margin-left:3%}.units-row .unit-90:first-child,.units-row .unit-80:first-child,.units-row .unit-75:first-child,.units-row .unit-70:first-child,.units-row .unit-66:first-child,.units-row .unit-65:first-child,.units-row .unit-60:first-child,.units-row .unit-50:first-child,.units-row .unit-40:first-child,.units-row .unit-35:first-child,.units-row .unit-33:first-child,.units-row .unit-30:first-child,.units-row .unit-25:first-child,.units-row .unit-20:first-child,.units-row .unit-10:first-child{margin-left:0}.units-row .unit-90{width:89.7%}.units-row .unit-80{width:79.4%}.units-row .unit-75{width:74.25%}.units-row .unit-70{width:69.1%}.units-row .unit-66{width:65.66666666666666%}.units-row .unit-65{width:65.66666666666666%}.units-row .unit-60{width:58.800000000000004%}.units-row .unit-50{width:48.5%}.units-row .unit-40{width:38.2%}.units-row .unit-35{width:31.333333333333332%}.units-row .unit-33{width:31.333333333333332%}.units-row .unit-30{width:27.9%}.units-row .unit-25{width:22.75%}.units-row .unit-20{width:17.6%}.units-row .unit-10{width:7.3%}.unit-push-90,.unit-push-80,.unit-push-75,.unit-push-70,.unit-push-66,.unit-push-65,.unit-push-60,.unit-push-50,.unit-push-40,.unit-push-35,.unit-push-33,.unit-push-30,.unit-push-25,.unit-push-20,.unit-push-10{position:relative}.unit-push-90{left:92.7%}.unit-push-80{left:82.4%}.unit-push-75{left:77.25%}.unit-push-70{left:72.1%}.unit-push-66{left:68.66666666666666%}.unit-push-65{left:68.66666666666666%}.unit-push-60{left:61.800000000000004%}.unit-push-50{left:51.5%}.unit-push-40{left:41.2%}.unit-push-35{left:34.33333333333333%}.unit-push-33{left:34.33333333333333%}.unit-push-30{left:30.9%}.unit-push-25{left:25.75%}.unit-push-20{left:20.6%}.unit-push-10{left:10.3%}.units-row .unit-push-right{float:right}.centered,.unit-centered{float:none!important;margin:0 auto!important}.unit-padding{padding:1.618em}.units-padding .unit-100,.units-padding .unit-90,.units-padding .unit-80,.units-padding .unit-75,.units-padding .unit-70,.units-padding .unit-66,.units-padding .unit-65,.units-padding .unit-60,.units-padding .unit-50,.units-padding .unit-40,.units-padding .unit-35,.units-padding .unit-33,.units-padding .unit-30,.units-padding .unit-25,.units-padding .unit-20,.units-padding .unit-10{padding:1.618em}.units-split .unit-90,.units-split .unit-80,.units-split .unit-75,.units-split .unit-70,.units-split .unit-66,.units-split .unit-65,.units-split .unit-60,.units-split .unit-50,.units-split .unit-40,.units-split .unit-35,.units-split .unit-33,.units-split .unit-30,.units-split .unit-25,.units-split .unit-20,.units-split .unit-10{margin-left:0}.units-split .unit-90{width:90%}.units-split .unit-80{width:80%}.units-split .unit-75{width:75%}.units-split .unit-70{width:70%}.units-split .unit-66{width:66.6%}.units-split .unit-65{width:65%}.units-split .unit-60{width:60%}.units-split .unit-50{width:50%}.units-split .unit-40{width:40%}.units-split .unit-35{width:35%}.units-split .unit-33{width:33.3%}.units-split .unit-30{width:30%}.units-split .unit-25{width:25%}.units-split .unit-20{width:20%}.units-split .unit-10{width:10%}@media only screen and (max-width:767px){.mobile-width-100{width:100%}.units-row .unit-90,.units-row .unit-80,.units-row .unit-75,.units-row .unit-70,.units-row .unit-66,.units-row .unit-65,.units-row .unit-60,.units-row .unit-50,.units-row .unit-40,.units-row .unit-35,.units-row .unit-33,.units-row .unit-30,.units-row .unit-25,.units-row .unit-20,.units-row .unit-10{width:100%;float:none;margin-left:0;margin-bottom:1.618em}.unit-push-90,.unit-push-80,.unit-push-75,.unit-push-70,.unit-push-66,.unit-push-65,.unit-push-60,.unit-push-50,.unit-push-40,.unit-push-35,.unit-push-33,.unit-push-30,.unit-push-25,.unit-push-20,.unit-push-10{left:0}.units-row .unit-push-right{float:none}.units-mobile-50 .unit-90,.units-mobile-50 .unit-80,.units-mobile-50 .unit-75,.units-mobile-50 .unit-70,.units-mobile-50 .unit-66,.units-mobile-50 .unit-65,.units-mobile-50 .unit-60,.units-mobile-50 .unit-40,.units-mobile-50 .unit-30,.units-mobile-50 .unit-35,.units-mobile-50 .unit-33,.units-mobile-50 .unit-25,.units-mobile-50 .unit-20,.units-mobile-50 .unit-10{float:left;margin-left:3%;width:48.5%}.units-mobile-50 .unit-90:first-child,.units-mobile-50 .unit-80:first-child,.units-mobile-50 .unit-75:first-child,.units-mobile-50 .unit-70:first-child,.units-mobile-50 .unit-66:first-child,.units-mobile-50 .unit-65:first-child,.units-mobile-50 .unit-60:first-child,.units-mobile-50 .unit-40:first-child,.units-mobile-50 .unit-35:first-child,.units-mobile-50 .unit-30:first-child,.units-mobile-50 .unit-33:first-child,.units-mobile-50 .unit-25:first-child,.units-mobile-50 .unit-20:first-child,.units-mobile-50 .unit-10:first-child{margin-left:0}}.blocks-2,.blocks-3,.blocks-4,.blocks-5,.blocks-6{padding-left:0;list-style:none;margin-left:-3%}.blocks-2:after,.blocks-3:after,.blocks-4:after,.blocks-5:after,.blocks-6:after{content:"";display:table;clear:both}.blocks-2:after,.blocks-3:after,.blocks-4:after,.blocks-5:after,.blocks-6:after{content:"";display:table;clear:both}.blocks-2 li,.blocks-3 li,.blocks-4 li,.blocks-5 li,.blocks-6 li{height:auto;float:left;margin-bottom:1.618em;margin-left:3%}.blocks-2>li{width:47%}.blocks-3>li{width:30.333333333333332%}.blocks-4>li{width:22%}.blocks-5>li{width:17%}.blocks-6>li{width:13.666666666666666%}.block-first{clear:both}@media only screen and (max-width:767px){.blocks-2,.blocks-3,.blocks-4,.blocks-5,.blocks-6{margin-left:0;margin-bottom:1.618em}.blocks-2>li,.blocks-3>li,.blocks-4>li,.blocks-5>li,.blocks-6>li{float:none;margin-left:0;width:100%}.blocks-mobile-50>li,.blocks-mobile-33>li{float:left;margin-left:3%}.blocks-mobile-33,.blocks-mobile-50{margin-left:-3%}.blocks-mobile-50>li{width:47%}.blocks-mobile-33>li{width:30.333333333333332%}}table.table-bordered td,table.table-bordered th{border:1px solid #ddd}table.table-simple td,table.table-simple th,table.table-simple caption{border:0;padding-left:0}table.table-flat td,table.table-flat th,table.table-flat caption{border:0;padding:0}table.table-striped tbody tr:nth-child(odd) td{background-color:#f8f8f8}table.table-hovered tbody tr:hover td{background-color:#f4f4f4}.table-container{width:100%;overflow:auto;margin-bottom:1.618em}.table-container table{margin-bottom:0}.table-container::-webkit-scrollbar{-webkit-appearance:none;width:14px;height:14px}.table-container::-webkit-scrollbar-thumb{border-radius:8px;border:3px solid #fff;background-color:rgba(0,0,0,0.3)}.forms label{display:block;margin-bottom:1.0786666666666667em}.forms input[type="text"],.forms input[type="password"],.forms input[type="email"],.forms input[type="url"],.forms input[type="phone"],.forms input[type="tel"],.forms input[type="number"],.forms input[type="datetime"],.forms input[type="date"],.forms input[type="month"],.forms input[type="color"],.forms input[type="time"],.forms input[type="search"],.forms input[type="range"],.forms input[type="file"],.forms input[type="datetime-local"],.forms textarea,.forms select{display:block}.forms-inline-list input[type="text"],.forms-inline-list input[type="password"],.forms-inline-list input[type="email"],.forms-inline-list input[type="url"],.forms-inline-list input[type="phone"],.forms-inline-list input[type="tel"],.forms-inline-list input[type="number"],.forms-inline-list input[type="datetime"],.forms-inline-list input[type="date"],.forms-inline-list input[type="month"],.forms-inline-list input[type="color"],.forms-inline-list input[type="time"],.forms-inline-list input[type="search"],.forms-inline-list input[type="range"],.forms-inline-list input[type="file"],.forms-inline-list input[type="datetime-local"],.forms-inline-list textarea,.forms-inline-list select{display:inline-block}.forms-list,.forms-inline-list{margin:0;padding:0;margin-bottom:1.0786666666666667em;list-style:none}.forms-list label,.forms-inline-list li,.forms-inline-list li label{display:inline-block;margin-bottom:0}.forms-inline-list li label{margin-right:.809em}.forms-inline-list li{margin-bottom:3px}.forms-list li{margin-bottom:6px}.forms-desc{margin-top:4px;color:rgba(0,0,0,0.4);font-size:.85em;line-height:1.4em}input[type="text"],input[type="password"],input[type="email"],input[type="url"],input[type="phone"],input[type="tel"],input[type="number"],input[type="datetime"],input[type="date"],input[type="month"],input[type="color"],input[type="time"],input[type="search"],input[type="datetime-local"],textarea{-moz-transition:border ease .5s;transition:border ease .5s}.error,.success{font-weight:normal;font-size:.85em}input.input-error,textarea.input-error,select.input-error,.input-error{border-color:#d70a16;box-shadow:0 0 0 2px rgba(215,10,22,0.3),0 1px 2px rgba(0,0,0,0.2) inset}input.input-success,textarea.input-success,select.input-success,.input-success{border-color:#159776;box-shadow:0 0 0 2px rgba(21,151,118,0.3),0 1px 2px rgba(0,0,0,0.2) inset}input.input-gray,textarea.input-gray,select.input-gray,.input-gray{border-color:#ccc;box-shadow:0 0 0 2px rgba(204,204,204,0.3),0 1px 2px rgba(0,0,0,0.2) inset}input[type="text"]:focus,input[type="password"]:focus,input[type="email"]:focus,input[type="url"]:focus,input[type="phone"]:focus,input[type="tel"]:focus,input[type="number"]:focus,input[type="datetime"]:focus,input[type="date"]:focus,input[type="month"]:focus,input[type="color"]:focus,input[type="time"]:focus,input[type="search"]:focus,input[type="datetime-local"]:focus,textarea:focus{outline:0;border-color:#5ca9e4;box-shadow:0 0 0 2px rgba(70,161,231,0.3),0 1px 2px rgba(0,0,0,0.2) inset}input.input-search,input[type="search"]{padding-right:.5em;padding-left:.5em;margin-bottom:0;border-radius:15px}.input-big,.input-small,.input-small-super{padding:.3em 1.75em}.input-big{font-size:1.25em}.input-small{font-size:.85em}.input-small-super{font-size:.65em}.input-groups{display:table!important}.input-groups input{width:100%}.input-groups input,.input-groups .input-append,.input-groups .input-prepend,.input-groups .btn-append{display:table-cell!important}.input-groups .btn-append,.input-groups .input-append,.input-groups .input-prepend{width:1%;vertical-align:middle}.input-groups .input-append,.input-groups .input-prepend{background-color:#eee;border:1px solid #ccc;margin:0;padding:.35em .75em .25em .75em;color:rgba(0,0,0,0.5);line-height:1.618em;font-size:.85em;white-space:nowrap}.input-groups .input-prepend{border-right:0}.input-groups .input-append{position:relative;z-index:1;border-left:none}.input-groups .btn-append .btn{display:block;height:auto;border-radius:0 2px 2px 0}@media only screen and (max-width:767px){.forms-list label{display:inline-block}}.navbar{margin-bottom:1.618em}.navbar:after{content:"";display:table;clear:both}.navbar:after{content:"";display:table;clear:both}.navbar-left{float:left}.navbar-right{float:right}.navbar ul{list-style:none;margin:0}.navbar ul:after{content:"";display:table;clear:both}.navbar ul:after{content:"";display:table;clear:both}.navbar ul li{float:left;margin-right:1.618em}.navbar-right ul li{margin-right:0;margin-left:1.618em}.navbar ul li a,.navbar ul li span{display:block;text-decoration:none}.navbar ul li a:hover{color:#d70a16}.navbar ul li.active a,.navbar ul li span{text-decoration:none;cursor:text;color:rgba(0,0,0,0.4)}.fullwidth ul{width:100%}.fullwidth li{float:none!important;margin:0;display:table-cell;width:1%;text-align:center}.fullwidth li a,.fullwidth li span{display:block}.nav{margin-bottom:1.618em}.nav ul{list-style:none;margin:0}.nav ul li ul{margin-left:2em;font-size:.95em}.nav ul li a,.nav ul li span{display:block;padding:5px 0}.nav ul li ul li a,.nav ul li ul li span{padding:4px 0}.nav ul li a{text-decoration:none}.nav ul li a:hover{color:#d70a16;text-decoration:underline}.nav ul li.active a,.nav ul li span{text-decoration:none;cursor:text;color:rgba(0,0,0,0.4)}.nav-stroked li{border-bottom:1px solid #eee}.nav-stroked li:last-child{border-bottom:0}.nav-stacked ul{border:1px solid #eee;border-bottom:0}.nav-stacked ul li{border-bottom:1px solid #eee}.nav-stacked ul li a,.nav-stacked ul li span{padding:5px 10px}.nav-stacked ul li a:hover{background-color:#f5f5f5}.nav-stats li{position:relative}.nav-stats li a,.nav-stats li span{padding-right:50px}.nav-stats sup{position:absolute;top:50%;right:0;color:rgba(0,0,0,0.4)}.nav-stats.nav-stacked sup{right:.5em}.breadcrumbs{margin-bottom:1.618em}.breadcrumbs:after{content:"";display:table;clear:both}.breadcrumbs:after{content:"";display:table;clear:both}.breadcrumbs ul{font-size:.9em;color:rgba(0,0,0,0.4);list-style:none;margin:0}.breadcrumbs ul:after{content:"";display:table;clear:both}.breadcrumbs ul:after{content:"";display:table;clear:both}.breadcrumbs ul li{float:left;margin-right:3px}.breadcrumbs li+li:before{content:" > ";color:#aaa;font-size:12px;margin:0 3px;position:relative;top:-1px}.breadcrumbs-sections li+li:before{content:" | ";top:0}.breadcrumbs-path li+li:before{content:" / ";top:0}.breadcrumbs ul li a{color:#0f0f0f;text-decoration:none}.breadcrumbs ul li.active a,.breadcrumbs ul li.active a:hover{text-decoration:none;cursor:text;color:rgba(0,0,0,0.4)}.breadcrumbs ul li a:hover{color:#0f0f0f;text-decoration:underline}.pagination{position:relative;left:-9px;margin-left:0;list-style:none}.pagination:after{content:"";display:table;clear:both}.pagination:after{content:"";display:table;clear:both}.pagination li{float:left;margin-right:2px}.pagination li a,.pagination li span{display:block;padding:7px 9px;line-height:1;border-radius:2px;color:#0f0f0f;text-decoration:none}.pagination li span,.pagination li.active a,.pagination li.active a:hover{border:1px solid #ddd;background:0;cursor:text}.pagination li a:focus,.pagination li a:hover{text-decoration:none;background-color:#0f0f0f;color:#fff;border:1px solid transparent}@media only screen and (max-width:767px){.navbar-left,.navbar-right,.navbar ul li,.navbar-right ul li{float:none;text-align:center}.navbar ul li,.navbar-right ul li{margin-left:0;margin-right:0}.fullwidth ul{width:auto}.fullwidth li{display:block;width:auto}}.btn{display:inline-block;vertical-align:top;font-family:"Helvetica Neue",Helvetica,Tahoma,sans-serif;font-size:1em;font-weight:400;line-height:1.618em;text-align:center;text-decoration:none;color:#333;margin:0;border:1px solid transparent;border-radius:2px;box-shadow:none;cursor:pointer;background:#eeeded;padding:.3em 1.3em}.btn:hover{color:rgba(0,0,0,0.5);background:#dbdada}.btn::-moz-focus-inner{border:0;padding:0}.btn-big{font-size:1.25em}.btn-small{font-size:.85em}.btn-small-super{font-size:.65em;vertical-align:baseline}.btn-outline{background:0;border:1px solid #ddd}.btn-blue,.btn-red,.btn-green,.btn-black{color:rgba(255,255,255,0.9)}.btn-blue:hover,.btn-red:hover,.btn-green:hover,.btn-black:hover{color:rgba(255,255,255,0.6)}.btn-white{background:#fff}.btn-white:hover{background:#f2f2f2}.btn-white.btn-outline{background:0;border-color:rgba(255,255,255,0.85);color:rgba(255,255,255,0.85)}.btn-white.btn-outline:hover{color:rgba(0,0,0,0.9);background:#fff}.btn-blue.btn-outline{background:0;border-color:#3d58a8;color:#3d58a8}.btn-blue.btn-outline:hover{color:rgba(255,255,255,0.9);background:#3d58a8}.btn-red.btn-outline{background:0;border-color:#d70a16;color:#d70a16}.btn-red.btn-outline:hover{color:rgba(255,255,255,0.9);background:#d70a16}.btn-green.btn-outline{background:0;border-color:#159776;color:#159776}.btn-green.btn-outline:hover{color:rgba(255,255,255,0.9);background:#159776}.btn-black.btn-outline{background:0;border-color:#0f0f0f;color:#0f0f0f}.btn-black.btn-outline:hover{color:rgba(255,255,255,0.9);background:#0f0f0f}.btn-blue{background:#3d58a8}.btn-blue:hover{background:#2f4483}.btn-red{background:#d70a16}.btn-red:hover{background:#a60811}.btn-green{background:#159776}.btn-green:hover{background:#0f6a53}.btn-yellow{background:#fddc43;color:#000}.btn-yellow:hover{background:#e7be02}.btn-black{background:#000}.btn-black:hover{background:#333}.btn-active,.btn[disabled],.btn-disabled{background:0;background:#dbdada;color:rgba(0,0,0,0.5)}.btn-active:hover,.btn[disabled]:hover,.btn-disabled:hover{color:rgba(0,0,0,0.5)}.btn-active{border-top-color:#aaa;border-right-color:#bbb;border-left-color:#bbb;border-bottom-color:#ccc;box-shadow:0 1px 3px rgba(0,0,0,0.2) inset}.btn-outline.btn[disabled],.btn-outline.btn-disabled{background:0;box-shadow:none;color:rgba(0,0,0,0.3);border:1px solid rgba(0,0,0,0.1)}.btn-outline.btn-active{background:0;color:rgba(0,0,0,0.4);border-top-color:#ccc;border-right-color:#ccc;border-left-color:#ccc;border-bottom-color:#ddd;box-shadow:0 1px 3px rgba(0,0,0,0.2) inset}.btn[disabled],.btn-disabled{cursor:default;box-shadow:none}.btn-blue.btn-active,.btn-red.btn-active,.btn-green.btn-active,.btn-black.btn-active{box-shadow:0 1px 3px rgba(0,0,0,0.5) inset}.btn-blue.btn-active,.btn-red.btn-active,.btn-green.btn-active,.btn-black.btn-active,.btn-blue.btn-disabled,.btn-red.btn-disabled,.btn-green.btn-disabled,.btn-black.btn-disabled,.btn-blue[disabled],.btn-red[disabled],.btn-green[disabled],.btn-black[disabled]{color:rgba(255,255,255,0.6)}.btn-blue.btn-active:hover,.btn-red.btn-active:hover,.btn-green.btn-active:hover,.btn-black.btn-active:hover,.btn-blue.btn-disabled:hover,.btn-red.btn-disabled:hover,.btn-green.btn-disabled:hover,.btn-black.btn-disabled:hover,.btn-blue[disabled]:hover,.btn-red[disabled]:hover,.btn-green[disabled]:hover,.btn-black[disabled]:hover{color:rgba(255,255,255,0.6)}.btn-white.btn-active{border-color:#ccc;border-bottom-color:#ddd}.btn-blue.btn-active{border-color:#2f4483}.btn-green.btn-active{border-color:#0f6a53}.btn-red.btn-active{border-color:#a60811}.btn-yellow.btn-active{border-color:#be9d02}.btn-black.btn-active{border-color:#000}.btn-white.btn-active,.btn-white.btn-disabled,.btn-white[disabled]{background:#f2f2f2}.btn-blue.btn-active,.btn-blue.btn-disabled,.btn-blue[disabled]{background:#2f4483}.btn-red.btn-active,.btn-red.btn-disabled,.btn-red[disabled]{background:#a60811}.btn-green.btn-active,.btn-green.btn-disabled,.btn-green[disabled]{background:#0f6a53}.btn-yellow.btn-active,.btn-yellow.btn-disabled,.btn-yellow[disabled]{background:#e7be02}.btn-black.btn-active,.btn-black.btn-disabled,.btn-black[disabled]{background:#4d4d4d}.group:after{content:"";display:table;clear:both}.group:after{content:"";display:table;clear:both}.big{font-size:1.25em}.small{font-size:.85em}.small-super{font-size:.65em}.nowrap,.nowrap td{white-space:nowrap}.req,.required{font-weight:normal;color:#d70a16}.color-gray{color:#777}.color-gray-light{color:#999}.color-black{color:#000}.color-red,.error{color:#d70a16}.color-green,.success{color:#159776}.text-centered{text-align:center}.text-right{text-align:right}.last{margin-right:0!important}.pause{margin-bottom:.809em!important}.end{margin-bottom:0!important}.normal{font-weight:normal}.bold{font-weight:bold}.italic{font-style:italic}.left{float:left}.right{float:right}.video-wrapper{height:0;padding-bottom:56.25%;position:relative;margin-bottom:1.618em}.video-wrapper iframe,.video-wrapper object,.video-wrapper embed{position:absolute;top:0;left:0;width:100%;height:100%}@media only screen and (max-width:767px){.left,.right{float:none}}.str{color:#d14}.kwd{color:#333}.com{color:#998}.typ{color:#458}.lit{color:#458}.pun{color:#888}.opn{color:#333}.clo{color:#333}.tag{color:#367ac3}.atn{color:#51a7c9}.atv{color:#709c1a}.dec{color:#666}.var{color:teal}.fun{color:#900}@media print{*{text-shadow:none!important;color:#000!important;background:transparent!important;box-shadow:none!important;font-size:12pt}h1{font-size:36pt}h2{font-size:24pt}h3{font-size:18pt}h4{font-size:14pt}h5{font-size:12pt}h6{font-size:12pt}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{page-break-inside:avoid}blockquote{border:0;font-style:italic}img{max-width:100%!important}select{background:#fff!important}} \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/web/css/minimal.css Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,142 @@ +div#cp-content > h1 { overflow-x:auto } +th, td { vertical-align:baseline } /* override Kube setting */ +tr.ygtvrow td { vertical-align:top } +table td {padding:0.2em 0.2em} +table th, table.table-flat th {padding:2px;margin-top:1em;border-top-width:2px} +/* body {margin-top:1em} */ +td input { margin-left:0.5ex; } +td input:first-child { margin-left:0; } +.input-groups span.btn-append { padding-left:0.5ex; } +.input-groups span.btn-append:first-child { padding-left:0; } +li { margin-top:0.25em; } +/* li:first-child { margin-top:0; } /1* what is this for? *1/ */ +li.pure-menu-item { margin-top:0 } +.input-groups input[type='text'] {line-height:1.618em;vertical-align:middle} +address.footer img {padding-left:1ex;height:1.5em} + +.btn { border-radius:0px} +.input-groups .btn-append .btn { border-radius:0px; } +input[type='submit'], input[type='reset'], input[type='button'] { border-radius:0px; } + +/* these are to override kube.css */ +a { color:#800; text-decoration:none; border-bottom:1px solid transparent } +a:hover { color:#a00; border-bottom:1px solid currentColor; text-decoration:none } +a.r_undef { color:#860; } +.editor { border:solid 1px #BBB} +#src.editor { font-family:Source Code Pro; font-size:90% } +button:focus, div.output-box:focus, #src.editor.ace_focus { + outline:none; + border-color:#5ca9e4; + box-shadow:0px 0px 2px 2px rgba(70, 161, 231, 0.3), 0 1px 2px rgba(0, 0, 0, 0.2) inset; + } +div.output-box {border:solid #bbb 1px;padding:1ex;resize:vertical;overflow:scroll} +.warning{color:green} +.error{color:red} +nav.navbar { vertical-align:middle;margin:0em} +.pure-menu-horizontal { margin-bottom:1ex } /* for coloured menu bar */ +/* header form { vertical-align:middle;margin:0em} + header a { color:white } + header { background:#333;color:white; + padding-top:1em;padding-bottom:1em;padding-left:2em;padding-right:2em} + */ +header { margin-top:0em; margin-bottom:1em; } +.group:after { display:block; } +/* .code { font-size:90% } */ +code { color:inherit } +form { margin-bottom:0.5em } +pre { padding:0.5em; border:solid 1px #ccc; } +/* .tooltipped:hover .tooltip { opacity:1; transition-delay:1s} + .tooltip { top:1.5em; left:1.5em; padding:0.1em; position:relative; + background-color:#f0f0f0; color:black; border:1px solid gray; + text-decoration:none; width:auto; + opacity:0; transition:opacity 0.5s; } +*/ +.tag { color:black; font-style:italic } +table td.object { padding-left:0.2em } +th.sorted{border-bottom:1px solid currentColor} +th.resort a {color:black} +th.resort a:hover {color:#a00;border-bottom-color:transparent} +th.resort:hover{border-bottom:1px solid #a00} +.msg_informational{color:#070} +.msg_warning{color:#c00} +.msg_error{color:#c00; font-weight:bold} + +/* I don't know what these are for */ +/* option.change { color: red; } */ +/* .cliopatria input.gaction { width: 7em; } */ + +/* I don't like these */ +/* td.int { text-align:right; padding-right:5px; } */ +/* td.empty, td.int_c { text-align:center; } */ + +table.block td.total { border-width: 1px 0 0 0; font-weight: bold; } +/* table.block th.total */ +/* { text-align: right; */ +/* padding-right: 7px; */ +/* border-width: 0 1px 0 1px; */ +/* border-style: solid; */ +/* color:black; */ +/* background: transparent; */ +/* } */ +/* table.block th.p_name */ +/* { text-align: right; */ +/* background: transparent; */ +/* border-width: 0 1px 0 1px; */ +/* } */ + +/* I don't like these alignment fiddles */ +/* table.form { border-width: 0px; margin-left: 1cm; } */ +/* table.form th.label { text-align: right; padding: 0 3px; } */ + +/* This is also a bit unnecessary */ +/* table.form { border-top:solid 1px #ddd; border-bottom:solid 1px #ddd } */ + +/* not sure about this one: */ +/* table.form td, table.form th { border-bottom:solid 0px transparent } */ +tr.buttons > td { border-bottom:solid 0px transparent; padding-top:1ex } + +div.local-login form input { margin-top:1ex; margin-right:1ex} + +.pagination li a { border: solid 1px transparent } +.pagination { padding:0px; margin:0px; left:auto; display:inline-block } +.pagination li span.inactive { border-color:transparent; color:#ccc } +img.in-text { width:1.1em; vertical-align:middle } +img.in-text + img.in-text { margin-left:1ex } + +.navbar { + border-radius: 0px; border-width:0px; + background-color:#eee; border-color:#ddd; + min-height:1em; margin-bottom:1.1ex +} +.navbar a.navbar-brand { border:none; padding: 1ex 1ex; height: 2.2em } +.navbar div.container { padding:0px; margin-left:0px; width:100% } +ul.navbar-nav { padding:0px } +ul.navbar-nav>li { margin:0px } +ul.navbar-nav>li>a { color:black; padding:1ex 2ex; line-height:2.2em; border:none } +ul.navbar-nav>li>a:focus { color:black; background-color:#ccc } +ul.navbar-nav>li>a:hover { color:black; background-color:#ccc } +ul.navbar-nav>li>a>span { display:inline; color:black; vertical-align:baseline } +ul.dropdown-menu>li { display:block; width:100%; margin:0px } +ul.dropdown-menu>li>a { color:black; padding:1ex;padding-left:2ex;line-height: 1.6em; border:none } +ul.dropdown-menu>li>a:focus { text-decoration:none; color:black; background-color:#ccc } +ul.dropdown-menu>li>a:hover { text-decoration:none; color:black; background-color:#ccc } +.dropdown-menu { padding:0ex; background-color:#eee; border-color:#ddd; zoom:inherit;font-size:inherit } +.dropdown:hover .dropdown-menu { display:block } +span.caret1 { margin-left:1ex } +/* span.icon-bar { background-color:#444 } */ +.navbar-toggle { line-height:1.6em; border:none; margin:0px; margin-right:15px; padding:1ex 2ex; border-radius:0px} +/* .navbar-toggle .icon-bar + .icon-bar { margin-top:2px } */ +.navbar-right { margin-right:0px; margin:0px } + +/* stuff for wide navbar */ +header { background-color:#eee } +.navbar { background-color:transparent } +.navbar-right { padding:0px } + +/* put search results back together */ +.yui-ac-content ul li span.acmatch { display:inline; text-decoration:underline; color:#38d } +.yui-ac-content ul li { float:none } + +pre { border-radius:0px } +span.rdf_list { border:none; padding:0px; background-color:transparent } +div.crawler {margin-bottom:1em}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/web/css/minimal_doc.css Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,110 @@ +/* h1.title { background: #ddd; color: black; padding: 0.2em; } */ +ul.navbar-nav { padding:0px } +h1.title { background: none; color: black; text-align: left } +div.navhdr { margin-bottom:1em; border: solid #eee 1px; background-color: #f8f8f8; border-radius:1ex} +/* div.navhdr span.search-in { border: none; padding:3px} */ +/* div.navhdr span.search-match { border: none; border-left: solid 1px #ddd; padding:2px} */ +div.navhdr div.search-options { margin-top: 4px; } +div.navhdr div.search-options input { -webkit-transform: scale(1); top: 0px; margin-left:1ex; } +div.navhdr div.search-options input:first-child { margin-left:0ex; } +div.navhdr div.jump input:first-child { margin-right:1ex } +div.search-options { font-size:80% } +div.navhdr div.search-options span { border:none; padding:3px; border-left: solid 1px #eee } +div.navhdr input#for { margin-right: 1ex; width: 30ex } +div.navhdr form#search-form { margin-bottom: 0px } + +div.navtree { + overflow-x: visible; + white-space: nowrap; + margin-left: 0em; + margin-right: 1em; + float: left; + width: 14em; + border: none; + background-color:transparent; + z-index:2; +} + +/* div.navtree:hover { z-index:2; } */ + +div.navwindow { + background-color:#f8f8f8; + width:14em; + padding:1ex 0ex; + overflow-x: hidden; + white-space: nowrap; + z-index:3; + transition-duration: 0.1s; + transition-delay: 0.1s; + border-radius:1ex +} + +div.navwindow:hover { + width:36em; + overflow-x: auto; + transition-duration: 0.25s; + transition-delay: 0.3s; +} + +/* div.navwindow { border: none; box-shadow: 4px 4px 6px 2px rgba(0,0,0,0.4) inset } */ +/* div.navwindow:hover { box-shadow: 4px 4px 6px 2px rgba(0,0,0,0.4) inset; } */ +/* div.navwindow:hover { box-shadow: 4px 4px 6px 2px rgba(0,0,0,0.4); } */ +div.navwindow:hover { box-shadow: none } +div.navwindow { border: 1px solid #eee; } +/* div.navwindow:hover { box-shadow: 4px 4px 8px 3px rgba(0,0,0,0.4); } */ + +div.navwindow li.nav {margin-bottom: 0em; line-height:1.1em; margin-top:0em} +div.navwindow ul.nav {margin-bottom: 0em; line-height:1.1em} +div.navwindow li.nav a { background-color:transparent} +div.navwindow li.nav a:hover { text-decoration:none} +div.navcontent { margin-right: 0px; margin-left:15em; padding:0px; background-color:transparent;z-index:1} +pre.code { border: 1px solid #ddd } + +div.navcontent > div.abstract { background-color:#f8f8f8; border:1px solid #eee } + +var { color:inherit } +dd.defbody { margin-bottom: 2em; margin-top: 1em } +/* dt.pubdef, dt.multidef, dt.privdef, dt.undoc, h2.undoc { */ +/* background-color: transparent; */ +/* color: black; */ +/* padding: 0px; */ +/* border-top: 4px solid #4c7dae */ +/* } */ +dt.pubdef, dt.multidef, dt.privdef, dt.undoc { + color: white; + padding-top: 2px; + padding-bottom: 0px; + padding-left: 4px; + padding-right: 4px; + margin-bottom: 0ex; +} +dt.multidef { background-color: #806060 } +dt.pubdef { background-color: #606060 } +dt.privdef { background-color: #a0a0a0 } +dt.undoc { background-color: #803030 } +dl>dt.pubdef { background-color: #606060 } +dl>dt.multidef { background-color: #806060 } +dt>code { background-color:inherit; padding:0px; border:none } +h2.undoc, h2.wiki { background-color: transparent; color: black; padding:0ex; } +h3.wiki, h4.wiki { background-color: transparent; color: black; padding:0ex; } +dt a { color: inherit } +dt a:hover { color: inherit; border-bottom: solid 1px currentColor } +h1.file, h1.module, h1.directory, h1.dir, h1.wiki { background: black; padding-left:0.5ex; padding-right:0.5ex } +table.summary th { background-color: black } +dl.tags { font-size:100% } +table.frame-box { border-color:transparent } +table.wiki { margin-left:auto; margin-right:auto; width:95%; border-color:black } +table.summary th.category { background-color:#722; color:#e99 } +table.summary th.section { background-color:#888; color:#000 } +tr.public { padding:0px; background-color:transparent; color:black } +tr.private { padding:0px; background-color:transparent; color:black } +tr.private > td { padding:4px 10px 4px 0px } +tr.public > td { padding:4px 10px 4px 0px } +tr.private > td:first-child { padding-left:10px } +tr.public > td:first-child { padding-left:10px } +table.summary td > a { color:#800; font-weight:bold } +table.summary td > a:hover { color:#a00 } +table.summary tr.private > td > a { color:#800; font-weight:normal } +table.summary tr.private > td > a:hover { color:#a00 } +img.action { max-width:none; padding:0px; vertical-align:text-top; height:0.85em} +li.nav.current > a { color:inherit }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/web/css/minimal_http_doc.css Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,21 @@ +/* h1.title { background: #ddd; color: black; padding: 0.2em; } */ +h1.title { background: none; color: black; text-align:left } +div#http-tree { width:38ex; margin-right:2ex; background-color:#f8f8f8; padding:1ex; border:solid 1px #eee;overflow-x:auto} +div#treeDiv1 { width:42ex } +div#http-help { margin-left:40ex; margin-top:1em; border-left-width:0px; padding-left: 0px;} +div#http-tree .ygtvlabel { background-color:transparent } +div#http-tree .ygtvtable { max-width:none;width:auto } +/* #http-tree .ygtvlabel, #http-tree .ygtvlabel:link, .ygtvlabel:visited, .ygtvlabel:hover { background-color:transparent } */ +td input { margin-left:0.5ex; } +td input:first-child { margin-left:0; } +table.alt_http_parameters { width: 100% } +div.yui-overlay { + background-color: rgb(255,255,255); + padding: 1em; + box-shadow: 4px 4px 10px 5px rgba(0,0,0,0.5) +} +div.yui-panel .bd div.url { border: none; margin: 0ex; padding: 0ex } +div.yui-panel .bd div.result { margin: 0ex; padding: 1ex } +div.yui-panel .hd { font-weight: bold; margin-bottom: 1ex } +div.api_test table td { vertical-align:baseline; border:none } +div.api_test span.path { color:back }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/web/css/pure/pure-skin-plum.css Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,957 @@ +body { + background-color: #ffffff; +} + +/* from PURE buttons-core.css */ +.pure-skin-plum .pure-button { + /* Structure */ + display: inline-block; + *display: inline; /*IE 6/7*/ + zoom: 1; + line-height: normal; + white-space: nowrap; + vertical-align: baseline; + text-align: center; + cursor: pointer; + -webkit-user-drag: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +/* Firefox: Get rid of the inner focus border */ +.pure-skin-plum .pure-button::-moz-focus-inner{ + padding: 0; + border: 0; +} +/* end from PURE buttons-core.css */ +/* from PURE buttons.css */ +/*csslint unqualified-attributes:false*/ + +.pure-skin-plum .pure-button { + font-size: 100%; + *font-size: 90%; /*IE 6/7 - To reduce IE's oversized button text*/ + *overflow: visible; /*IE 6/7 - Because of IE's overly large left/right padding on buttons */ + padding: 0.5em 1.5em 0.5em; + color: #030303; /* rgba not supported (IE 8) */ + /* color: rgba(0, 0, 0, 0.80); rgba supported */ + /* *color: #444; IE 6 & 7 */ + border: 1px solid #bababa; /*IE 6/7/8*/ + border: none rgba(0, 0, 0, 0); /*IE9 + everything else*/ + background-color: #c7c7c7; + text-decoration: none; + border-radius: 0px; + -webkit-font-smoothing: antialiased; + /* Transitions */ + -webkit-transition: 0.1s linear -webkit-box-shadow; + -moz-transition: 0.1s linear -moz-box-shadow; + -ms-transition: 0.1s linear box-shadow; + -o-transition: 0.1s linear box-shadow; + transition: 0.1s linear box-shadow; +} + +.pure-skin-plum .pure-button-hover, +.pure-skin-plum .pure-button:hover { + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#00000000', GradientType=0); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(transparent), color-stop(40%, rgba(0,0,0, 0.05)), to(rgba(0,0,0, 0.05))); + background-image: -webkit-linear-gradient(transparent, rgba(0,0,0, 0.05) 40%, rgba(0,0,0, 0.15)); + background-image: -moz-linear-gradient(top, rgba(0,0,0, 0.05) 0%, rgba(0,0,0, 0.05)); + background-image: -ms-linear-gradient(transparent, rgba(0,0,0, 0.05) 40%, rgba(0,0,0, 0.15)); + background-image: -o-linear-gradient(transparent, rgba(0,0,0, 0.05) 40%, rgba(0,0,0, 0.05)); + background-image: linear-gradient(transparent, rgba(0,0,0, 0.05) 40%, rgba(0,0,0, 0.05)); +} + +.pure-skin-plum .pure-button:focus { + outline: 0; +} +.pure-skin-plum .pure-button-active, +.pure-skin-plum .pure-button:active { + box-shadow: 0 0 0 1px rgba(0,0,0, 0.15) inset, 0 0 6px rgba(0,0,0, 0.20) inset; +} + +.pure-skin-plum .pure-button[disabled], +.pure-skin-plum .pure-button-disabled, +.pure-skin-plum .pure-button-disabled:hover, +.pure-skin-plum .pure-button-disabled:active { + border: none; + background-image: none; + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + filter: alpha(opacity=40); + -khtml-opacity: 0.40; + -moz-opacity: 0.40; + opacity: 0.40; + cursor: not-allowed; + box-shadow: none; +} + +.pure-skin-plum .pure-button-hidden { + display: none; +} + +/* Firefox: Get rid of the inner focus border */ +.pure-skin-plum .pure-button::-moz-focus-inner{ + padding: 0; + border: 0; +} + +.pure-skin-plum .pure-button-primary, +.pure-skin-plum .pure-button-selected, +.pure-skin-plum a.pure-button-primary, +.pure-skin-plum a.pure-button-selected { + background-color: #8B505C; + color: #fdfcfc; +} + +/*! Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* This page lists core form styles adopted from Normalize.css. */ +/*! Copyright (c) Nicolas Gallagher and Jonathan Neal */ + +/*! normalize.css v1.1.0 | MIT License | git.io/normalize */ + +/* This page has Normalize.css form-specific style rules applied to a .yui3-form context */ + +/* ========== +Forms Core +=========*/ + + +/* + * Corrects margin displayed oddly in IE 6/7. + */ + +.pure-skin-plum .pure-form { + margin: 0; +} + +/* Define consistent border, margin, and padding.*/ + + +.pure-skin-plum .pure-form fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; +} + +/* + * 1. Corrects color not being inherited in IE 6/7/8/9. + * 2. Corrects text not wrapping in Firefox 3. + * 3. Corrects alignment displayed oddly in IE 6/7. + */ + +.pure-skin-plum .pure-form legend { + border: 0; /* 1 */ + padding: 0; + white-space: normal; /* 2 */ + *margin-left: -7px; /* 3 */ +} + +/* + * 1. Corrects font size not being inherited in all browsers. + * 2. Addresses margins set differently in IE 6/7, Firefox 3+, Safari 5, + * and Chrome. + * 3. Improves appearance and consistency in all browsers. + */ + +.pure-skin-plum .pure-form button, +.pure-skin-plum .pure-form input, +.pure-skin-plum .pure-form select, +.pure-skin-plum .pure-form textarea { + font-size: 100%; /* 1 */ + margin: 0; /* 2 */ + vertical-align: baseline; /* 3 */ + *vertical-align: middle; /* 3 */ +} + +/* + * Addresses Firefox 3+ setting `line-height` on `input` using `!important` in + * the UA stylesheet. + */ + +.pure-skin-plum .pure-form button, +.pure-skin-plum .pure-form input { + line-height: normal; +} + +/* + * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` + * and `video` controls. + * 2. Corrects inability to style clickable `input` types in iOS. + * 3. Improves usability and consistency of cursor style between image-type + * `input` and others. + * 4. Removes inner spacing in IE 7 without affecting normal text inputs. + * Known issue: inner spacing remains in IE 6. + */ + +.pure-skin-plum .pure-form button, +.pure-skin-plum .pure-form input[type="button"], /* 1 */ +.pure-skin-plum .pure-form input[type="reset"], +.pure-skin-plum .pure-form input[type="submit"] { + -webkit-appearance: button; /* 2 */ + cursor: pointer; /* 3 */ + *overflow: visible; /* 4 */ +} + +/* + * Re-set default cursor for disabled elements. + */ + +.pure-skin-plum .pure-form button[disabled], +.pure-skin-plum .pure-form input[disabled] { + cursor: default; +} + +/* + * 1. Addresses box sizing set to content-box in IE 8/9. + * 2. Removes excess padding in IE 8/9. + * 3. Removes excess padding in IE 7. + * Known issue: excess padding remains in IE 6. + */ + +.pure-skin-plum .pure-form input[type="checkbox"], +.pure-skin-plum .pure-form input[type="radio"] { + box-sizing: border-box; /* 1 */ + padding: 0; /* 2 */ + *height: 13px; /* 3 */ + *width: 13px; /* 3 */ +} + +/* + * 1. Addresses `appearance` set to `searchfield` in Safari 5 and Chrome. + * 2. Addresses `box-sizing` set to `border-box` in Safari 5 and Chrome + * (include `-moz` to future-proof). + */ + +.pure-skin-plum .pure-form input[type="search"] { + -webkit-appearance: textfield; /* 1 */ + -moz-box-sizing: content-box; + -webkit-box-sizing: content-box; /* 2 */ + box-sizing: content-box; +} + +/* + * Removes inner padding and search cancel button in Safari 5 and Chrome + * on OS X. + */ + +.pure-skin-plum .pure-form input[type="search"]::-webkit-search-cancel-button, +.pure-skin-plum .pure-form input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +/* + * Removes inner padding and border in Firefox 3+. + */ + +.pure-skin-plum .pure-form button::-moz-focus-inner, +.pure-skin-plum .pure-form input::-moz-focus-inner { + border: 0; + padding: 0; +} + +/* + * 1. Removes default vertical scrollbar in IE 6/7/8/9. + * 2. Improves readability and alignment in all browsers. + */ + +.pure-skin-plum .pure-form textarea { + overflow: auto; /* 1 */ + vertical-align: top; /* 2 */ +} +/* =============== forms-responsive.css =================*/ +@media only screen and (max-width : 480px) { + .pure-skin-plum .pure-form button[type="submit"] { + margin: 0.7em 0 0; + } + + .pure-skin-plum .pure-form input[type="text"], + .pure-skin-plum .pure-form input[type="password"], + .pure-skin-plum .pure-form input[type="email"], + .pure-skin-plum .pure-form input[type="url"], + .pure-skin-plum .pure-form input[type="date"], + .pure-skin-plum .pure-form input[type="month"], + .pure-skin-plum .pure-form input[type="time"], + .pure-skin-plum .pure-form input[type="datetime"], + .pure-skin-plum .pure-form input[type="datetime-local"], + .pure-skin-plum .pure-form input[type="week"], + .pure-skin-plum .pure-form input[type="number"], + .pure-skin-plum .pure-form input[type="search"], + .pure-skin-plum .pure-form input[type="tel"], + .pure-skin-plum .pure-form input[type="color"], + .pure-skin-plum .pure-form label { + margin-bottom: 0.3em; + display: block; + } + + .pure-skin-plum .pure-group input[type="text"], + .pure-skin-plum .pure-group input[type="password"], + .pure-skin-plum .pure-group input[type="email"], + .pure-skin-plum .pure-group input[type="url"], + .pure-skin-plum .pure-group input[type="date"], + .pure-skin-plum .pure-group input[type="month"], + .pure-skin-plum .pure-group input[type="time"], + .pure-skin-plum .pure-group input[type="datetime"], + .pure-skin-plum .pure-group input[type="datetime-local"], + .pure-skin-plum .pure-group input[type="week"], + .pure-skin-plum .pure-group input[type="number"], + .pure-skin-plum .pure-group input[type="search"], + .pure-skin-plum .pure-group input[type="tel"], + .pure-skin-plum .pure-group input[type="color"] { + margin-bottom: 0; + } + + .pure-skin-plum .pure-form-aligned .pure-control-group label { + margin-bottom: 0.3em; + text-align: left; + display: block; + width: 100%; + } + + .pure-skin-plum .pure-form-aligned .pure-controls { + margin: 1.5em 0 0 0; + } + + /* NOTE: pure-help-inline is deprecated. Use .pure-form-message-inline instead. */ + .pure-skin-plum .pure-form .pure-help-inline, + .pure-skin-plum .pure-form-message-inline, + .pure-skin-plum .pure-form-message { + display: block; + font-size: 80%; + /* increased bottom padding to make it group with its related input element */ + padding: 0.2em 0 0.8em; + } +} + +/* =============== forms.css =================================*/ +.pure-skin-plum .pure-form input[type="text"], +.pure-skin-plum .pure-form input[type="password"], +.pure-skin-plum .pure-form input[type="email"], +.pure-skin-plum .pure-form input[type="url"], +.pure-skin-plum .pure-form input[type="date"], +.pure-skin-plum .pure-form input[type="month"], +.pure-skin-plum .pure-form input[type="time"], +.pure-skin-plum .pure-form input[type="datetime"], +.pure-skin-plum .pure-form input[type="datetime-local"], +.pure-skin-plum .pure-form input[type="week"], +.pure-skin-plum .pure-form input[type="number"], +.pure-skin-plum .pure-form input[type="search"], +.pure-skin-plum .pure-form input[type="tel"], +.pure-skin-plum .pure-form input[type="color"], +.pure-skin-plum .pure-form select, +.pure-skin-plum .pure-form textarea { + padding: 0.5em 0.6em; + display: inline-block; + border: 1px solid #e6e6e6; + font-size: 0.8em; + box-shadow: inset 0 1px 3px #e6e6e6; + border-radius: 0px; + -webkit-transition: 0.3s linear border; + -moz-transition: 0.3s linear border; + -ms-transition: 0.3s linear border; + -o-transition: 0.3s linear border; + transition: 0.3s linear border; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + -webkit-font-smoothing: antialiased; +} + +.pure-skin-plum .pure-form input[type="text"]:focus, +.pure-skin-plum .pure-form input[type="password"]:focus, +.pure-skin-plum .pure-form input[type="email"]:focus, +.pure-skin-plum .pure-form input[type="url"]:focus, +.pure-skin-plum .pure-form input[type="date"]:focus, +.pure-skin-plum .pure-form input[type="month"]:focus, +.pure-skin-plum .pure-form input[type="time"]:focus, +.pure-skin-plum .pure-form input[type="datetime"]:focus, +.pure-skin-plum .pure-form input[type="datetime-local"]:focus, +.pure-skin-plum .pure-form input[type="week"]:focus, +.pure-skin-plum .pure-form input[type="number"]:focus, +.pure-skin-plum .pure-form input[type="search"]:focus, +.pure-skin-plum .pure-form input[type="tel"]:focus, +.pure-skin-plum .pure-form input[type="color"]:focus, +.pure-skin-plum .pure-form select:focus, +.pure-skin-plum .pure-form textarea:focus { + outline: 0; + outline: thin dotted \9; /* IE6-9 */ + border-color: #129FEA; +} + +.pure-skin-plum .pure-form input[type="file"]:focus, +.pure-skin-plum .pure-form input[type="radio"]:focus, +.pure-skin-plum .pure-form input[type="checkbox"]:focus { + outline: thin dotted #333; + outline: 1px auto #129FEA; +} +.pure-skin-plum .pure-form .pure-checkbox, +.pure-skin-plum .pure-form .pure-radio { + margin: 0.5em 0; + display: block; +} +.pure-skin-plum .pure-form input[type="text"][disabled], +.pure-skin-plum .pure-form input[type="password"][disabled], +.pure-skin-plum .pure-form input[type="email"][disabled], +.pure-skin-plum .pure-form input[type="url"][disabled], +.pure-skin-plum .pure-form input[type="date"][disabled], +.pure-skin-plum .pure-form input[type="month"][disabled], +.pure-skin-plum .pure-form input[type="time"][disabled], +.pure-skin-plum .pure-form input[type="datetime"][disabled], +.pure-skin-plum .pure-form input[type="datetime-local"][disabled], +.pure-skin-plum .pure-form input[type="week"][disabled], +.pure-skin-plum .pure-form input[type="number"][disabled], +.pure-skin-plum .pure-form input[type="search"][disabled], +.pure-skin-plum .pure-form input[type="tel"][disabled], +.pure-skin-plum .pure-form input[type="color"][disabled], +.pure-skin-plum .pure-form select[disabled], +.pure-skin-plum .pure-form textarea[disabled] { + cursor: not-allowed; + box-shadow: inset 0 1px 10px #ededed; + background-color: #ededed; + color: #666666; + border-color: #e6e6e6; +} +.pure-skin-plum .pure-form input[readonly], +.pure-skin-plum .pure-form select[readonly], +.pure-skin-plum .pure-form textarea[readonly], +.pure-skin-plum .pure-form input[readonly]:focus, +.pure-skin-plum .pure-form select[readonly]:focus, +.pure-skin-plum .pure-form textarea[readonly]:focus { + background: #eee; /* menu hover bg color */ + color: #777; /* menu text color */ + border-color: #ccc; +} +.pure-skin-plum .pure-form input:focus:invalid, +.pure-skin-plum .pure-form textarea:focus:invalid, +.pure-skin-plum .pure-form select:focus:invalid { + color: #b94a48; + border: 1px solid #ee5f5b; +} +.pure-skin-plum .pure-form input:focus:invalid:focus, +.pure-skin-plum .pure-form textarea:focus:invalid:focus, +.pure-skin-plum .pure-form select:focus:invalid:focus { + border-color: #e9322d; +} +.pure-skin-plum .pure-form input[type="file"]:focus:invalid:focus, +.pure-skin-plum .pure-form input[type="radio"]:focus:invalid:focus, +.pure-skin-plum .pure-form input[type="checkbox"]:focus:invalid:focus { + outline-color: #e9322d; +} +.pure-skin-plum .pure-form select { + border: 1px solid #e6e6e6; + background-color: white; +} +.pure-skin-plum .pure-form select[multiple] { + height: auto; +} +.pure-skin-plum .pure-form label { + margin: 0.5em 0 0.2em; + color: #030303; + font-size:90%; +} +.pure-skin-plum .pure-form fieldset { + margin: 0; + padding: 0.35em 0 0.75em; + border: 0; +} +.pure-skin-plum .pure-form legend { + display: block; + width: 100%; + padding: 0.3em 0; + margin-bottom: 0.3em; + font-size: 125%; + color: #030303; + border-bottom: 1px solid #ededed; +} + +.pure-skin-plum .pure-form-stacked input[type="text"], +.pure-skin-plum .pure-form-stacked input[type="password"], +.pure-skin-plum .pure-form-stacked input[type="email"], +.pure-skin-plum .pure-form-stacked input[type="url"], +.pure-skin-plum .pure-form-stacked input[type="date"], +.pure-skin-plum .pure-form-stacked input[type="month"], +.pure-skin-plum .pure-form-stacked input[type="time"], +.pure-skin-plum .pure-form-stacked input[type="datetime"], +.pure-skin-plum .pure-form-stacked input[type="datetime-local"], +.pure-skin-plum .pure-form-stacked input[type="week"], +.pure-skin-plum .pure-form-stacked input[type="number"], +.pure-skin-plum .pure-form-stacked input[type="search"], +.pure-skin-plum .pure-form-stacked input[type="tel"], +.pure-skin-plum .pure-form-stacked input[type="color"], +.pure-skin-plum .pure-form-stacked select, +.pure-skin-plum .pure-form-stacked label, +.pure-skin-plum .pure-form-stacked textarea { + display: block; + margin: 0.25em 0; +} + +.pure-skin-plum .pure-form-aligned input, +.pure-skin-plum .pure-form-aligned textarea, +.pure-skin-plum .pure-form-aligned select, +/* note: pure-help-inline is deprecated. Use .pure-form-message-inline instead */ +.pure-skin-plum .pure-form-aligned .pure-help-inline, +.pure-skin-plum .pure-form-message-inline { + display: inline-block; + *display: inline; /* IE7 inline-block hack */ + *zoom: 1; + vertical-align: middle; +} + +/* aligned Forms */ +.pure-skin-plum .pure-form-aligned .pure-control-group { + margin-bottom: 0.5em; +} +.pure-skin-plum .pure-form-aligned .pure-control-group label { + text-align: right; + display: inline-block; + vertical-align: middle; + width: 10em; + margin: 0 1em 0 0; +} +.pure-skin-plum .pure-form-aligned .pure-controls { + margin: 1.5em 0 0 10em; +} + +/* Rounded Inputs */ +.pure-skin-plum .pure-form input:not([type]), +.pure-skin-plum .pure-form .pure-input-rounded { + border-radius: 0px; + padding: 0.5em 1em; +} + +/* Grouped Inputs */ +.pure-skin-plum .pure-form .pure-group fieldset { + margin-bottom: 10px; +} +.pure-skin-plum .pure-form .pure-group input { + display: block; + padding: 0.5em 0.6em; + margin: 0; + border-radius: 0; + position: relative; + top: -1px; +} +.pure-skin-plum .pure-form .pure-group input:focus { + z-index: 2; +} +.pure-skin-plum .pure-form .pure-group input:first-child { + top: 1px; + border-radius: 0px 0px 0px 0px; +} +.pure-skin-plum .pure-form .pure-group input:last-child { + top: -2px; + border-radius: 0px 0px 0px 0px; +} +.pure-skin-plum .pure-form .pure-group button { + margin: 0.35em 0; +} + +.pure-skin-plum .pure-form .pure-input-1 { + width: 100%; +} +.pure-skin-plum .pure-form .pure-input-2-3 { + width: 66%; +} +.pure-skin-plum .pure-form .pure-input-1-2 { + width: 50%; +} +.pure-skin-plum .pure-form .pure-input-1-3 { + width: 33%; +} +.pure-skin-plum .pure-form .pure-input-1-4 { + width: 25%; +} + +/* Inline help for forms */ +/* Note: pure-help-inline is deprecated. Use .pure-form-message-inline instead */ +.pure-skin-plum .pure-form .pure-help-inline, +.pure-skin-plum .pure-form-message-inline { + display: inline-block; + padding-left: 0.3em; + color: #666666; + vertical-align: middle; + font-size: 90%; +} + +/* Block help for forms */ +.pure-skin-plum .pure-form-message { + display: block; + color: #666666; + font-size: 90%; +} +/* note no template for forms-r.css. no skinnable properties */ + +/* foundational CSS */ +.pure-skin-plum .pure-table { + /* Remove spacing between table cells (from Normalize.css) */ + border-collapse: collapse; + border-spacing: 0; + empty-cells: show; + border: 1px solid #dedede; +} + +.pure-skin-plum .pure-table caption { + color: #666666; + font: italic 85%/1 arial, sans-serif; + padding: 1em 0; + text-align: center; +} + +.pure-skin-plum .pure-table td, +.pure-skin-plum .pure-table th { + border-left: 1px solid #dedede;/* inner column border */ + border-width: 0 0 0 1px; + font-size: inherit; + margin: 0; + overflow: visible; /*to make ths where the title is really long work*/ + padding: 0.3em 0.6em; /* cell padding */ +} + +.pure-skin-plum .pure-table td:first-child, +.pure-skin-plum .pure-table th:first-child { + border-left-width: 0; +} + +.pure-skin-plum .pure-table thead { + background-color: #dedede; + color: #030303; + text-align: left; + vertical-align: bottom; +} + +/* +striping: + even - #fff (white) + odd - #f2f2f2 (light gray) +*/ +.pure-skin-plum .pure-table td { + background-color: #ededed; + color: #030303; +} +.pure-skin-plum .pure-table-odd td { + background-color: #dedede; + color: #030303; +} + +/* nth-child selector for modern browsers */ +.pure-skin-plum .pure-table-striped tr:nth-child(2n-1) td { + background-color: #dedede; + color: #030303; +} + + +/* BORDERED TABLES */ +.pure-skin-plum .pure-table-bordered td { + border-bottom: 1px solid #dedede; +} +.pure-skin-plum .pure-table-bordered tbody > tr:last-child td, +.pure-skin-plum .pure-table-horizontal tbody > tr:last-child td { + border-bottom-width: 0; +} + +/* HORIZONTAL BORDERED TABLES */ +.pure-skin-plum .pure-table-horizontal td, +.pure-skin-plum .pure-table-horizontal th { + border-width: 0 0 1px 0; + border-bottom:1px solid #dedede; +} +.pure-skin-plum .pure-table-horizontal tbody > tr:last-child td { + border-bottom-width: 0; +} + +/* from PURE menu-core.css */ +/*csslint adjoining-classes:false, outline-none:false*/ +/*TODO: Remove this lint rule override after a refactor of this code.*/ + +.pure-skin-plum .pure-menu ul { + position: absolute; + visibility: hidden; +} + +.pure-skin-plum .pure-menu.pure-menu-open { + visibility: visible; + z-index: 2; + width: 100%; +} + +.pure-skin-plum .pure-menu ul { + left: -10000px; + list-style: none; + margin: 0; + padding: 0; + top: -10000px; + z-index: 2; +} + +.pure-skin-plum .pure-menu > ul { position: relative; } + +.pure-skin-plum .pure-menu-open > ul { + left: 0; + top: 0; + visibility: visible; +} + +.pure-skin-plum .pure-menu-open > ul:focus { + outline: 0; +} + +.pure-skin-plum .pure-menu li { + position: relative; +} + +.pure-skin-plum .pure-menu a, .pure-skin-plum .pure-menu .pure-menu-heading { + display: block; + color: inherit; + line-height: 1.5em; + padding: 0.35em 1.4em; + text-decoration: none; + white-space: nowrap; +} + +.pure-skin-plum .pure-menu.pure-menu-horizontal > .pure-menu-heading { + display: inline-block; + *display: inline; + zoom: 1; + margin: 0; + vertical-align: middle; +} +.pure-skin-plum .pure-menu.pure-menu-horizontal > ul { + display: inline-block; + *display: inline; + zoom: 1; + vertical-align: middle; + /* height: 2.4em; removed for Skin Builder */ +} + +.pure-skin-plum .pure-menu li a { padding: 0.35em 1.4em; } + +.pure-skin-plum .pure-menu-can-have-children > .pure-menu-label:after { + content: '\25B8'; + float: right; + font-family: 'Lucida Grande', 'Lucida Sans Unicode', 'DejaVu Sans', sans-serif; /* These specific fonts have the Unicode char we need. */ + margin-right: -20px; + margin-top: -1px; +} + +.pure-skin-plum .pure-menu-can-have-children > .pure-menu-label { + padding-right: 30px; +} + +.pure-skin-plum .pure-menu-separator { + background-color: #dedede; + display: block; + height: 1px; + font-size: 0; + margin: 7px 2px; + overflow: hidden; +} + +.pure-skin-plum .pure-menu-hidden { + display: none; +} + +/* FIXED MENU */ +.pure-skin-plum .pure-menu-fixed { + position: fixed; + top:0; + left:0; + width: 100%; +} + + +/* HORIZONTAL MENU CODE */ + +/* Initial menus should be inline-block so that they are horizontal */ +.pure-skin-plum .pure-menu-horizontal li { + display: inline-block; + *display: inline; + zoom: 1; + vertical-align: middle; +} + +/* Submenus should still be display:block; */ +.pure-skin-plum .pure-menu-horizontal li li { + display: block; +} + +/* Content after should be down arrow */ +.pure-skin-plum .pure-menu-horizontal > .pure-menu-children > .pure-menu-can-have-children > .pure-menu-label:after { + content: "\25BE"; +} +/*Add extra padding to elements that have the arrow so that the hover looks nice */ +.pure-skin-plum .pure-menu-horizontal > .pure-menu-children > .pure-menu-can-have-children > .pure-menu-label { + padding-right: 30px; +} + +/* Adjusting separator for vertical menus */ +.pure-skin-plum .pure-menu-horizontal li.pure-menu-separator { + height: 50%; + width: 1px; + margin: 0 7px; +} + +/* Submenus should be horizontal separator again */ +.pure-skin-plum .pure-menu-horizontal li li.pure-menu-separator { +height: 1px; +width: auto; +margin: 7px 2px; +} + + +/* end from yuicss/menu-core.css *******************************************/ +/* from yuicss menu-paginator.css */ +/*csslint box-model:false*/ +/*TODO: Remove this lint rule override after a refactor of this code.*/ + +.pure-skin-plum .pure-paginator { + + /* `pure-g` Grid styles */ + letter-spacing: -0.31em; /* Webkit: collapse white-space between units */ + *letter-spacing: normal; /* reset IE < 8 */ + *word-spacing: -0.43em; /* IE < 8: collapse white-space between units */ + text-rendering: optimizespeed; /* Webkit: fixes text-rendering: optimizeLegibility */ + + /* `pure-paginator` Specific styles */ + list-style: none; + margin: 0; + padding: 0; +} +.opera-only :-o-prefocus, +.pure-skin-plum .pure-paginator { + word-spacing: -0.43em; +} + +/* `pure-u` Grid styles */ +.pure-skin-plum .pure-paginator li { + display: inline-block; + *display: inline; /* IE < 8: fake inline-block */ + zoom: 1; + letter-spacing: normal; + word-spacing: normal; + vertical-align: top; + text-rendering: auto; +} +.pure-skin-plum .pure-paginator .pure-button { + border-radius: 0; + padding: 0.8em 1.4em; + vertical-align: top; + height: 1.1em; +} +.pure-skin-plum .pure-paginator .pure-button:focus, +.pure-skin-plum .pure-paginator .pure-button:active { + outline-style: none; +} +.pure-skin-plum .pure-paginator .prev, +.pure-skin-plum .pure-paginator .next { + /*color: #C0C1C3; allow .pure-button to color text*/ +} +.pure-skin-plum .pure-paginator .prev { + border-radius: 0px 0px 0px 0px; +} +.pure-skin-plum .pure-paginator .next { + border-radius: 0px 0px 0px 0px; +} +/* end from PURE menu-paginator.css ******************************/ +/* from PURE menu.css *******************************************/ +/* MAIN MENU STYLING */ +/*csslint adjoining-classes:false*/ +/*TODO: Remove this lint rule override after a refactor of this code.*/ + +.pure-skin-plum .pure-menu.pure-menu-open, +.pure-skin-plum .pure-menu.pure-menu-horizontal li .pure-menu-children { + background: #ededed; /* Old browsers */ + border: 1px solid #dedede; +} + +/* remove borders for horizontal menus */ +.pure-skin-plum .pure-menu.pure-menu-horizontal, +.pure-skin-plum .pure-menu.pure-menu-horizontal .pure-menu-heading { + border: none; +} + + +/* LINK STYLES */ + +.pure-skin-plum .pure-menu a { + border: 1px solid transparent; + border-left: none; + border-right: none; + +} + +.pure-skin-plum .pure-menu a, +.pure-skin-plum .pure-menu .pure-menu-can-have-children > li:after { + color: #030303; +} + +.pure-skin-plum .pure-menu .pure-menu-can-have-children > li:hover:after { + color: #030303; +} + +/* Focus style for a dropdown menu-item when the parent has been opened */ +.pure-skin-plum .pure-menu .pure-menu-open { + background: #d6d6d6; +} + +.pure-skin-plum .pure-menu li a:hover, +.pure-skin-plum .pure-menu li a:focus { + background: #d6d6d6; +} + +/* DISABLED STATES */ +.pure-skin-plum .pure-menu li.pure-menu-disabled a:hover, +.pure-skin-plum .pure-menu li.pure-menu-disabled a:focus { + background: #ededed; + color: #575757; +} + +.pure-skin-plum .pure-menu .pure-menu-disabled > a { + background-image: none; + border-color: transparent; + cursor: default; +} + +.pure-skin-plum .pure-menu .pure-menu-disabled > a, +.pure-skin-plum .pure-menu .pure-menu-can-have-children.pure-menu-disabled > a:after { + color: #575757; +} + +/* HEADINGS */ +.pure-skin-plum .pure-menu .pure-menu-heading { + color: #030303; + text-transform: uppercase; + font-size: 90%; + margin-top: 0.5em; + border-bottom: solid 1px #dedede; +} + + +/* SELECTED MENU ITEM */ +.pure-skin-plum .pure-menu li.pure-menu-selected a { + background-color: #8B505C; + color: #fdfcfc; +} + +/* FIXED MENU */ +.pure-skin-plum .pure-menu.pure-menu-open.pure-menu-fixed { + border: none; + border-bottom: 1px solid #dedede; +} +/* end from PURE menu.css ***********************************/ +/* from PURE menu-responsive.css ****************************/ +/* RESPONSIVE */ + +@media (max-width: 480px) { + + .pure-skin-plum .pure-menu-horizontal { + width:100%; + } + + .pure-skin-plum .pure-menu-children li { + display: block; + border-bottom:1px solid #dedede; + } + +} +/* end from menu-responsive.css ******************/ + +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/web/css/pure/pure-skin-swi.css Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,957 @@ +body { + background-color: #ffffff; +} + +/* from PURE buttons-core.css */ +.pure-skin-swi .pure-button { + /* Structure */ + display: inline-block; + *display: inline; /*IE 6/7*/ + zoom: 1; + line-height: normal; + white-space: nowrap; + vertical-align: baseline; + text-align: center; + cursor: pointer; + -webkit-user-drag: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +/* Firefox: Get rid of the inner focus border */ +.pure-skin-swi .pure-button::-moz-focus-inner{ + padding: 0; + border: 0; +} +/* end from PURE buttons-core.css */ +/* from PURE buttons.css */ +/*csslint unqualified-attributes:false*/ + +.pure-skin-swi .pure-button { + font-size: 100%; + *font-size: 90%; /*IE 6/7 - To reduce IE's oversized button text*/ + *overflow: visible; /*IE 6/7 - Because of IE's overly large left/right padding on buttons */ + padding: 0.5em 1.5em 0.5em; + color: #0c1113; /* rgba not supported (IE 8) */ + /* color: rgba(0, 0, 0, 0.80); rgba supported */ + /* *color: #444; IE 6 & 7 */ + border: 1px solid #9bb5bf; /*IE 6/7/8*/ + border: none rgba(0, 0, 0, 0); /*IE9 + everything else*/ + background-color: #b1c5cd; + text-decoration: none; + border-radius: 4px; + -webkit-font-smoothing: antialiased; + /* Transitions */ + -webkit-transition: 0.1s linear -webkit-box-shadow; + -moz-transition: 0.1s linear -moz-box-shadow; + -ms-transition: 0.1s linear box-shadow; + -o-transition: 0.1s linear box-shadow; + transition: 0.1s linear box-shadow; +} + +.pure-skin-swi .pure-button-hover, +.pure-skin-swi .pure-button:hover { + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#00000000', GradientType=0); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(transparent), color-stop(40%, rgba(0,0,0, 0.05)), to(rgba(0,0,0, 0.05))); + background-image: -webkit-linear-gradient(transparent, rgba(0,0,0, 0.05) 40%, rgba(0,0,0, 0.15)); + background-image: -moz-linear-gradient(top, rgba(0,0,0, 0.05) 0%, rgba(0,0,0, 0.05)); + background-image: -ms-linear-gradient(transparent, rgba(0,0,0, 0.05) 40%, rgba(0,0,0, 0.15)); + background-image: -o-linear-gradient(transparent, rgba(0,0,0, 0.05) 40%, rgba(0,0,0, 0.05)); + background-image: linear-gradient(transparent, rgba(0,0,0, 0.05) 40%, rgba(0,0,0, 0.05)); +} + +.pure-skin-swi .pure-button:focus { + outline: 0; +} +.pure-skin-swi .pure-button-active, +.pure-skin-swi .pure-button:active { + box-shadow: 0 0 0 1px rgba(0,0,0, 0.15) inset, 0 0 6px rgba(0,0,0, 0.20) inset; +} + +.pure-skin-swi .pure-button[disabled], +.pure-skin-swi .pure-button-disabled, +.pure-skin-swi .pure-button-disabled:hover, +.pure-skin-swi .pure-button-disabled:active { + border: none; + background-image: none; + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + filter: alpha(opacity=40); + -khtml-opacity: 0.40; + -moz-opacity: 0.40; + opacity: 0.40; + cursor: not-allowed; + box-shadow: none; +} + +.pure-skin-swi .pure-button-hidden { + display: none; +} + +/* Firefox: Get rid of the inner focus border */ +.pure-skin-swi .pure-button::-moz-focus-inner{ + padding: 0; + border: 0; +} + +.pure-skin-swi .pure-button-primary, +.pure-skin-swi .pure-button-selected, +.pure-skin-swi a.pure-button-primary, +.pure-skin-swi a.pure-button-selected { + background-color: #457387; + color: #fcfdfd; +} + +/*! Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */ +/* This page lists core form styles adopted from Normalize.css. */ +/*! Copyright (c) Nicolas Gallagher and Jonathan Neal */ + +/*! normalize.css v1.1.0 | MIT License | git.io/normalize */ + +/* This page has Normalize.css form-specific style rules applied to a .yui3-form context */ + +/* ========== +Forms Core +=========*/ + + +/* + * Corrects margin displayed oddly in IE 6/7. + */ + +.pure-skin-swi .pure-form { + margin: 0; +} + +/* Define consistent border, margin, and padding.*/ + + +.pure-skin-swi .pure-form fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; +} + +/* + * 1. Corrects color not being inherited in IE 6/7/8/9. + * 2. Corrects text not wrapping in Firefox 3. + * 3. Corrects alignment displayed oddly in IE 6/7. + */ + +.pure-skin-swi .pure-form legend { + border: 0; /* 1 */ + padding: 0; + white-space: normal; /* 2 */ + *margin-left: -7px; /* 3 */ +} + +/* + * 1. Corrects font size not being inherited in all browsers. + * 2. Addresses margins set differently in IE 6/7, Firefox 3+, Safari 5, + * and Chrome. + * 3. Improves appearance and consistency in all browsers. + */ + +.pure-skin-swi .pure-form button, +.pure-skin-swi .pure-form input, +.pure-skin-swi .pure-form select, +.pure-skin-swi .pure-form textarea { + font-size: 100%; /* 1 */ + margin: 0; /* 2 */ + vertical-align: baseline; /* 3 */ + *vertical-align: middle; /* 3 */ +} + +/* + * Addresses Firefox 3+ setting `line-height` on `input` using `!important` in + * the UA stylesheet. + */ + +.pure-skin-swi .pure-form button, +.pure-skin-swi .pure-form input { + line-height: normal; +} + +/* + * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` + * and `video` controls. + * 2. Corrects inability to style clickable `input` types in iOS. + * 3. Improves usability and consistency of cursor style between image-type + * `input` and others. + * 4. Removes inner spacing in IE 7 without affecting normal text inputs. + * Known issue: inner spacing remains in IE 6. + */ + +.pure-skin-swi .pure-form button, +.pure-skin-swi .pure-form input[type="button"], /* 1 */ +.pure-skin-swi .pure-form input[type="reset"], +.pure-skin-swi .pure-form input[type="submit"] { + -webkit-appearance: button; /* 2 */ + cursor: pointer; /* 3 */ + *overflow: visible; /* 4 */ +} + +/* + * Re-set default cursor for disabled elements. + */ + +.pure-skin-swi .pure-form button[disabled], +.pure-skin-swi .pure-form input[disabled] { + cursor: default; +} + +/* + * 1. Addresses box sizing set to content-box in IE 8/9. + * 2. Removes excess padding in IE 8/9. + * 3. Removes excess padding in IE 7. + * Known issue: excess padding remains in IE 6. + */ + +.pure-skin-swi .pure-form input[type="checkbox"], +.pure-skin-swi .pure-form input[type="radio"] { + box-sizing: border-box; /* 1 */ + padding: 0; /* 2 */ + *height: 13px; /* 3 */ + *width: 13px; /* 3 */ +} + +/* + * 1. Addresses `appearance` set to `searchfield` in Safari 5 and Chrome. + * 2. Addresses `box-sizing` set to `border-box` in Safari 5 and Chrome + * (include `-moz` to future-proof). + */ + +.pure-skin-swi .pure-form input[type="search"] { + -webkit-appearance: textfield; /* 1 */ + -moz-box-sizing: content-box; + -webkit-box-sizing: content-box; /* 2 */ + box-sizing: content-box; +} + +/* + * Removes inner padding and search cancel button in Safari 5 and Chrome + * on OS X. + */ + +.pure-skin-swi .pure-form input[type="search"]::-webkit-search-cancel-button, +.pure-skin-swi .pure-form input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +/* + * Removes inner padding and border in Firefox 3+. + */ + +.pure-skin-swi .pure-form button::-moz-focus-inner, +.pure-skin-swi .pure-form input::-moz-focus-inner { + border: 0; + padding: 0; +} + +/* + * 1. Removes default vertical scrollbar in IE 6/7/8/9. + * 2. Improves readability and alignment in all browsers. + */ + +.pure-skin-swi .pure-form textarea { + overflow: auto; /* 1 */ + vertical-align: top; /* 2 */ +} +/* =============== forms-responsive.css =================*/ +@media only screen and (max-width : 480px) { + .pure-skin-swi .pure-form button[type="submit"] { + margin: 0.7em 0 0; + } + + .pure-skin-swi .pure-form input[type="text"], + .pure-skin-swi .pure-form input[type="password"], + .pure-skin-swi .pure-form input[type="email"], + .pure-skin-swi .pure-form input[type="url"], + .pure-skin-swi .pure-form input[type="date"], + .pure-skin-swi .pure-form input[type="month"], + .pure-skin-swi .pure-form input[type="time"], + .pure-skin-swi .pure-form input[type="datetime"], + .pure-skin-swi .pure-form input[type="datetime-local"], + .pure-skin-swi .pure-form input[type="week"], + .pure-skin-swi .pure-form input[type="number"], + .pure-skin-swi .pure-form input[type="search"], + .pure-skin-swi .pure-form input[type="tel"], + .pure-skin-swi .pure-form input[type="color"], + .pure-skin-swi .pure-form label { + margin-bottom: 0.3em; + display: block; + } + + .pure-skin-swi .pure-group input[type="text"], + .pure-skin-swi .pure-group input[type="password"], + .pure-skin-swi .pure-group input[type="email"], + .pure-skin-swi .pure-group input[type="url"], + .pure-skin-swi .pure-group input[type="date"], + .pure-skin-swi .pure-group input[type="month"], + .pure-skin-swi .pure-group input[type="time"], + .pure-skin-swi .pure-group input[type="datetime"], + .pure-skin-swi .pure-group input[type="datetime-local"], + .pure-skin-swi .pure-group input[type="week"], + .pure-skin-swi .pure-group input[type="number"], + .pure-skin-swi .pure-group input[type="search"], + .pure-skin-swi .pure-group input[type="tel"], + .pure-skin-swi .pure-group input[type="color"] { + margin-bottom: 0; + } + + .pure-skin-swi .pure-form-aligned .pure-control-group label { + margin-bottom: 0.3em; + text-align: left; + display: block; + width: 100%; + } + + .pure-skin-swi .pure-form-aligned .pure-controls { + margin: 1.5em 0 0 0; + } + + /* NOTE: pure-help-inline is deprecated. Use .pure-form-message-inline instead. */ + .pure-skin-swi .pure-form .pure-help-inline, + .pure-skin-swi .pure-form-message-inline, + .pure-skin-swi .pure-form-message { + display: block; + font-size: 80%; + /* increased bottom padding to make it group with its related input element */ + padding: 0.2em 0 0.8em; + } +} + +/* =============== forms.css =================================*/ +.pure-skin-swi .pure-form input[type="text"], +.pure-skin-swi .pure-form input[type="password"], +.pure-skin-swi .pure-form input[type="email"], +.pure-skin-swi .pure-form input[type="url"], +.pure-skin-swi .pure-form input[type="date"], +.pure-skin-swi .pure-form input[type="month"], +.pure-skin-swi .pure-form input[type="time"], +.pure-skin-swi .pure-form input[type="datetime"], +.pure-skin-swi .pure-form input[type="datetime-local"], +.pure-skin-swi .pure-form input[type="week"], +.pure-skin-swi .pure-form input[type="number"], +.pure-skin-swi .pure-form input[type="search"], +.pure-skin-swi .pure-form input[type="tel"], +.pure-skin-swi .pure-form input[type="color"], +.pure-skin-swi .pure-form select, +.pure-skin-swi .pure-form textarea { + padding: 0.5em 0.6em; + display: inline-block; + border: 1px solid #e6e6e6; + font-size: 0.8em; + box-shadow: inset 0 1px 3px #e6e6e6; + border-radius: 8px; + -webkit-transition: 0.3s linear border; + -moz-transition: 0.3s linear border; + -ms-transition: 0.3s linear border; + -o-transition: 0.3s linear border; + transition: 0.3s linear border; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + -webkit-font-smoothing: antialiased; +} + +.pure-skin-swi .pure-form input[type="text"]:focus, +.pure-skin-swi .pure-form input[type="password"]:focus, +.pure-skin-swi .pure-form input[type="email"]:focus, +.pure-skin-swi .pure-form input[type="url"]:focus, +.pure-skin-swi .pure-form input[type="date"]:focus, +.pure-skin-swi .pure-form input[type="month"]:focus, +.pure-skin-swi .pure-form input[type="time"]:focus, +.pure-skin-swi .pure-form input[type="datetime"]:focus, +.pure-skin-swi .pure-form input[type="datetime-local"]:focus, +.pure-skin-swi .pure-form input[type="week"]:focus, +.pure-skin-swi .pure-form input[type="number"]:focus, +.pure-skin-swi .pure-form input[type="search"]:focus, +.pure-skin-swi .pure-form input[type="tel"]:focus, +.pure-skin-swi .pure-form input[type="color"]:focus, +.pure-skin-swi .pure-form select:focus, +.pure-skin-swi .pure-form textarea:focus { + outline: 0; + outline: thin dotted \9; /* IE6-9 */ + border-color: #129FEA; +} + +.pure-skin-swi .pure-form input[type="file"]:focus, +.pure-skin-swi .pure-form input[type="radio"]:focus, +.pure-skin-swi .pure-form input[type="checkbox"]:focus { + outline: thin dotted #333; + outline: 1px auto #129FEA; +} +.pure-skin-swi .pure-form .pure-checkbox, +.pure-skin-swi .pure-form .pure-radio { + margin: 0.5em 0; + display: block; +} +.pure-skin-swi .pure-form input[type="text"][disabled], +.pure-skin-swi .pure-form input[type="password"][disabled], +.pure-skin-swi .pure-form input[type="email"][disabled], +.pure-skin-swi .pure-form input[type="url"][disabled], +.pure-skin-swi .pure-form input[type="date"][disabled], +.pure-skin-swi .pure-form input[type="month"][disabled], +.pure-skin-swi .pure-form input[type="time"][disabled], +.pure-skin-swi .pure-form input[type="datetime"][disabled], +.pure-skin-swi .pure-form input[type="datetime-local"][disabled], +.pure-skin-swi .pure-form input[type="week"][disabled], +.pure-skin-swi .pure-form input[type="number"][disabled], +.pure-skin-swi .pure-form input[type="search"][disabled], +.pure-skin-swi .pure-form input[type="tel"][disabled], +.pure-skin-swi .pure-form input[type="color"][disabled], +.pure-skin-swi .pure-form select[disabled], +.pure-skin-swi .pure-form textarea[disabled] { + cursor: not-allowed; + box-shadow: inset 0 1px 10px #ededed; + background-color: #ededed; + color: #adadad; + border-color: #e6e6e6; +} +.pure-skin-swi .pure-form input[readonly], +.pure-skin-swi .pure-form select[readonly], +.pure-skin-swi .pure-form textarea[readonly], +.pure-skin-swi .pure-form input[readonly]:focus, +.pure-skin-swi .pure-form select[readonly]:focus, +.pure-skin-swi .pure-form textarea[readonly]:focus { + background: #eee; /* menu hover bg color */ + color: #777; /* menu text color */ + border-color: #ccc; +} +.pure-skin-swi .pure-form input:focus:invalid, +.pure-skin-swi .pure-form textarea:focus:invalid, +.pure-skin-swi .pure-form select:focus:invalid { + color: #b94a48; + border: 1px solid #ee5f5b; +} +.pure-skin-swi .pure-form input:focus:invalid:focus, +.pure-skin-swi .pure-form textarea:focus:invalid:focus, +.pure-skin-swi .pure-form select:focus:invalid:focus { + border-color: #e9322d; +} +.pure-skin-swi .pure-form input[type="file"]:focus:invalid:focus, +.pure-skin-swi .pure-form input[type="radio"]:focus:invalid:focus, +.pure-skin-swi .pure-form input[type="checkbox"]:focus:invalid:focus { + outline-color: #e9322d; +} +.pure-skin-swi .pure-form select { + border: 1px solid #e6e6e6; + background-color: white; +} +.pure-skin-swi .pure-form select[multiple] { + height: auto; +} +.pure-skin-swi .pure-form label { + margin: 0.5em 0 0.2em; + color: #4f4f4f; + font-size:90%; +} +.pure-skin-swi .pure-form fieldset { + margin: 0; + padding: 0.35em 0 0.75em; + border: 0; +} +.pure-skin-swi .pure-form legend { + display: block; + width: 100%; + padding: 0.3em 0; + margin-bottom: 0.3em; + font-size: 125%; + color: #262626; + border-bottom: 1px solid #ededed; +} + +.pure-skin-swi .pure-form-stacked input[type="text"], +.pure-skin-swi .pure-form-stacked input[type="password"], +.pure-skin-swi .pure-form-stacked input[type="email"], +.pure-skin-swi .pure-form-stacked input[type="url"], +.pure-skin-swi .pure-form-stacked input[type="date"], +.pure-skin-swi .pure-form-stacked input[type="month"], +.pure-skin-swi .pure-form-stacked input[type="time"], +.pure-skin-swi .pure-form-stacked input[type="datetime"], +.pure-skin-swi .pure-form-stacked input[type="datetime-local"], +.pure-skin-swi .pure-form-stacked input[type="week"], +.pure-skin-swi .pure-form-stacked input[type="number"], +.pure-skin-swi .pure-form-stacked input[type="search"], +.pure-skin-swi .pure-form-stacked input[type="tel"], +.pure-skin-swi .pure-form-stacked input[type="color"], +.pure-skin-swi .pure-form-stacked select, +.pure-skin-swi .pure-form-stacked label, +.pure-skin-swi .pure-form-stacked textarea { + display: block; + margin: 0.25em 0; +} + +.pure-skin-swi .pure-form-aligned input, +.pure-skin-swi .pure-form-aligned textarea, +.pure-skin-swi .pure-form-aligned select, +/* note: pure-help-inline is deprecated. Use .pure-form-message-inline instead */ +.pure-skin-swi .pure-form-aligned .pure-help-inline, +.pure-skin-swi .pure-form-message-inline { + display: inline-block; + *display: inline; /* IE7 inline-block hack */ + *zoom: 1; + vertical-align: middle; +} + +/* aligned Forms */ +.pure-skin-swi .pure-form-aligned .pure-control-group { + margin-bottom: 0.5em; +} +.pure-skin-swi .pure-form-aligned .pure-control-group label { + text-align: right; + display: inline-block; + vertical-align: middle; + width: 10em; + margin: 0 1em 0 0; +} +.pure-skin-swi .pure-form-aligned .pure-controls { + margin: 1.5em 0 0 10em; +} + +/* Rounded Inputs */ +.pure-skin-swi .pure-form input.pure-input-rounded, +.pure-skin-swi .pure-form .pure-input-rounded { + border-radius: 60px; + padding: 0.5em 1em; +} + +/* Grouped Inputs */ +.pure-skin-swi .pure-form .pure-group fieldset { + margin-bottom: 10px; +} +.pure-skin-swi .pure-form .pure-group input { + display: block; + padding: 0.5em 0.6em; + margin: 0; + border-radius: 0; + position: relative; + top: -1px; +} +.pure-skin-swi .pure-form .pure-group input:focus { + z-index: 2; +} +.pure-skin-swi .pure-form .pure-group input:first-child { + top: 1px; + border-radius: 8px 8px 0px 0px; +} +.pure-skin-swi .pure-form .pure-group input:last-child { + top: -2px; + border-radius: 0px 0px 8px 8px; +} +.pure-skin-swi .pure-form .pure-group button { + margin: 0.35em 0; +} + +.pure-skin-swi .pure-form .pure-input-1 { + width: 100%; +} +.pure-skin-swi .pure-form .pure-input-2-3 { + width: 66%; +} +.pure-skin-swi .pure-form .pure-input-1-2 { + width: 50%; +} +.pure-skin-swi .pure-form .pure-input-1-3 { + width: 33%; +} +.pure-skin-swi .pure-form .pure-input-1-4 { + width: 25%; +} + +/* Inline help for forms */ +/* Note: pure-help-inline is deprecated. Use .pure-form-message-inline instead */ +.pure-skin-swi .pure-form .pure-help-inline, +.pure-skin-swi .pure-form-message-inline { + display: inline-block; + padding-left: 0.3em; + color: #adadad; + vertical-align: middle; + font-size: 90%; +} + +/* Block help for forms */ +.pure-skin-swi .pure-form-message { + display: block; + color: #adadad; + font-size: 90%; +} +/* note no template for forms-r.css. no skinnable properties */ + +/* foundational CSS */ +.pure-skin-swi .pure-table { + /* Remove spacing between table cells (from Normalize.css) */ + border-collapse: collapse; + border-spacing: 0; + empty-cells: show; + border: 1px solid #d7e1e5; +} + +.pure-skin-swi .pure-table caption { + color: #adadad; + font: italic 85%/1 arial, sans-serif; + padding: 1em 0; + text-align: center; +} + +.pure-skin-swi .pure-table td, +.pure-skin-swi .pure-table th { + border-left: 1px solid #d7e1e5;/* inner column border */ + border-width: 0 0 0 1px; + font-size: inherit; + margin: 0; + overflow: visible; /*to make ths where the title is really long work*/ + padding: 0.3em 0.6em; /* cell padding */ +} + +.pure-skin-swi .pure-table td:first-child, +.pure-skin-swi .pure-table th:first-child { + border-left-width: 0; +} + +.pure-skin-swi .pure-table thead { + background-color: #d7e1e5; + color: #243238; + text-align: left; + vertical-align: bottom; +} + +/* +striping: + even - #fff (white) + odd - #f2f2f2 (light gray) +*/ +.pure-skin-swi .pure-table td { + background-color: #e9eff1; + color: #32474e; +} +.pure-skin-swi .pure-table-odd td { + background-color: #d7e1e5; + color: #1e2b2f; +} + +/* nth-child selector for modern browsers */ +.pure-skin-swi .pure-table-striped tr:nth-child(2n-1) td { + background-color: #d7e1e5; + color: #1e2b2f; +} + + +/* BORDERED TABLES */ +.pure-skin-swi .pure-table-bordered td { + border-bottom: 1px solid #d7e1e5; +} +.pure-skin-swi .pure-table-bordered tbody > tr:last-child td, +.pure-skin-swi .pure-table-horizontal tbody > tr:last-child td { + border-bottom-width: 0; +} + +/* HORIZONTAL BORDERED TABLES */ +.pure-skin-swi .pure-table-horizontal td, +.pure-skin-swi .pure-table-horizontal th { + border-width: 0 0 1px 0; + border-bottom:1px solid #d7e1e5; +} +.pure-skin-swi .pure-table-horizontal tbody > tr:last-child td { + border-bottom-width: 0; +} + +/* from PURE menu-core.css */ +/*csslint adjoining-classes:false, outline-none:false*/ +/*TODO: Remove this lint rule override after a refactor of this code.*/ + +.pure-skin-swi .pure-menu ul { + position: absolute; + visibility: hidden; +} + +.pure-skin-swi .pure-menu.pure-menu-open { + visibility: visible; + z-index: 2; + width: 100%; +} + +.pure-skin-swi .pure-menu ul { + left: -10000px; + list-style: none; + margin: 0; + padding: 0; + top: -10000px; + z-index: 1; +} + +.pure-skin-swi .pure-menu > ul { position: relative; } + +.pure-skin-swi .pure-menu-open > ul { + left: 0; + top: 0; + visibility: visible; +} + +.pure-skin-swi .pure-menu-open > ul:focus { + outline: 0; +} + +.pure-skin-swi .pure-menu li { + position: relative; +} + +.pure-skin-swi .pure-menu a, .pure-skin-swi .pure-menu .pure-menu-heading { + display: block; + color: inherit; + line-height: 1.5em; + padding: 0.35em 1.4em; + text-decoration: none; + white-space: nowrap; +} + +.pure-skin-swi .pure-menu.pure-menu-horizontal > .pure-menu-heading { + display: inline-block; + *display: inline; + zoom: 1; + margin: 0; + vertical-align: middle; +} +.pure-skin-swi .pure-menu.pure-menu-horizontal > ul { + display: inline-block; + *display: inline; + zoom: 1; + vertical-align: middle; + /* height: 2.4em; removed for Skin Builder */ +} + +.pure-skin-swi .pure-menu li a { padding: 0.35em 1.4em; } + +.pure-skin-swi .pure-menu-can-have-children > .pure-menu-label:after { + content: '\25B8'; + float: right; + font-family: 'Lucida Grande', 'Lucida Sans Unicode', 'DejaVu Sans', sans-serif; /* These specific fonts have the Unicode char we need. */ + margin-right: -20px; + margin-top: -1px; +} + +.pure-skin-swi .pure-menu-can-have-children > .pure-menu-label { + padding-right: 30px; +} + +.pure-skin-swi .pure-menu-separator { + background-color: #d7e1e5; + display: block; + height: 1px; + font-size: 0; + margin: 7px 2px; + overflow: hidden; +} + +.pure-skin-swi .pure-menu-hidden { + display: none; +} + +/* FIXED MENU */ +.pure-skin-swi .pure-menu-fixed { + position: fixed; + top:0; + left:0; + width: 100%; +} + + +/* HORIZONTAL MENU CODE */ + +/* Initial menus should be inline-block so that they are horizontal */ +.pure-skin-swi .pure-menu-horizontal li { + display: inline-block; + *display: inline; + zoom: 1; + vertical-align: middle; +} + +/* Submenus should still be display:block; */ +.pure-skin-swi .pure-menu-horizontal li li { + display: block; +} + +/* Content after should be down arrow */ +.pure-skin-swi .pure-menu-horizontal > .pure-menu-children > .pure-menu-can-have-children > .pure-menu-label:after { + content: "\25BE"; +} +/*Add extra padding to elements that have the arrow so that the hover looks nice */ +.pure-skin-swi .pure-menu-horizontal > .pure-menu-children > .pure-menu-can-have-children > .pure-menu-label { + padding-right: 30px; +} + +/* Adjusting separator for vertical menus */ +.pure-skin-swi .pure-menu-horizontal li.pure-menu-separator { + height: 50%; + width: 1px; + margin: 0 7px; +} + +/* Submenus should be horizontal separator again */ +.pure-skin-swi .pure-menu-horizontal li li.pure-menu-separator { +height: 1px; +width: auto; +margin: 7px 2px; +} + + +/* end from yuicss/menu-core.css *******************************************/ +/* from yuicss menu-paginator.css */ +/*csslint box-model:false*/ +/*TODO: Remove this lint rule override after a refactor of this code.*/ + +.pure-skin-swi .pure-paginator { + + /* `pure-g` Grid styles */ + letter-spacing: -0.31em; /* Webkit: collapse white-space between units */ + *letter-spacing: normal; /* reset IE < 8 */ + *word-spacing: -0.43em; /* IE < 8: collapse white-space between units */ + text-rendering: optimizespeed; /* Webkit: fixes text-rendering: optimizeLegibility */ + + /* `pure-paginator` Specific styles */ + list-style: none; + margin: 0; + padding: 0; +} +.opera-only :-o-prefocus, +.pure-skin-swi .pure-paginator { + word-spacing: -0.43em; +} + +/* `pure-u` Grid styles */ +.pure-skin-swi .pure-paginator li { + display: inline-block; + *display: inline; /* IE < 8: fake inline-block */ + zoom: 1; + letter-spacing: normal; + word-spacing: normal; + vertical-align: top; + text-rendering: auto; +} +.pure-skin-swi .pure-paginator .pure-button { + border-radius: 0; + padding: 0.8em 1.4em; + vertical-align: top; + height: 1.1em; +} +.pure-skin-swi .pure-paginator .pure-button:focus, +.pure-skin-swi .pure-paginator .pure-button:active { + outline-style: none; +} +.pure-skin-swi .pure-paginator .prev, +.pure-skin-swi .pure-paginator .next { + /*color: #C0C1C3; allow .pure-button to color text*/ +} +.pure-skin-swi .pure-paginator .prev { + border-radius: 8px 0px 0px 8px; +} +.pure-skin-swi .pure-paginator .next { + border-radius: 0px 8px 8px 0px; +} +/* end from PURE menu-paginator.css ******************************/ +/* from PURE menu.css *******************************************/ +/* MAIN MENU STYLING */ +/*csslint adjoining-classes:false*/ +/*TODO: Remove this lint rule override after a refactor of this code.*/ + +.pure-skin-swi .pure-menu.pure-menu-open, +.pure-skin-swi .pure-menu.pure-menu-horizontal li .pure-menu-children { + background: #e9eff1; /* Old browsers */ + border: 1px solid #d7e1e5; +} + +/* remove borders for horizontal menus */ +.pure-skin-swi .pure-menu.pure-menu-horizontal, +.pure-skin-swi .pure-menu.pure-menu-horizontal .pure-menu-heading { + border: none; +} + + +/* LINK STYLES */ + +.pure-skin-swi .pure-menu a { + border: 1px solid transparent; + border-left: none; + border-right: none; + +} + +.pure-skin-swi .pure-menu a, +.pure-skin-swi .pure-menu .pure-menu-can-have-children > li:after { + color: #32474e; +} + +.pure-skin-swi .pure-menu .pure-menu-can-have-children > li:hover:after { + color: #1e2b2f; +} + +/* Focus style for a dropdown menu-item when the parent has been opened */ +.pure-skin-swi .pure-menu .pure-menu-open { + background: #cddbdf; +} + +.pure-skin-swi .pure-menu li a:hover, +.pure-skin-swi .pure-menu li a:focus { + background: #cddbdf; +} + +/* DISABLED STATES */ +.pure-skin-swi .pure-menu li.pure-menu-disabled a:hover, +.pure-skin-swi .pure-menu li.pure-menu-disabled a:focus { + background: #e9eff1; + color: #89a9b3; +} + +.pure-skin-swi .pure-menu .pure-menu-disabled > a { + background-image: none; + border-color: transparent; + cursor: default; +} + +.pure-skin-swi .pure-menu .pure-menu-disabled > a, +.pure-skin-swi .pure-menu .pure-menu-can-have-children.pure-menu-disabled > a:after { + color: #89a9b3; +} + +/* HEADINGS */ +.pure-skin-swi .pure-menu .pure-menu-heading { + color: #12191c; + text-transform: uppercase; + font-size: 90%; + margin-top: 0.5em; + border-bottom: solid 1px #d7e1e5; +} + + +/* SELECTED MENU ITEM */ +.pure-skin-swi .pure-menu li.pure-menu-selected a { + background-color: #457387; + color: #fcfdfd; +} + +/* FIXED MENU */ +.pure-skin-swi .pure-menu.pure-menu-open.pure-menu-fixed { + border: none; + border-bottom: 1px solid #d7e1e5; +} +/* end from PURE menu.css ***********************************/ +/* from PURE menu-responsive.css ****************************/ +/* RESPONSIVE */ + +@media (max-width: 480px) { + + .pure-skin-swi .pure-menu-horizontal { + width:100%; + } + + .pure-skin-swi .pure-menu-children li { + display: block; + border-bottom:1px solid #d7e1e5; + } + +} +/* end from menu-responsive.css ******************/ + +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/web/css/pure/pure-skin.css Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,1 @@ +pure-skin-plum.css \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/web/css/swish-extra.css Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,51 @@ +/* overrides to swish_min.css */ +body{font-family:"Source Sans Pro","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:300} +.CodeMirror{font-family:"Source Code Pro",monospace;font-weight:400;line-height:1.4em;font-size:90%} +div.prolog-runners{background-image:none} +div.prolog-runner{border-radius:0px;border:none;margin:4px} +div.runner-title{border-radius:0px} +div.prolog-runner:focus div.runner-title{border:1px solid #000} +div.runner-title>button{text-shadow:none} +div.render-multi{background-image:none} +.splitter_panel .hsplitter,.splitter_panel .vsplitter{border:0px solid #ccc; background-color:#bFbFbF} +.splitter_panel .vsplitter{width:1px} +.splitter_panel .hsplitter{height:1px} +.btn { vertical-align:middle } +.btn-group { vertical-align:middle } +button,html input[type=button],input[type=reset],input[type=submit]{ + -webkit-appearance:none; + background-color:white; + border:1px solid #bbb; + border-radius:4px; + margin-top:2px; + margin-right:2px; + padding-top:0px; + padding-bottom:2px} +/* .navbar-form .input-group { vertical-align:middle } */ +.navbar-form .form-control { padding-left: 8px; vertical-align:middle } +/* .input-group-addon, .input-group-btn { vertical-align:middle } */ +.input-group-btn button { margin-top:0px; margin-bottom:0px } +/* .input-group .twitter-typeahead { vertical-align:middle } */ +.caret{margin-left:3px} +.btn .caret{margin-left:3px} +span.pl-blob { + border-radius: 1em; + background-color: #444; + font-style: normal; + margin: 0.1ex; + padding: 0ex .5ex 0.2ex 0.5ex; + color:#fff +} +.btn-primary { border-color:#040; background-color:#080 } +.btn-primary:hover { border-color:#040; background-color:#0a0 } +nav.navbar { margin-bottom:0px; border-radius:0px } +span.run-chk-table input { top:auto } +span.run-chk-table { font-size:12px; font-weight:normal } +.ui-widget-header { background-image:none } +table.prolog-answers tr:nth-child(odd) { background:transparent } +table.prolog-answers tr.projection { border-bottom-width: 1px } +table.prolog-answers th { text-align:left } +table.prolog-answers td, table.prolog-answers th { padding:2px 5px} +div.answer.even, div.answer.odd { background-color:transparent; padding:2px; border-bottom:solid 1px #ddd } +table.prolog-query .prolog-prompt { width:2.5ex;vertical-align:baseline } +.render-multi-active { width:0.5em; height:0.5em }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/web/js/add_dummy_iframe.js Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,4 @@ +$(document).ready( function () { + $('body').append('<iframe name="dummy" style="display:none"></iframe>'); +}); +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/web/js/bootstrap.min.js Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,7 @@ +/*! + * Bootstrap v3.3.2 (http://getbootstrap.com) + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ +if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";var b=a.fn.jquery.split(" ")[0].split(".");if(b[0]<2&&b[1]<9||1==b[0]&&9==b[1]&&b[2]<1)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher")}(jQuery),+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){return a(b.target).is(this)?b.handleObj.handler.apply(this,arguments):void 0}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.3.2",d.TRANSITION_DURATION=150,d.prototype.close=function(b){function c(){g.detach().trigger("closed.bs.alert").remove()}var e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,""));var g=a(f);b&&b.preventDefault(),g.length||(g=e.closest(".alert")),g.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(g.removeClass("in"),a.support.transition&&g.hasClass("fade")?g.one("bsTransitionEnd",c).emulateTransitionEnd(d.TRANSITION_DURATION):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.3.2",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),setTimeout(a.proxy(function(){d[e](null==f[b]?this.options[b]:f[b]),"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")&&(c.prop("checked")&&this.$element.hasClass("active")?a=!1:b.find(".active").removeClass("active")),a&&c.prop("checked",!this.$element.hasClass("active")).trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active"));a&&this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target);d.hasClass("btn")||(d=d.closest(".btn")),b.call(d,"toggle"),c.preventDefault()}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(b){a(b.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(b.type))})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=this.sliding=this.interval=this.$active=this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",a.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.3.2",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(a){if(!/input|textarea/i.test(a.target.tagName)){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()}},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.getItemForDirection=function(a,b){var c=this.getItemIndex(b),d="prev"==a&&0===c||"next"==a&&c==this.$items.length-1;if(d&&!this.options.wrap)return b;var e="prev"==a?-1:1,f=(c+e)%this.$items.length;return this.$items.eq(f)},c.prototype.to=function(a){var b=this,c=this.getItemIndex(this.$active=this.$element.find(".item.active"));return a>this.$items.length-1||0>a?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){b.to(a)}):c==a?this.pause().cycle():this.slide(a>c?"next":"prev",this.$items.eq(a))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){return this.sliding?void 0:this.slide("next")},c.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},c.prototype.slide=function(b,d){var e=this.$element.find(".item.active"),f=d||this.getItemForDirection(b,e),g=this.interval,h="next"==b?"left":"right",i=this;if(f.hasClass("active"))return this.sliding=!1;var j=f[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:h});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,g&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(f)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:h});return a.support.transition&&this.$element.hasClass("slide")?(f.addClass(b),f[0].offsetWidth,e.addClass(h),f.addClass(h),e.one("bsTransitionEnd",function(){f.removeClass([b,h].join(" ")).addClass("active"),e.removeClass(["active",h].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger(m)),g&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this};var e=function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}};a(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){var c,d=b.attr("data-target")||(c=b.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"");return a(d)}function c(b){return this.each(function(){var c=a(this),e=c.data("bs.collapse"),f=a.extend({},d.DEFAULTS,c.data(),"object"==typeof b&&b);!e&&f.toggle&&"show"==b&&(f.toggle=!1),e||c.data("bs.collapse",e=new d(this,f)),"string"==typeof b&&e[b]()})}var d=function(b,c){this.$element=a(b),this.options=a.extend({},d.DEFAULTS,c),this.$trigger=a(this.options.trigger).filter('[href="#'+b.id+'"], [data-target="#'+b.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};d.VERSION="3.3.2",d.TRANSITION_DURATION=350,d.DEFAULTS={toggle:!0,trigger:'[data-toggle="collapse"]'},d.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b,e=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(e&&e.length&&(b=e.data("bs.collapse"),b&&b.transitioning))){var f=a.Event("show.bs.collapse");if(this.$element.trigger(f),!f.isDefaultPrevented()){e&&e.length&&(c.call(e,"hide"),b||e.data("bs.collapse",null));var g=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var h=function(){this.$element.removeClass("collapsing").addClass("collapse in")[g](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return h.call(this);var i=a.camelCase(["scroll",g].join("-"));this.$element.one("bsTransitionEnd",a.proxy(h,this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])}}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var e=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(e,this)).emulateTransitionEnd(d.TRANSITION_DURATION):e.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},d.prototype.getParent=function(){return a(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(c,d){var e=a(d);this.addAriaAndCollapsedClass(b(e),e)},this)).end()},d.prototype.addAriaAndCollapsedClass=function(a,b){var c=a.hasClass("in");a.attr("aria-expanded",c),b.toggleClass("collapsed",!c).attr("aria-expanded",c)};var e=a.fn.collapse;a.fn.collapse=c,a.fn.collapse.Constructor=d,a.fn.collapse.noConflict=function(){return a.fn.collapse=e,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(d){var e=a(this);e.attr("data-target")||d.preventDefault();var f=b(e),g=f.data("bs.collapse"),h=g?"toggle":a.extend({},e.data(),{trigger:this});c.call(f,h)})}(jQuery),+function(a){"use strict";function b(b){b&&3===b.which||(a(e).remove(),a(f).each(function(){var d=a(this),e=c(d),f={relatedTarget:this};e.hasClass("open")&&(e.trigger(b=a.Event("hide.bs.dropdown",f)),b.isDefaultPrevented()||(d.attr("aria-expanded","false"),e.removeClass("open").trigger("hidden.bs.dropdown",f)))}))}function c(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.2",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=c(e),g=f.hasClass("open");if(b(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a('<div class="dropdown-backdrop"/>').insertAfter(a(this)).on("click",b);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus").attr("aria-expanded","true"),f.toggleClass("open").trigger("shown.bs.dropdown",h)}return!1}},g.prototype.keydown=function(b){if(/(38|40|27|32)/.test(b.which)&&!/input|textarea/i.test(b.target.tagName)){var d=a(this);if(b.preventDefault(),b.stopPropagation(),!d.is(".disabled, :disabled")){var e=c(d),g=e.hasClass("open");if(!g&&27!=b.which||g&&27==b.which)return 27==b.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" li:not(.divider):visible a",i=e.find('[role="menu"]'+h+', [role="listbox"]'+h);if(i.length){var j=i.index(b.target);38==b.which&&j>0&&j--,40==b.which&&j<i.length-1&&j++,~j||(j=0),i.eq(j).trigger("focus")}}}};var h=a.fn.dropdown;a.fn.dropdown=d,a.fn.dropdown.Constructor=g,a.fn.dropdown.noConflict=function(){return a.fn.dropdown=h,this},a(document).on("click.bs.dropdown.data-api",b).on("click.bs.dropdown.data-api",".dropdown form",function(a){a.stopPropagation()}).on("click.bs.dropdown.data-api",f,g.prototype.toggle).on("keydown.bs.dropdown.data-api",f,g.prototype.keydown).on("keydown.bs.dropdown.data-api",'[role="menu"]',g.prototype.keydown).on("keydown.bs.dropdown.data-api",'[role="listbox"]',g.prototype.keydown)}(jQuery),+function(a){"use strict";function b(b,d){return this.each(function(){var e=a(this),f=e.data("bs.modal"),g=a.extend({},c.DEFAULTS,e.data(),"object"==typeof b&&b);f||e.data("bs.modal",f=new c(this,g)),"string"==typeof b?f[b](d):g.show&&f.show(d)})}var c=function(b,c){this.options=c,this.$body=a(document.body),this.$element=a(b),this.$backdrop=this.isShown=null,this.scrollbarWidth=0,this.options.remote&&this.$element.find(".modal-content").load(this.options.remote,a.proxy(function(){this.$element.trigger("loaded.bs.modal")},this))};c.VERSION="3.3.2",c.TRANSITION_DURATION=300,c.BACKDROP_TRANSITION_DURATION=150,c.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},c.prototype.toggle=function(a){return this.isShown?this.hide():this.show(a)},c.prototype.show=function(b){var d=this,e=a.Event("show.bs.modal",{relatedTarget:b});this.$element.trigger(e),this.isShown||e.isDefaultPrevented()||(this.isShown=!0,this.checkScrollbar(),this.setScrollbar(),this.$body.addClass("modal-open"),this.escape(),this.resize(),this.$element.on("click.dismiss.bs.modal",'[data-dismiss="modal"]',a.proxy(this.hide,this)),this.backdrop(function(){var e=a.support.transition&&d.$element.hasClass("fade");d.$element.parent().length||d.$element.appendTo(d.$body),d.$element.show().scrollTop(0),d.options.backdrop&&d.adjustBackdrop(),d.adjustDialog(),e&&d.$element[0].offsetWidth,d.$element.addClass("in").attr("aria-hidden",!1),d.enforceFocus();var f=a.Event("shown.bs.modal",{relatedTarget:b});e?d.$element.find(".modal-dialog").one("bsTransitionEnd",function(){d.$element.trigger("focus").trigger(f)}).emulateTransitionEnd(c.TRANSITION_DURATION):d.$element.trigger("focus").trigger(f)}))},c.prototype.hide=function(b){b&&b.preventDefault(),b=a.Event("hide.bs.modal"),this.$element.trigger(b),this.isShown&&!b.isDefaultPrevented()&&(this.isShown=!1,this.escape(),this.resize(),a(document).off("focusin.bs.modal"),this.$element.removeClass("in").attr("aria-hidden",!0).off("click.dismiss.bs.modal"),a.support.transition&&this.$element.hasClass("fade")?this.$element.one("bsTransitionEnd",a.proxy(this.hideModal,this)).emulateTransitionEnd(c.TRANSITION_DURATION):this.hideModal())},c.prototype.enforceFocus=function(){a(document).off("focusin.bs.modal").on("focusin.bs.modal",a.proxy(function(a){this.$element[0]===a.target||this.$element.has(a.target).length||this.$element.trigger("focus")},this))},c.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keydown.dismiss.bs.modal",a.proxy(function(a){27==a.which&&this.hide()},this)):this.isShown||this.$element.off("keydown.dismiss.bs.modal")},c.prototype.resize=function(){this.isShown?a(window).on("resize.bs.modal",a.proxy(this.handleUpdate,this)):a(window).off("resize.bs.modal")},c.prototype.hideModal=function(){var a=this;this.$element.hide(),this.backdrop(function(){a.$body.removeClass("modal-open"),a.resetAdjustments(),a.resetScrollbar(),a.$element.trigger("hidden.bs.modal")})},c.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},c.prototype.backdrop=function(b){var d=this,e=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var f=a.support.transition&&e;if(this.$backdrop=a('<div class="modal-backdrop '+e+'" />').prependTo(this.$element).on("click.dismiss.bs.modal",a.proxy(function(a){a.target===a.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus.call(this.$element[0]):this.hide.call(this))},this)),f&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!b)return;f?this.$backdrop.one("bsTransitionEnd",b).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION):b()}else if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");var g=function(){d.removeBackdrop(),b&&b()};a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one("bsTransitionEnd",g).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION):g()}else b&&b()},c.prototype.handleUpdate=function(){this.options.backdrop&&this.adjustBackdrop(),this.adjustDialog()},c.prototype.adjustBackdrop=function(){this.$backdrop.css("height",0).css("height",this.$element[0].scrollHeight)},c.prototype.adjustDialog=function(){var a=this.$element[0].scrollHeight>document.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&a?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!a?this.scrollbarWidth:""})},c.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},c.prototype.checkScrollbar=function(){this.bodyIsOverflowing=document.body.scrollHeight>document.documentElement.clientHeight,this.scrollbarWidth=this.measureScrollbar()},c.prototype.setScrollbar=function(){var a=parseInt(this.$body.css("padding-right")||0,10);this.bodyIsOverflowing&&this.$body.css("padding-right",a+this.scrollbarWidth)},c.prototype.resetScrollbar=function(){this.$body.css("padding-right","")},c.prototype.measureScrollbar=function(){var a=document.createElement("div");a.className="modal-scrollbar-measure",this.$body.append(a);var b=a.offsetWidth-a.clientWidth;return this.$body[0].removeChild(a),b};var d=a.fn.modal;a.fn.modal=b,a.fn.modal.Constructor=c,a.fn.modal.noConflict=function(){return a.fn.modal=d,this},a(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(c){var d=a(this),e=d.attr("href"),f=a(d.attr("data-target")||e&&e.replace(/.*(?=#[^\s]+$)/,"")),g=f.data("bs.modal")?"toggle":a.extend({remote:!/#/.test(e)&&e},f.data(),d.data());d.is("a")&&c.preventDefault(),f.one("show.bs.modal",function(a){a.isDefaultPrevented()||f.one("hidden.bs.modal",function(){d.is(":visible")&&d.trigger("focus")})}),b.call(f,g,this)})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tooltip"),f="object"==typeof b&&b;(e||"destroy"!=b)&&(e||d.data("bs.tooltip",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.type=this.options=this.enabled=this.timeout=this.hoverState=this.$element=null,this.init("tooltip",a,b)};c.VERSION="3.3.2",c.TRANSITION_DURATION=150,c.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(this.options.viewport.selector||this.options.viewport);for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c&&c.$tip&&c.$tip.is(":visible")?void(c.hoverState="in"):(c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show())},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide()},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var d=a.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!d)return;var e=this,f=this.tip(),g=this.getUID(this.type);this.setContent(),f.attr("id",g),this.$element.attr("aria-describedby",g),this.options.animation&&f.addClass("fade");var h="function"==typeof this.options.placement?this.options.placement.call(this,f[0],this.$element[0]):this.options.placement,i=/\s?auto?\s?/i,j=i.test(h);j&&(h=h.replace(i,"")||"top"),f.detach().css({top:0,left:0,display:"block"}).addClass(h).data("bs."+this.type,this),this.options.container?f.appendTo(this.options.container):f.insertAfter(this.$element);var k=this.getPosition(),l=f[0].offsetWidth,m=f[0].offsetHeight;if(j){var n=h,o=this.options.container?a(this.options.container):this.$element.parent(),p=this.getPosition(o);h="bottom"==h&&k.bottom+m>p.bottom?"top":"top"==h&&k.top-m<p.top?"bottom":"right"==h&&k.right+l>p.width?"left":"left"==h&&k.left-l<p.left?"right":h,f.removeClass(n).addClass(h)}var q=this.getCalculatedOffset(h,k,l,m);this.applyPlacement(q,h);var r=function(){var a=e.hoverState;e.$element.trigger("shown.bs."+e.type),e.hoverState=null,"out"==a&&e.leave(e)};a.support.transition&&this.$tip.hasClass("fade")?f.one("bsTransitionEnd",r).emulateTransitionEnd(c.TRANSITION_DURATION):r()}},c.prototype.applyPlacement=function(b,c){var d=this.tip(),e=d[0].offsetWidth,f=d[0].offsetHeight,g=parseInt(d.css("margin-top"),10),h=parseInt(d.css("margin-left"),10);isNaN(g)&&(g=0),isNaN(h)&&(h=0),b.top=b.top+g,b.left=b.left+h,a.offset.setOffset(d[0],a.extend({using:function(a){d.css({top:Math.round(a.top),left:Math.round(a.left)})}},b),0),d.addClass("in");var i=d[0].offsetWidth,j=d[0].offsetHeight;"top"==c&&j!=f&&(b.top=b.top+f-j);var k=this.getViewportAdjustedDelta(c,b,i,j);k.left?b.left+=k.left:b.top+=k.top;var l=/top|bottom/.test(c),m=l?2*k.left-e+i:2*k.top-f+j,n=l?"offsetWidth":"offsetHeight";d.offset(b),this.replaceArrow(m,d[0][n],l)},c.prototype.replaceArrow=function(a,b,c){this.arrow().css(c?"left":"top",50*(1-a/b)+"%").css(c?"top":"left","")},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle();a.find(".tooltip-inner")[this.options.html?"html":"text"](b),a.removeClass("fade in top bottom left right")},c.prototype.hide=function(b){function d(){"in"!=e.hoverState&&f.detach(),e.$element.removeAttr("aria-describedby").trigger("hidden.bs."+e.type),b&&b()}var e=this,f=this.tip(),g=a.Event("hide.bs."+this.type);return this.$element.trigger(g),g.isDefaultPrevented()?void 0:(f.removeClass("in"),a.support.transition&&this.$tip.hasClass("fade")?f.one("bsTransitionEnd",d).emulateTransitionEnd(c.TRANSITION_DURATION):d(),this.hoverState=null,this)},c.prototype.fixTitle=function(){var a=this.$element;(a.attr("title")||"string"!=typeof a.attr("data-original-title"))&&a.attr("data-original-title",a.attr("title")||"").attr("title","")},c.prototype.hasContent=function(){return this.getTitle()},c.prototype.getPosition=function(b){b=b||this.$element;var c=b[0],d="BODY"==c.tagName,e=c.getBoundingClientRect();null==e.width&&(e=a.extend({},e,{width:e.right-e.left,height:e.bottom-e.top}));var f=d?{top:0,left:0}:b.offset(),g={scroll:d?document.documentElement.scrollTop||document.body.scrollTop:b.scrollTop()},h=d?{width:a(window).width(),height:a(window).height()}:null;return a.extend({},e,g,h,f)},c.prototype.getCalculatedOffset=function(a,b,c,d){return"bottom"==a?{top:b.top+b.height,left:b.left+b.width/2-c/2}:"top"==a?{top:b.top-d,left:b.left+b.width/2-c/2}:"left"==a?{top:b.top+b.height/2-d/2,left:b.left-c}:{top:b.top+b.height/2-d/2,left:b.left+b.width}},c.prototype.getViewportAdjustedDelta=function(a,b,c,d){var e={top:0,left:0};if(!this.$viewport)return e;var f=this.options.viewport&&this.options.viewport.padding||0,g=this.getPosition(this.$viewport);if(/right|left/.test(a)){var h=b.top-f-g.scroll,i=b.top+f-g.scroll+d;h<g.top?e.top=g.top-h:i>g.top+g.height&&(e.top=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;j<g.left?e.left=g.left-j:k>g.width&&(e.left=g.left+g.width-k)}return e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){return this.$tip=this.$tip||a(this.options.template)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){var a=this;clearTimeout(this.timeout),this.hide(function(){a.$element.off("."+a.type).removeData("bs."+a.type)})};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b;(e||"destroy"!=b)&&(e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");c.VERSION="3.3.2",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")},c.prototype.tip=function(){return this.$tip||(this.$tip=a(this.options.template)),this.$tip};var d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),+function(a){"use strict";function b(c,d){var e=a.proxy(this.process,this);this.$body=a("body"),this.$scrollElement=a(a(c).is("body")?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",e),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.3.2",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b="offset",c=0;a.isWindow(this.$scrollElement[0])||(b="position",c=this.$scrollElement.scrollTop()),this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight();var d=this;this.$body.find(this.selector).map(function(){var d=a(this),e=d.data("target")||d.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[b]().top+c,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){d.offsets.push(this[0]),d.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b<e[0])return this.activeTarget=null,this.clear();for(a=e.length;a--;)g!=f[a]&&b>=e[a]&&(!e[a+1]||b<=e[a+1])&&this.activate(f[a])},b.prototype.activate=function(b){this.activeTarget=b,this.clear();var c=this.selector+'[data-target="'+b+'"],'+this.selector+'[href="'+b+'"]',d=a(c).parents("li").addClass("active");d.parent(".dropdown-menu").length&&(d=d.closest("li.dropdown").addClass("active")),d.trigger("activate.bs.scrollspy")},b.prototype.clear=function(){a(this.selector).parentsUntil(this.options.target,".active").removeClass("active")};var d=a.fn.scrollspy;a.fn.scrollspy=c,a.fn.scrollspy.Constructor=b,a.fn.scrollspy.noConflict=function(){return a.fn.scrollspy=d,this},a(window).on("load.bs.scrollspy.data-api",function(){a('[data-spy="scroll"]').each(function(){var b=a(this);c.call(b,b.data())})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tab");e||d.data("bs.tab",e=new c(this)),"string"==typeof b&&e[b]()})}var c=function(b){this.element=a(b)};c.VERSION="3.3.2",c.TRANSITION_DURATION=150,c.prototype.show=function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.data("target");if(d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),!b.parent("li").hasClass("active")){var e=c.find(".active:last a"),f=a.Event("hide.bs.tab",{relatedTarget:b[0]}),g=a.Event("show.bs.tab",{relatedTarget:e[0]});if(e.trigger(f),b.trigger(g),!g.isDefaultPrevented()&&!f.isDefaultPrevented()){var h=a(d);this.activate(b.closest("li"),c),this.activate(h,h.parent(),function(){e.trigger({type:"hidden.bs.tab",relatedTarget:b[0]}),b.trigger({type:"shown.bs.tab",relatedTarget:e[0]})})}}},c.prototype.activate=function(b,d,e){function f(){g.removeClass("active").find("> .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),b.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),h?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu")&&b.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),e&&e() +}var g=d.find("> .active"),h=e&&a.support.transition&&(g.length&&g.hasClass("fade")||!!d.find("> .fade").length);g.length&&h?g.one("bsTransitionEnd",f).emulateTransitionEnd(c.TRANSITION_DURATION):f(),g.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constructor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this};var e=function(c){c.preventDefault(),b.call(a(this),"show")};a(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',e).on("click.bs.tab.data-api",'[data-toggle="pill"]',e)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=this.unpin=this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.3.2",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getState=function(a,b,c,d){var e=this.$target.scrollTop(),f=this.$element.offset(),g=this.$target.height();if(null!=c&&"top"==this.affixed)return c>e?"top":!1;if("bottom"==this.affixed)return null!=c?e+this.unpin<=f.top?!1:"bottom":a-d>=e+g?!1:"bottom";var h=null==this.affixed,i=h?e:f.top,j=h?g:b;return null!=c&&c>=e?"top":null!=d&&i+j>=a-d?"bottom":!1},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=this.$element.height(),d=this.options.offset,e=d.top,f=d.bottom,g=a("body").height();"object"!=typeof d&&(f=e=d),"function"==typeof e&&(e=d.top(this.$element)),"function"==typeof f&&(f=d.bottom(this.$element));var h=this.getState(g,b,e,f);if(this.affixed!=h){null!=this.unpin&&this.$element.css("top","");var i="affix"+(h?"-"+h:""),j=a.Event(i+".bs.affix");if(this.$element.trigger(j),j.isDefaultPrevented())return;this.affixed=h,this.unpin="bottom"==h?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(i).trigger(i.replace("affix","affixed")+".bs.affix")}"bottom"==h&&this.$element.offset({top:g-b-f})}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},null!=d.offsetBottom&&(d.offset.bottom=d.offsetBottom),null!=d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery); \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/web/js/callgraph.js Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,55 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University College London + Distributed under GPL v3 +*/ + +/* clears the graph display element */ +function clear_output() { $('#output').html(''); } + +/* Following are three different ways to load a pan/zoom enabled SVG + * element into the #output element. */ + +/* USING JQUERY: loads SVG content from a URL into an element identified + * by a jQuery selector. Pan/Zoom controls are then enabled for the SVG element. */ +function load_svg(sel,url) { + target=$(sel); + target.load(url, function () { + console.log("SVG loaded"); + svg=target.find('svg'); + svg.attr('width','100%').attr('height','100%'); + svgPanZoom(svg.get(0),{ + zoomEnabled: true, + controlIconsEnabled: true, + fit: true, + center: true + }); + }); +} + +/* USING OBJECT element. No good. */ +function load_object(sel,url) { + console.log(url); + var obj=$('<object id="obj" width="100%" height="100%" type="image/svg+xml" data="'+url+'"></object>'); + $('#output').html(obj); + // cannot get hold of SVG element here for some reason... + // var svg=obj.get(0).contentDocument.getElementsByTagName('svg')[0]; +} + +/* Using SVG element with xlink:href attribute to link to content + * This does not seem so good for some reason... */ +function load_svg_href(sel,url) { + var svg=$('<svg id="svg" width="100%" height="100%" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><image x="0" y="0" width="100%" height="100%" xlink:href="'+url+'"></image></svg>'); + sel.html(svg); + svgPanZoom('#svg',{ + zoomEnabled: true, + controlIconsEnabled: true, + fit: true, + center: true + }); +} + +/* Gets module name from #module and loads callgraph into #output */ +function update_svg(loc) { + var module=$('#module').val(); + load_svg('#output',loc+"?format=svg&module="+module); +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/web/js/playlist.js Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,33 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University College London + Distributed under GPL v3 +*/ + +function init_playlist(id){ + var audio=$('#'+id+'-audio'); + var tracks=$('#'+id+'-list').find('li a.audio'); + var current=0; + + console.log('Initialising playlist '+id+' with '+tracks.length+' tracks.'); + last=tracks.length - 1; + audio[0].volume= .50; + tracks.click(function(e){ + e.preventDefault(); + link=$(this); + current=link.parent().parent().index(); + pl_run(link, audio[0]); + }); + audio[0].addEventListener('ended',function(e){ + current++; + if(current==last){current=0; link=tracks[0];} + else{link=tracks[current];} + pl_run($(link),audio[0]); + }); +} +function pl_run(link, player){ + player.src=link.attr('href'); + par=link.parent().parent(); + par.addClass('active').siblings().removeClass('active'); + player.load(); + player.play(); +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/web/js/smartimg.js Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,61 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University College London + Distributed under GPL v3 +*/ +function load_img(id,url) +{ + var xhr = new XMLHttpRequest(); + xhr.open('GET',url,true); + xhr.responseType = 'arraybuffer'; + xhr.onload = function(e) { + var type = xhr.getResponseHeader('Content-Type') + console.log(type) + + var arr = new Uint8Array(this.response); + var raw = ''; + var i,j,subArray,chunk = 5000; + for (i=0,j=arr.length; i<j; i+=chunk) { + subArray = arr.subarray(i,i+chunk); + raw += String.fromCharCode.apply(null, subArray); + } + var dataURL="data:"+type+";base64,"+btoa(raw); + document.getElementById(id).src = dataURL; + }; + xhr.send(); +} + +function load_img2(id,url) +{ + var xhr = new XMLHttpRequest(); + xhr.responseType = 'arraybuffer'; + xhr.onload = function() { + var type = xhr.getResponseHeader('Content-Type') + var el = document.getElementById(id); + if (type.substring(0,6)=="image/") { + var blb = new Blob([xhr.response], {type: type}); + var url = (window.URL || window.webkitURL).createObjectURL(blb); + el.src = url; + } else { + var styles = window.getComputedStyle(el); + var fr = document.createElement('iframe'); + var st = fr.style; + st.width=styles.getPropertyValue('width'); + st.height=styles.getPropertyValue('height'); + st.display='inline'; + st['vertical-align']='middle'; + st['background-color']='#ffe0e0'; + + el.parentNode.replaceChild(fr, el); + var arr = new Uint8Array(this.response); + var raw = String.fromCharCode.apply(null, arr); + var doc = fr.contentWindow.document; + doc.open(); + doc.write(raw); + doc.close(); + doc.body.style['font-size']='80%' + } + } + xhr.open('GET',url); + xhr.send(); +} +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/dml/web/js/svg-pan-zoom.min.js Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,3 @@ +// svg-pan-zoom v3.0.0 +// https://github.com/ariutta/svg-pan-zoom +!function t(e,o,n){function i(r,a){if(!o[r]){if(!e[r]){var l="function"==typeof require&&require;if(!a&&l)return l(r,!0);if(s)return s(r,!0);throw new Error("Cannot find module '"+r+"'")}var u=o[r]={exports:{}};e[r][0].call(u.exports,function(t){var o=e[r][1][t];return i(o?o:t)},u,u.exports,t,e,o,n)}return o[r].exports}for(var s="function"==typeof require&&require,r=0;r<n.length;r++)i(n[r]);return i}({1:[function(t,e,o){!function(t){"function"==typeof define&&define.amd?define([],t()):"object"==typeof o?e.exports=t():window.wheel=t()}(function(){function t(t,e,o){var n=function(t){!t&&(t=window.event);var o={originalEvent:t,target:t.target||t.srcElement,type:"wheel",deltaMode:"MozMousePixelScroll"==t.type?0:1,deltaX:0,delatZ:0,preventDefault:function(){t.preventDefault?t.preventDefault():t.returnValue=!1}};return"mousewheel"==u?(o.deltaY=-1/40*t.wheelDelta,t.wheelDeltaX&&(o.deltaX=-1/40*t.wheelDeltaX)):o.deltaY=t.detail,e(o)};return h.push({element:t,fn:n,capture:o}),n}function e(t,e){for(var o=0;o<h.length;o++)if(h[o].element===t&&h[o].capture===e)return h[o].fn;return function(){}}function o(t,e){for(var o=0;o<h.length;o++)if(h[o].element===t&&h[o].capture===e)return h.splice(o,1)}function n(e,o,n,i){var s;s="wheel"===u?n:t(e,n,i),e[a](c+o,s,i||!1)}function i(t,n,i,s){cb="wheel"===u?i:e(t,s),t[l](c+n,cb,s||!1),o(t,s)}function s(t,e,o){n(t,u,e,o),"DOMMouseScroll"==u&&n(t,"MozMousePixelScroll",e,o)}function r(t,e,o){i(t,u,e,o),"DOMMouseScroll"==u&&i(t,"MozMousePixelScroll",e,o)}var a,l,u,c="",h=[];return window.addEventListener?(a="addEventListener",l="removeEventListener"):(a="attachEvent",l="detachEvent",c="on"),u="onwheel"in document.createElement("div")?"wheel":void 0!==document.onmousewheel?"mousewheel":"DOMMouseScroll",{on:s,off:r}})},{}],2:[function(t,e){var o=t("./svg-utilities");e.exports={enable:function(t){var e=t.svg.querySelector("defs");e||(e=document.createElementNS(o.svgNS,"defs"),t.svg.appendChild(e));var n=document.createElementNS(o.svgNS,"style");n.setAttribute("type","text/css"),n.textContent=".svg-pan-zoom-control { cursor: pointer; fill: black; fill-opacity: 0.333; } .svg-pan-zoom-control:hover { fill-opacity: 0.8; } .svg-pan-zoom-control-background { fill: white; fill-opacity: 0.5; } .svg-pan-zoom-control-background { fill-opacity: 0.8; }",e.appendChild(n);var i=document.createElementNS(o.svgNS,"g");i.setAttribute("id","svg-pan-zoom-controls"),i.setAttribute("transform","translate("+(t.width-70)+" "+(t.height-76)+") scale(0.75)"),i.setAttribute("class","svg-pan-zoom-control"),i.appendChild(this._createZoomIn(t)),i.appendChild(this._createZoomReset(t)),i.appendChild(this._createZoomOut(t)),t.svg.appendChild(i),t.controlIcons=i},_createZoomIn:function(t){var e=document.createElementNS(o.svgNS,"g");e.setAttribute("id","svg-pan-zoom-zoom-in"),e.setAttribute("transform","translate(30.5 5) scale(0.015)"),e.setAttribute("class","svg-pan-zoom-control"),e.addEventListener("click",function(){t.getPublicInstance().zoomIn()},!1),e.addEventListener("touchstart",function(){t.getPublicInstance().zoomIn()},!1);var n=document.createElementNS(o.svgNS,"rect");n.setAttribute("x","0"),n.setAttribute("y","0"),n.setAttribute("width","1500"),n.setAttribute("height","1400"),n.setAttribute("class","svg-pan-zoom-control-background"),e.appendChild(n);var i=document.createElementNS(o.svgNS,"path");return i.setAttribute("d","M1280 576v128q0 26 -19 45t-45 19h-320v320q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-320h-320q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h320v-320q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v320h320q26 0 45 19t19 45zM1536 1120v-960 q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z"),i.setAttribute("class","svg-pan-zoom-control-element"),e.appendChild(i),e},_createZoomReset:function(t){var e=document.createElementNS(o.svgNS,"g");e.setAttribute("id","svg-pan-zoom-reset-pan-zoom"),e.setAttribute("transform","translate(5 35) scale(0.4)"),e.setAttribute("class","svg-pan-zoom-control"),e.addEventListener("click",function(){t.getPublicInstance().reset()},!1),e.addEventListener("touchstart",function(){t.getPublicInstance().reset()},!1);var n=document.createElementNS(o.svgNS,"rect");n.setAttribute("x","2"),n.setAttribute("y","2"),n.setAttribute("width","182"),n.setAttribute("height","58"),n.setAttribute("class","svg-pan-zoom-control-background"),e.appendChild(n);var i=document.createElementNS(o.svgNS,"path");i.setAttribute("d","M33.051,20.632c-0.742-0.406-1.854-0.609-3.338-0.609h-7.969v9.281h7.769c1.543,0,2.701-0.188,3.473-0.562c1.365-0.656,2.048-1.953,2.048-3.891C35.032,22.757,34.372,21.351,33.051,20.632z"),i.setAttribute("class","svg-pan-zoom-control-element"),e.appendChild(i);var s=document.createElementNS(o.svgNS,"path");return s.setAttribute("d","M170.231,0.5H15.847C7.102,0.5,0.5,5.708,0.5,11.84v38.861C0.5,56.833,7.102,61.5,15.847,61.5h154.384c8.745,0,15.269-4.667,15.269-10.798V11.84C185.5,5.708,178.976,0.5,170.231,0.5z M42.837,48.569h-7.969c-0.219-0.766-0.375-1.383-0.469-1.852c-0.188-0.969-0.289-1.961-0.305-2.977l-0.047-3.211c-0.03-2.203-0.41-3.672-1.142-4.406c-0.732-0.734-2.103-1.102-4.113-1.102h-7.05v13.547h-7.055V14.022h16.524c2.361,0.047,4.178,0.344,5.45,0.891c1.272,0.547,2.351,1.352,3.234,2.414c0.731,0.875,1.31,1.844,1.737,2.906s0.64,2.273,0.64,3.633c0,1.641-0.414,3.254-1.242,4.84s-2.195,2.707-4.102,3.363c1.594,0.641,2.723,1.551,3.387,2.73s0.996,2.98,0.996,5.402v2.32c0,1.578,0.063,2.648,0.19,3.211c0.19,0.891,0.635,1.547,1.333,1.969V48.569z M75.579,48.569h-26.18V14.022h25.336v6.117H56.454v7.336h16.781v6H56.454v8.883h19.125V48.569z M104.497,46.331c-2.44,2.086-5.887,3.129-10.34,3.129c-4.548,0-8.125-1.027-10.731-3.082s-3.909-4.879-3.909-8.473h6.891c0.224,1.578,0.662,2.758,1.316,3.539c1.196,1.422,3.246,2.133,6.15,2.133c1.739,0,3.151-0.188,4.236-0.562c2.058-0.719,3.087-2.055,3.087-4.008c0-1.141-0.504-2.023-1.512-2.648c-1.008-0.609-2.607-1.148-4.796-1.617l-3.74-0.82c-3.676-0.812-6.201-1.695-7.576-2.648c-2.328-1.594-3.492-4.086-3.492-7.477c0-3.094,1.139-5.664,3.417-7.711s5.623-3.07,10.036-3.07c3.685,0,6.829,0.965,9.431,2.895c2.602,1.93,3.966,4.73,4.093,8.402h-6.938c-0.128-2.078-1.057-3.555-2.787-4.43c-1.154-0.578-2.587-0.867-4.301-0.867c-1.907,0-3.428,0.375-4.565,1.125c-1.138,0.75-1.706,1.797-1.706,3.141c0,1.234,0.561,2.156,1.682,2.766c0.721,0.406,2.25,0.883,4.589,1.43l6.063,1.43c2.657,0.625,4.648,1.461,5.975,2.508c2.059,1.625,3.089,3.977,3.089,7.055C108.157,41.624,106.937,44.245,104.497,46.331z M139.61,48.569h-26.18V14.022h25.336v6.117h-18.281v7.336h16.781v6h-16.781v8.883h19.125V48.569z M170.337,20.14h-10.336v28.43h-7.266V20.14h-10.383v-6.117h27.984V20.14z"),s.setAttribute("class","svg-pan-zoom-control-element"),e.appendChild(s),e},_createZoomOut:function(t){var e=document.createElementNS(o.svgNS,"g");e.setAttribute("id","svg-pan-zoom-zoom-out"),e.setAttribute("transform","translate(30.5 70) scale(0.015)"),e.setAttribute("class","svg-pan-zoom-control"),e.addEventListener("click",function(){t.getPublicInstance().zoomOut()},!1),e.addEventListener("touchstart",function(){t.getPublicInstance().zoomOut()},!1);var n=document.createElementNS(o.svgNS,"rect");n.setAttribute("x","0"),n.setAttribute("y","0"),n.setAttribute("width","1500"),n.setAttribute("height","1400"),n.setAttribute("class","svg-pan-zoom-control-background"),e.appendChild(n);var i=document.createElementNS(o.svgNS,"path");return i.setAttribute("d","M1280 576v128q0 26 -19 45t-45 19h-896q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h896q26 0 45 19t19 45zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5 t84.5 -203.5z"),i.setAttribute("class","svg-pan-zoom-control-element"),e.appendChild(i),e},disable:function(t){t.controlIcons&&(t.controlIcons.parentNode.removeChild(t.controlIcons),t.controlIcons=null)}}},{"./svg-utilities":6}],3:[function(t,e){var o=t("./svg-utilities"),n=t("./utilities"),i=function(t,e){this.init(t,e)};i.prototype.init=function(t,e){this.viewport=t,this.options=e,this.originalState={zoom:1,x:0,y:0},this.activeState={zoom:1,x:0,y:0},this.updateCTMCached=n.proxy(this.updateCTM,this),this.requestAnimationFrame=n.createRequestAnimationFrame(this.options.refreshRate),this.viewBox={x:0,y:0,width:0,height:0},this.cacheViewBox(),this.processCTM()},i.prototype.cacheViewBox=function(){var t=this.options.svg.getAttribute("viewBox");if(t){var e=t.split(" ").map(parseFloat);this.viewBox.x=e[0],this.viewBox.y=e[1],this.viewBox.width=e[2],this.viewBox.height=e[3];var o=Math.min(this.options.width/this.viewBox.width,this.options.height/this.viewBox.height);this.activeState.zoom=o,this.activeState.x=(this.options.width-this.viewBox.width*o)/2,this.activeState.y=(this.options.height-this.viewBox.height*o)/2,this.updateCTMOnNextFrame(),this.options.svg.removeAttribute("viewBox")}else{var n=this.viewport.getBBox();this.viewBox.x=n.x,this.viewBox.y=n.y,this.viewBox.width=n.width,this.viewBox.height=n.height}},i.prototype.recacheViewBox=function(){var t=this.viewport.getBoundingClientRect(),e=t.width/this.getZoom(),o=t.height/this.getZoom();this.viewBox.x=0,this.viewBox.y=0,this.viewBox.width=e,this.viewBox.height=o},i.prototype.getViewBox=function(){return n.extend({},this.viewBox)},i.prototype.processCTM=function(){var t=this.getCTM();if(this.options.fit){var e=Math.min(this.options.width/(this.viewBox.width-this.viewBox.x),this.options.height/(this.viewBox.height-this.viewBox.y));t.a=e,t.d=e,t.e=-this.viewBox.x*e,t.f=-this.viewBox.y*e}if(this.options.center){var o=.5*(this.options.width-(this.viewBox.width+this.viewBox.x)*t.a),n=.5*(this.options.height-(this.viewBox.height+this.viewBox.y)*t.a);t.e=o,t.f=n}this.originalState.zoom=t.a,this.originalState.x=t.e,this.originalState.y=t.f,this.setCTM(t)},i.prototype.getOriginalState=function(){return n.extend({},this.originalState)},i.prototype.getState=function(){return n.extend({},this.activeState)},i.prototype.getZoom=function(){return this.activeState.zoom},i.prototype.getRelativeZoom=function(){return this.activeState.zoom/this.originalState.zoom},i.prototype.computeRelativeZoom=function(t){return t/this.originalState.zoom},i.prototype.getPan=function(){return{x:this.activeState.x,y:this.activeState.y}},i.prototype.getCTM=function(){var t=this.options.svg.createSVGMatrix();return t.a=this.activeState.zoom,t.b=0,t.c=0,t.d=this.activeState.zoom,t.e=this.activeState.x,t.f=this.activeState.y,t},i.prototype.setCTM=function(t){var e=this.isZoomDifferent(t),o=this.isPanDifferent(t);if(e||o){if(e&&this.options.beforeZoom(this.getRelativeZoom(),this.computeRelativeZoom(t.a))===!1&&(t.a=t.d=this.activeState.zoom,e=!1),o){var i=this.options.beforePan(this.getPan(),{x:t.e,y:t.f}),s=n.isObject(i)&&i.x===!1?!0:!1,r=n.isObject(i)&&i.y===!1?!0:!1;i===!1&&(s=r=!0),s&&(t.e=this.activeState.x),r&&(t.f=this.activeState.y),s&&r&&(o=!1)}(e||o)&&(this.updateCache(t),this.updateCTMOnNextFrame(),e&&this.options.onZoom(this.getRelativeZoom()),o&&this.options.onPan(this.getPan()))}},i.prototype.isZoomDifferent=function(t){return this.activeState.zoom!==t.a},i.prototype.isPanDifferent=function(t){return this.activeState.x!==t.e||this.activeState.y!==t.f},i.prototype.updateCache=function(t){this.activeState.zoom=t.a,this.activeState.x=t.e,this.activeState.y=t.f},i.prototype.pendingUpdate=!1,i.prototype.updateCTMOnNextFrame=function(){this.pendingUpdate||(this.pendingUpdate=!0,this.requestAnimationFrame.call(window,this.updateCTMCached))},i.prototype.updateCTM=function(){o.setCTM(this.viewport,this.getCTM(),this.defs),this.pendingUpdate=!1},e.exports=function(t,e){return new i(t,e)}},{"./svg-utilities":6,"./utilities":7}],4:[function(t,e){var o=t("./svg-pan-zoom.js");!function(t){"function"==typeof define&&define.amd?define("svg-pan-zoom",function(){return o}):"undefined"!=typeof e&&e.exports&&(e.exports=o,t.svgPanZoom=o)}(window,document)},{"./svg-pan-zoom.js":5}],5:[function(t,e){var o=t("uniwheel"),n=t("./control-icons"),i=t("./utilities"),s=t("./svg-utilities"),r=t("./shadow-viewport"),a=function(t,e){this.init(t,e)},l={viewportSelector:".svg-pan-zoom_viewport",panEnabled:!0,controlIconsEnabled:!1,zoomEnabled:!0,dblClickZoomEnabled:!0,mouseWheelZoomEnabled:!0,zoomScaleSensitivity:.2,minZoom:.5,maxZoom:10,fit:!0,center:!0,refreshRate:"auto",beforeZoom:null,onZoom:null,beforePan:null,onPan:null,customEventsHandler:null};a.prototype.init=function(t,e){var o=this;this.svg=t,this.defs=t.querySelector("defs"),s.setupSvgAttributes(this.svg),this.options=i.extend(i.extend({},l),e),this.state="none";var a=s.getBoundingClientRectNormalized(t);this.width=a.width,this.height=a.height,this.viewport=r(s.getOrCreateViewport(this.svg,this.options.viewportSelector),{svg:this.svg,width:this.width,height:this.height,fit:this.options.fit,center:this.options.center,refreshRate:this.options.refreshRate,beforeZoom:function(t,e){return o.viewport&&o.options.beforeZoom?o.options.beforeZoom(t,e):void 0},onZoom:function(t){return o.viewport&&o.options.onZoom?o.options.onZoom(t):void 0},beforePan:function(t,e){return o.viewport&&o.options.beforePan?o.options.beforePan(t,e):void 0},onPan:function(t){return o.viewport&&o.options.onPan?o.options.onPan(t):void 0}});var u=this.getPublicInstance();u.setBeforeZoom(this.options.beforeZoom),u.setOnZoom(this.options.onZoom),u.setBeforePan(this.options.beforePan),u.setOnPan(this.options.onPan),this.options.controlIconsEnabled&&n.enable(this),this.setupHandlers()},a.prototype.setupHandlers=function(){var t=this,e=null;if(this.eventListeners={mousedown:function(e){return t.handleMouseDown(e,null)},touchstart:function(o){var n=t.handleMouseDown(o,e);return e=o,n},mouseup:function(e){return t.handleMouseUp(e)},touchend:function(e){return t.handleMouseUp(e)},mousemove:function(e){return t.handleMouseMove(e)},touchmove:function(e){return t.handleMouseMove(e)},mouseleave:function(e){return t.handleMouseUp(e)},touchleave:function(e){return t.handleMouseUp(e)},touchcancel:function(e){return t.handleMouseUp(e)}},null!=this.options.customEventsHandler){this.options.customEventsHandler.init({svgElement:this.svg,instance:this.getPublicInstance()});var o=this.options.customEventsHandler.haltEventListeners;if(o&&o.length)for(var n=o.length-1;n>=0;n--)this.eventListeners.hasOwnProperty(o[n])&&delete this.eventListeners[o[n]]}for(var i in this.eventListeners)this.svg.addEventListener(i,this.eventListeners[i],!1);this.options.mouseWheelZoomEnabled&&(this.options.mouseWheelZoomEnabled=!1,this.enableMouseWheelZoom())},a.prototype.enableMouseWheelZoom=function(){if(!this.options.mouseWheelZoomEnabled){var t=this;this.wheelListener=function(e){return t.handleMouseWheel(e)},o.on(this.svg,this.wheelListener,!1),this.options.mouseWheelZoomEnabled=!0}},a.prototype.disableMouseWheelZoom=function(){this.options.mouseWheelZoomEnabled&&(o.off(this.svg,this.wheelListener,!1),this.options.mouseWheelZoomEnabled=!1)},a.prototype.handleMouseWheel=function(t){if(this.options.zoomEnabled&&"none"===this.state){t.preventDefault?t.preventDefault():t.returnValue=!1;var e=0;e="deltaMode"in t&&0===t.deltaMode?t.wheelDelta?t.deltaY/Math.abs(t.wheelDelta/3):t.deltaY/120:"mozPressure"in t?t.deltaY/3:t.deltaY;var o=this.svg.getScreenCTM().inverse(),n=s.getEventPoint(t,this.svg).matrixTransform(o),i=Math.pow(1+this.options.zoomScaleSensitivity,-1*e);this.zoomAtPoint(i,n)}},a.prototype.zoomAtPoint=function(t,e,o){var n=this.viewport.getOriginalState();o?(t=Math.max(this.options.minZoom*n.zoom,Math.min(this.options.maxZoom*n.zoom,t)),t/=this.getZoom()):this.getZoom()*t<this.options.minZoom*n.zoom?t=this.options.minZoom*n.zoom/this.getZoom():this.getZoom()*t>this.options.maxZoom*n.zoom&&(t=this.options.maxZoom*n.zoom/this.getZoom());var i=this.viewport.getCTM(),s=e.matrixTransform(i.inverse()),r=this.svg.createSVGMatrix().translate(s.x,s.y).scale(t).translate(-s.x,-s.y),a=i.multiply(r);a.a!==i.a&&this.viewport.setCTM(a)},a.prototype.zoom=function(t,e){this.zoomAtPoint(t,s.getSvgCenterPoint(this.svg,this.width,this.height),e)},a.prototype.publicZoom=function(t,e){e&&(t=this.computeFromRelativeZoom(t)),this.zoom(t,e)},a.prototype.publicZoomAtPoint=function(t,e,o){if(o&&(t=this.computeFromRelativeZoom(t)),!("SVGPoint"!==i.getType(e)&&"x"in e&&"y"in e))throw new Error("Given point is invalid");e=s.createSVGPoint(this.svg,e.x,e.y),this.zoomAtPoint(t,e,o)},a.prototype.getZoom=function(){return this.viewport.getZoom()},a.prototype.getRelativeZoom=function(){return this.viewport.getRelativeZoom()},a.prototype.computeFromRelativeZoom=function(t){return t*this.viewport.getOriginalState().zoom},a.prototype.resetZoom=function(){var t=this.viewport.getOriginalState();this.zoom(t.zoom,!0)},a.prototype.resetPan=function(){this.pan(this.viewport.getOriginalState())},a.prototype.reset=function(){this.resetZoom(),this.resetPan()},a.prototype.handleDblClick=function(t){if(t.preventDefault?t.preventDefault():t.returnValue=!1,this.options.controlIconsEnabled){var e=t.target.getAttribute("class")||"";if(e.indexOf("svg-pan-zoom-control")>-1)return!1}var o;o=t.shiftKey?1/(2*(1+this.options.zoomScaleSensitivity)):2*(1+this.options.zoomScaleSensitivity);var n=s.getEventPoint(t,this.svg).matrixTransform(this.svg.getScreenCTM().inverse());this.zoomAtPoint(o,n)},a.prototype.handleMouseDown=function(t,e){t.preventDefault?t.preventDefault():t.returnValue=!1,i.mouseAndTouchNormalize(t,this.svg),this.options.dblClickZoomEnabled&&i.isDblClick(t,e)?this.handleDblClick(t):(this.state="pan",this.firstEventCTM=this.viewport.getCTM(),this.stateOrigin=s.getEventPoint(t,this.svg).matrixTransform(this.firstEventCTM.inverse()))},a.prototype.handleMouseMove=function(t){if(t.preventDefault?t.preventDefault():t.returnValue=!1,"pan"===this.state&&this.options.panEnabled){var e=s.getEventPoint(t,this.svg).matrixTransform(this.firstEventCTM.inverse()),o=this.firstEventCTM.translate(e.x-this.stateOrigin.x,e.y-this.stateOrigin.y);this.viewport.setCTM(o)}},a.prototype.handleMouseUp=function(t){t.preventDefault?t.preventDefault():t.returnValue=!1,"pan"===this.state&&(this.state="none")},a.prototype.fit=function(){var t=this.viewport.getViewBox(),e=Math.min(this.width/(t.width-t.x),this.height/(t.height-t.y));this.zoom(e,!0)},a.prototype.center=function(){var t=this.viewport.getViewBox(),e=.5*(this.width-(t.width+t.x)*this.getZoom()),o=.5*(this.height-(t.height+t.y)*this.getZoom());this.getPublicInstance().pan({x:e,y:o})},a.prototype.updateBBox=function(){this.viewport.recacheViewBox()},a.prototype.pan=function(t){var e=this.viewport.getCTM();e.e=t.x,e.f=t.y,this.viewport.setCTM(e)},a.prototype.panBy=function(t){var e=this.viewport.getCTM();e.e+=t.x,e.f+=t.y,this.viewport.setCTM(e)},a.prototype.getPan=function(){var t=this.viewport.getState();return{x:t.x,y:t.y}},a.prototype.resize=function(){var t=s.getBoundingClientRectNormalized(this.svg);this.width=t.width,this.height=t.height,this.options.controlIconsEnabled&&(this.getPublicInstance().disableControlIcons(),this.getPublicInstance().enableControlIcons())},a.prototype.destroy=function(){var t=this;this.beforeZoom=null,this.onZoom=null,this.beforePan=null,this.onPan=null,null!=this.options.customEventsHandler&&this.options.customEventsHandler.destroy({svgElement:this.svg,instance:this.getPublicInstance()});for(var e in this.eventListeners)this.svg.removeEventListener(e,this.eventListeners[e],!1);this.disableMouseWheelZoom(),this.getPublicInstance().disableControlIcons(),this.reset(),u=u.filter(function(e){return e.svg!==t.svg}),delete this.options,delete this.publicInstance,delete this.pi,this.getPublicInstance=function(){return null}},a.prototype.getPublicInstance=function(){var t=this;return this.publicInstance||(this.publicInstance=this.pi={enablePan:function(){return t.options.panEnabled=!0,t.pi},disablePan:function(){return t.options.panEnabled=!1,t.pi},isPanEnabled:function(){return!!t.options.panEnabled},pan:function(e){return t.pan(e),t.pi},panBy:function(e){return t.panBy(e),t.pi},getPan:function(){return t.getPan()},setBeforePan:function(e){return t.options.beforePan=null===e?null:i.proxy(e,t.publicInstance),t.pi},setOnPan:function(e){return t.options.onPan=null===e?null:i.proxy(e,t.publicInstance),t.pi},enableZoom:function(){return t.options.zoomEnabled=!0,t.pi},disableZoom:function(){return t.options.zoomEnabled=!1,t.pi},isZoomEnabled:function(){return!!t.options.zoomEnabled},enableControlIcons:function(){return t.options.controlIconsEnabled||(t.options.controlIconsEnabled=!0,n.enable(t)),t.pi},disableControlIcons:function(){return t.options.controlIconsEnabled&&(t.options.controlIconsEnabled=!1,n.disable(t)),t.pi},isControlIconsEnabled:function(){return!!t.options.controlIconsEnabled},enableDblClickZoom:function(){return t.options.dblClickZoomEnabled=!0,t.pi},disableDblClickZoom:function(){return t.options.dblClickZoomEnabled=!1,t.pi},isDblClickZoomEnabled:function(){return!!t.options.dblClickZoomEnabled},enableMouseWheelZoom:function(){return t.enableMouseWheelZoom(),t.pi},disableMouseWheelZoom:function(){return t.disableMouseWheelZoom(),t.pi},isMouseWheelZoomEnabled:function(){return!!t.options.mouseWheelZoomEnabled},setZoomScaleSensitivity:function(e){return t.options.zoomScaleSensitivity=e,t.pi},setMinZoom:function(e){return t.options.minZoom=e,t.pi},setMaxZoom:function(e){return t.options.maxZoom=e,t.pi},setBeforeZoom:function(e){return t.options.beforeZoom=null===e?null:i.proxy(e,t.publicInstance),t.pi},setOnZoom:function(e){return t.options.onZoom=null===e?null:i.proxy(e,t.publicInstance),t.pi},zoom:function(e){return t.publicZoom(e,!0),t.pi},zoomBy:function(e){return t.publicZoom(e,!1),t.pi},zoomAtPoint:function(e,o){return t.publicZoomAtPoint(e,o,!0),t.pi},zoomAtPointBy:function(e,o){return t.publicZoomAtPoint(e,o,!1),t.pi},zoomIn:function(){return this.zoomBy(1+t.options.zoomScaleSensitivity),t.pi},zoomOut:function(){return this.zoomBy(1/(1+t.options.zoomScaleSensitivity)),t.pi},getZoom:function(){return t.getRelativeZoom()},resetZoom:function(){return t.resetZoom(),t.pi},resetPan:function(){return t.resetPan(),t.pi},reset:function(){return t.reset(),t.pi},fit:function(){return t.fit(),t.pi},center:function(){return t.center(),t.pi},updateBBox:function(){return t.updateBBox(),t.pi},resize:function(){return t.resize(),t.pi},getSizes:function(){return{width:t.width,height:t.height,realZoom:t.getZoom(),viewBox:t.viewport.getViewBox()}},destroy:function(){return t.destroy(),t.pi}}),this.publicInstance};var u=[],c=function(t,e){var o=i.getSvg(t);if(null===o)return null;for(var n=u.length-1;n>=0;n--)if(u[n].svg===o)return u[n].instance.getPublicInstance();return u.push({svg:o,instance:new a(o,e)}),u[u.length-1].instance.getPublicInstance()};e.exports=c},{"./control-icons":2,"./shadow-viewport":3,"./svg-utilities":6,"./utilities":7,uniwheel:1}],6:[function(t,e){var o=t("./utilities"),n="unknown";document.documentMode?n="ie":"undefined"!=typeof InstallTrigger&&(n="firefox"),e.exports={svgNS:"http://www.w3.org/2000/svg",xmlNS:"http://www.w3.org/XML/1998/namespace",xmlnsNS:"http://www.w3.org/2000/xmlns/",xlinkNS:"http://www.w3.org/1999/xlink",evNS:"http://www.w3.org/2001/xml-events",getBoundingClientRectNormalized:function(t){if("firefox"===n){var e=window.getComputedStyle(t,null),o=["width","height","left","top","transform","position"],i="";o.forEach(function(t){var o=e[t];o&&(i+=" "+t+": "+o+";")});var s=t.parentNode;s.removeChild(t);var r=document.createElement("div");r.setAttribute("style",i),s.appendChild(r);var a=r.getBoundingClientRect();return s.removeChild(r),s.appendChild(t),a}if(t.clientWidth&&t.clientHeight)return{width:t.clientWidth,height:t.clientHeight};if(t.getBoundingClientRect())return t.getBoundingClientRect();throw new Error("Cannot get BoundingClientRect for SVG.")},getOrCreateViewport:function(t,e){var n=null;if(n=o.isElement(e)?e:t.querySelector(e),!n){var i=Array.prototype.slice.call(t.childNodes||t.children).filter(function(t){return"defs"!==t.nodeName&&"#text"!==t.nodeName});1===i.length&&"g"===i[0].nodeName&&null===i[0].getAttribute("transform")&&(n=i[0])}if(!n){var s="viewport-"+(new Date).toISOString().replace(/\D/g,"");n=document.createElementNS(this.svgNS,"g"),n.setAttribute("id",s);var r=t.childNodes||t.children;if(r&&r.length>0)for(var a=r.length;a>0;a--)"defs"!==r[r.length-a].nodeName&&n.appendChild(r[r.length-a]);t.appendChild(n)}var l=[];return n.getAttribute("class")&&(l=n.getAttribute("class").split(" ")),~l.indexOf("svg-pan-zoom_viewport")||(l.push("svg-pan-zoom_viewport"),n.setAttribute("class",l.join(" "))),n},setupSvgAttributes:function(t){if(t.setAttribute("xmlns",this.svgNS),t.setAttributeNS(this.xmlnsNS,"xmlns:xlink",this.xlinkNS),t.setAttributeNS(this.xmlnsNS,"xmlns:ev",this.evNS),null!==t.parentNode){var e=t.getAttribute("style")||"";-1===e.toLowerCase().indexOf("overflow")&&t.setAttribute("style","overflow: hidden; "+e)}},internetExplorerRedisplayInterval:300,refreshDefsGlobal:o.throttle(function(){for(var t=document.querySelectorAll("defs"),e=t.length,o=0;e>o;o++){var n=t[o];n.parentNode.insertBefore(n,n)}},this.internetExplorerRedisplayInterval),setCTM:function(t,e,o){var i=this,s="matrix("+e.a+","+e.b+","+e.c+","+e.d+","+e.e+","+e.f+")";t.setAttributeNS(null,"transform",s),"ie"===n&&o&&(o.parentNode.insertBefore(o,o),window.setTimeout(function(){i.refreshDefsGlobal()},i.internetExplorerRedisplayInterval))},getEventPoint:function(t,e){var n=e.createSVGPoint();return o.mouseAndTouchNormalize(t,e),n.x=t.clientX,n.y=t.clientY,n},getSvgCenterPoint:function(t,e,o){return this.createSVGPoint(t,e/2,o/2)},createSVGPoint:function(t,e,o){var n=t.createSVGPoint();return n.x=e,n.y=o,n}}},{"./utilities":7}],7:[function(t,e){function o(t){return function(e){window.setTimeout(e,t)}}e.exports={extend:function(t,e){t=t||{};for(var o in e)t[o]=this.isObject(e[o])?this.extend(t[o],e[o]):e[o];return t},isElement:function(t){return"object"==typeof HTMLElement?t instanceof HTMLElement||t instanceof SVGElement||t instanceof SVGSVGElement:t&&"object"==typeof t&&null!==t&&1===t.nodeType&&"string"==typeof t.nodeName},isObject:function(t){return"[object Object]"===Object.prototype.toString.call(t)},getSvg:function(t){var e,o;if(this.isElement(t))e=t;else{if(!("string"==typeof t||t instanceof String))throw new Error("Provided selector is not an HTML object nor String");if(e=document.querySelector(t),!e)throw new Error("Provided selector did not find any elements. Selector: "+t)}if("svg"===e.tagName.toLowerCase())o=e;else if("object"===e.tagName.toLowerCase())o=e.contentDocument.documentElement;else{if("embed"!==e.tagName.toLowerCase())throw new Error("img"===e.tagName.toLowerCase()?'Cannot script an SVG in an "img" element. Please use an "object" element or an in-line SVG.':"Cannot get SVG.");o=e.getSVGDocument().documentElement}return o},proxy:function(t,e){return function(){return t.apply(e,arguments)}},getType:function(t){return Object.prototype.toString.apply(t).replace(/^\[object\s/,"").replace(/\]$/,"")},mouseAndTouchNormalize:function(t,e){if(void 0===t.clientX||null===t.clientX)if(t.clientX=0,t.clientY=0,void 0!==t.changedTouches&&t.changedTouches.length){if(void 0!==t.changedTouches[0].clientX)t.clientX=t.changedTouches[0].clientX,t.clientY=t.changedTouches[0].clientY;else if(void 0!==t.changedTouches[0].pageX){var o=e.getBoundingClientRect();t.clientX=t.changedTouches[0].pageX-o.left,t.clientY=t.changedTouches[0].pageY-o.top}}else void 0!==t.originalEvent&&void 0!==t.originalEvent.clientX&&(t.clientX=t.originalEvent.clientX,t.clientY=t.originalEvent.clientY)},isDblClick:function(t,e){if(2===t.detail)return!0;if(void 0!==e&&null!==e){var o=t.timeStamp-e.timeStamp,n=Math.sqrt(Math.pow(t.clientX-e.clientX,2)+Math.pow(t.clientY-e.clientY,2));return 250>o&&10>n}return!1},now:Date.now||function(){return(new Date).getTime()},throttle:function(t,e,o){var n,i,s,r=this,a=null,l=0;o||(o={});var u=function(){l=o.leading===!1?0:r.now(),a=null,s=t.apply(n,i),a||(n=i=null)};return function(){var c=r.now();l||o.leading!==!1||(l=c);var h=e-(c-l);return n=this,i=arguments,0>=h||h>e?(clearTimeout(a),a=null,l=c,s=t.apply(n,i),a||(n=i=null)):a||o.trailing===!1||(a=setTimeout(u,h)),s}},createRequestAnimationFrame:function(t){var e=null;return"auto"!==t&&60>t&&t>1&&(e=Math.floor(1e3/t)),null===e?window.requestAnimationFrame||o(33):o(e)}}},{}]},{},[4]); \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/musicont/lib/mo_schema.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,34 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University College London. + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +:- module(mo_schema, []). +:- use_module(library(semweb/rdf_db)). +:- use_module(library(semweb/rdf_library)). + +/** <module> Provides Music Ontology schema and namespace + +*/ + +% :- rdf_register_ns(mit, 'http://purl.org/ontology/mo/mit#'). +% :- rdf_register_ns(mo, 'http://purl.org/ontology/mo/'). + +:- initialization + rdf_load('http://vocab.org/frbr/core.rdf'), + rdf_attach_library(musicont(rdf)), + rdf_load_library(musicont). +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/musicont/rdf/base/Manifest.ttl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,42 @@ +@prefix lib: <http://www.swi-prolog.org/rdf/library/> . +@prefix owl: <http://www.w3.org/2002/07/owl#> . +@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . +@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . +@prefix dcterms: <http://purl.org/dc/terms/> . +@prefix frbr: <http://purl.org/vocab/frbr/core#> . +@prefix event: <http://purl.org/NET/c4dm/event.owl#> . +@prefix time: <http://www.w3.org/2006/time#> . +@prefix tl: <http://purl.org/NET/c4dm/timeline.owl#> . +@prefix mo: <http://purl.org/ontology/mo/> . +@prefix mit: <http://purl.org/ontology/mo/mit#> . +@prefix chord: <http://purl.org/ontology/chord/> . +@prefix keys: <http://purl.org/NET/c4dm/keys.owl#> . + +<musicont> + a lib:Schema ; + a lib:Virtual ; + dcterms:title "The Music Ontology" ; + owl:imports + <http://www.w3.org/2006/time> , +# <http://purl.org/NET/c4dm/event.owl> , # SLOW +# <http://purl.org/NET/c4dm/timeline.owl> , +# <http://purl.org/NET/c4dm/keys.owl> , +# <http://purl.org/ontology/chord/> , +# <http://purl.org/vocab/frbr/core> , # NOT WORKING IN MANIFEST +# <http://motools.sourceforge.net/event/> , +# <http://motools.sourceforge.net/timeline/> , +# <http://motools.sourceforge.net/keys/> , +# <http://motools.sourceforge.net/chord/> , +# <http://purl.org/ontology/mo/> , + <musicontology.n3> , + <instruments.rdf> . + +[ a lib:Namespace ; lib:mnemonic "time" ; lib:namespace time: ] . +[ a lib:Namespace ; lib:mnemonic "event" ; lib:namespace event: ] . +[ a lib:Namespace ; lib:mnemonic "tl" ; lib:namespace tl: ] . +[ a lib:Namespace ; lib:mnemonic "chord" ; lib:namespace chord: ] . +[ a lib:Namespace ; lib:mnemonic "keys" ; lib:namespace keys: ] . +[ a lib:Namespace ; lib:mnemonic "frbr" ; lib:namespace frbr: ] . +[ a lib:Namespace ; lib:mnemonic "mo" ; lib:namespace mo: ] . +[ a lib:Namespace ; lib:mnemonic "mit" ; lib:namespace mit: ] . +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/musicont/rdf/base/instruments.rdf Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,2785 @@ +<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" + xmlns:skos="http://www.w3.org/2004/02/skos/core#" + xmlns:foaf="http://xmlns.com/foaf/0.1/" + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:dcterms="http://purl.org/dc/terms/"> + <skos:ConceptScheme rdf:about=""> + <rdfs:comment>This is a SKOS version of the Instrument Taxonomy developed by MusicBrainz</rdfs:comment> + <rdfs:seeAlso rdf:resource="http://wiki.musicbrainz.org/AdvancedInstrumentTree?action=AttachFile&do=get&target=AdvancedInstrumentTree_2007-30-01.pdf"/> + <rdfs:seeAlso rdf:resource="http://wiki.musicbrainz.org/AdvancedInstrumentTree"/> + <dc:date>2007-04-04</dc:date> + <dcterms:issued>2007-03-04</dcterms:issued> + <dcterms:modified>2007-04-04</dcterms:modified> + <dc:creator> + <foaf:Person rdf:about="http://www.ivan-herman.net/foaf.rdf#me"> + <foaf:name>Ivan Herman</foaf:name> + </foaf:Person> + </dc:creator> + <rdfs:comment>Version 0.1</rdfs:comment> + <skos:hasTopConcept rdf:resource="http://purl.org/ontology/mo/mit#Wind_instruments"/> + <skos:hasTopConcept rdf:resource="http://purl.org/ontology/mo/mit#String_instruments"/> + <skos:hasTopConcept rdf:resource="http://purl.org/ontology/mo/mit#Percussion_instruments"/> + <skos:hasTopConcept rdf:resource="http://purl.org/ontology/mo/mit#Electronic_instruments"/> + <skos:hasTopConcept rdf:resource="http://purl.org/ontology/mo/mit#Other_instruments"/> + </skos:ConceptScheme> + + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Wind_instruments"> + <skos:prefLabel>Wind instruments</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Woodwind"> + <skos:prefLabel>Woodwind</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Reeds"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Woodwind"/> + <skos:prefLabel>Reeds</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Double_reed"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Reeds"/> + <skos:prefLabel>Double reed</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Bagpipe"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Double_reed"/> + <skos:prefLabel>Bagpipe</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Uilleann_pipes"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Bagpipe"/> + <skos:prefLabel>Uilleann pipes</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Northumbrian_pipes"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Bagpipe"/> + <skos:prefLabel>Northumbrian pipes</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Bassoon"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Double_reed"/> + <skos:prefLabel>Bassoon</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Korholt"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Double_reed"/> + <skos:prefLabel>Korholt</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Contrabassoon"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Double_reed"/> + <skos:prefLabel>Contrabassoon</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Oboe"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Double_reed"/> + <skos:prefLabel>Oboe</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#English_Horn"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Oboe"/> + <skos:prefLabel>English Horn</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Heckelphone"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Oboe"/> + <skos:prefLabel>Heckelphone</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Kèn_Bau"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Oboe"/> + <skos:prefLabel>Kèn Bầu</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Crumhorn"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Double_reed"/> + <skos:prefLabel>Crumhorn</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Singular_reed"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Reeds"/> + <skos:prefLabel>Singular reed</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Clarinet"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Singular_reed"/> + <skos:prefLabel>Clarinet</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Alto_clarinet"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Clarinet"/> + <skos:prefLabel>Alto clarinet</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Bass_clarinet"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Clarinet"/> + <skos:prefLabel>Bass clarinet</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Contrabass_clarinet"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Clarinet"/> + <skos:prefLabel>Contrabass clarinet</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Saxophone"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Singular_reed"/> + <skos:prefLabel>Saxophone</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Soprano_saxophone"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Saxophone"/> + <skos:prefLabel>Soprano saxophone</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Alto_saxophone"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Saxophone"/> + <skos:prefLabel>Alto saxophone</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Tenor_saxophone"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Saxophone"/> + <skos:prefLabel>Tenor saxophone</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Baritone_saxophone"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Saxophone"/> + <skos:prefLabel>Baritone saxophone</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Free_reed"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Reeds"/> + <skos:prefLabel>Free reed</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Jew_s_harp"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Free_reed"/> + <skos:prefLabel>Jew's harp</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Accordion"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Free_reed"/> + <skos:prefLabel>Accordion</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Piano_accordion"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Accordion"/> + <skos:prefLabel>Piano accordion</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Button_accordion"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Accordion"/> + <skos:prefLabel>Button accordion</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Diatonic_accordion"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Button_accordion"/> + <skos:prefLabel>Diatonic accordion</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Concertina"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Free_reed"/> + <skos:prefLabel>Concertina</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Harmonica"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Free_reed"/> + <skos:prefLabel>Harmonica</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Chromatic_harmonica"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Harmonica"/> + <skos:prefLabel>Chromatic harmonica</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Ding_Nam"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Harmonica"/> + <skos:prefLabel>Đing Nam</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Khèn_Meo"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Ding_Nam"/> + <skos:prefLabel>Khèn Meò</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Bandoneon"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Free_reed"/> + <skos:prefLabel>Bandoneón</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Melodica"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Free_reed"/> + <skos:prefLabel>Melodica</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Sheng"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Free_reed"/> + <skos:prefLabel>Sheng</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Sho"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Sheng"/> + <skos:prefLabel>Sho</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Ki_pah"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Free_reed"/> + <skos:prefLabel>Ki pah</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Hmong_flute"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Free_reed"/> + <skos:prefLabel>Hmông flute</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Tram_plè"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Hmong_flute"/> + <skos:prefLabel>Tràm plè</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Trang_lu"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Hmong_flute"/> + <skos:prefLabel>Trang lu</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Trang_lu"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Hmong_flute"/> + <skos:prefLabel>Trắng lu</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Trang_Jau"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Trang_lu"/> + <skos:prefLabel>Trắng Jâu</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Pang_gu_ly_hu_Hmong"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Hmong_flute"/> + <skos:prefLabel>Pang gu ly hu Hmông</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Sao_meo"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Hmong_flute"/> + <skos:prefLabel>Sáo meò</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Dinh_taktar"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Free_reed"/> + <skos:prefLabel>Dinh taktàr</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Khen_la_"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Free_reed"/> + <skos:prefLabel>Khen la'</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Flute"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Woodwind"/> + <skos:prefLabel>Flute</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Fipple_flutes"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Flute"/> + <skos:prefLabel>Fipple flutes</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Traverse_flute"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Fipple_flutes"/> + <skos:prefLabel>Traverse flute</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Piccolo"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Traverse_flute"/> + <skos:prefLabel>Piccolo</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Alto_flute"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Traverse_flute"/> + <skos:prefLabel>Alto flute</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Sao_truc"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Traverse_flute"/> + <skos:prefLabel>Sáo trúc</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Vertical_flute"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Fipple_flutes"/> + <skos:prefLabel>Vertical flute</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Pi_thiu"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Vertical_flute"/> + <skos:prefLabel>Pí thiu</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Recorder"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Fipple_flutes"/> + <skos:prefLabel>Recorder</skos:prefLabel> + <skos:altLabel>Blockflöte</skos:altLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Garkelin_recorder"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Recorder"/> + <skos:prefLabel>Garkelin recorder</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Sopranino_recorder"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Recorder"/> + <skos:prefLabel>Sopranino recorder</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Alto_recorder"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Recorder"/> + <skos:prefLabel>Alto recorder</skos:prefLabel> + <skos:altLabel>Treble recorder</skos:altLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Tenor_recorder"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Recorder"/> + <skos:prefLabel>Tenor recorder</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Bass_recorder"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Recorder"/> + <skos:prefLabel>Bass recorder</skos:prefLabel> + <skos:altLabel>F-bass recorder</skos:altLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Great_bass_recorder"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Recorder"/> + <skos:prefLabel>Great bass recorder</skos:prefLabel> + <skos:altLabel>C-bass recorder</skos:altLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Contrabass_recorder"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Recorder"/> + <skos:prefLabel>Contrabass recorder</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Bansuri"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Fipple_flutes"/> + <skos:prefLabel>Bansuri</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Willow_flute"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Fipple_flutes"/> + <skos:prefLabel>Willow flute</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Shakuhachi"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Fipple_flutes"/> + <skos:prefLabel>Shakuhachi</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Tin_whistle"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Fipple_flutes"/> + <skos:prefLabel>Tin whistle</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Slide_whistle"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Fipple_flutes"/> + <skos:prefLabel>Slide whistle</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Other_flutes"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Flute"/> + <skos:prefLabel>Other flutes</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Pan_flue"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Other_flutes"/> + <skos:prefLabel>Pan flue</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Syrinx"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Pan_flue"/> + <skos:prefLabel>Syrinx</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Nai"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Pan_flue"/> + <skos:prefLabel>Nai</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Ding_Buot"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Other_flutes"/> + <skos:prefLabel>Đing Buốt</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Sao_oi_flute"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Other_flutes"/> + <skos:prefLabel>Saó ôi flute</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Tieu_flute"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Other_flutes"/> + <skos:prefLabel>Tieu flute</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Ocarina"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Other_flutes"/> + <skos:prefLabel>Ocarina</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Nose_flute"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Other_flutes"/> + <skos:prefLabel>Nose flute</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#k_long_put"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Other_flutes"/> + <skos:prefLabel>k'long pút</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Brass"> + <skos:prefLabel>Brass</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Valved_brass_instruments"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Brass"/> + <skos:prefLabel>Valved brass instruments</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Trumpet"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Valved_brass_instruments"/> + <skos:prefLabel>Trumpet</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Cornet"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Valved_brass_instruments"/> + <skos:prefLabel>Cornet</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Flugelhorn"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Valved_brass_instruments"/> + <skos:prefLabel>Flugelhorn</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Mellophone"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Valved_brass_instruments"/> + <skos:prefLabel>Mellophone</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Horn"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Valved_brass_instruments"/> + <skos:prefLabel>Horn</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#French_horn"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Horn"/> + <skos:prefLabel>French horn</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Baritone_horn"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Horn"/> + <skos:prefLabel>Baritone horn</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Tenor_horn_(Alto_horn)"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Horn"/> + <skos:prefLabel>Tenor horn (Alto horn)</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Tuba"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Valved_brass_instruments"/> + <skos:prefLabel>Tuba</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Euphonium"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Tuba"/> + <skos:prefLabel>Euphonium</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Sousaphone"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Tuba"/> + <skos:prefLabel>Sousaphone</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Wagner_tuba"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Tuba"/> + <skos:prefLabel>Wagner tuba</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Slide_brass_instruments"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Brass"/> + <skos:prefLabel>Slide brass instruments</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Trombone"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Slide_brass_instruments"/> + <skos:prefLabel>Trombone</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Bass_Trombone"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Trombone"/> + <skos:prefLabel>Bass Trombone</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Valve_Trombone"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Trombone"/> + <skos:prefLabel>Valve Trombone</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Sackbut"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Trombone"/> + <skos:prefLabel>Sackbut</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Keyed_brass_instruments"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Brass"/> + <skos:prefLabel>Keyed brass instruments</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Serpent"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Keyed_brass_instruments"/> + <skos:prefLabel>Serpent</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Cornett"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Keyed_brass_instruments"/> + <skos:prefLabel>Cornett</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Natural_brass_instruments"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Brass"/> + <skos:prefLabel>Natural brass instruments</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Bugle"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Natural_brass_instruments"/> + <skos:prefLabel>Bugle</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Alphorn"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Natural_brass_instruments"/> + <skos:prefLabel>Alphorn</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Shofar"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Natural_brass_instruments"/> + <skos:prefLabel>Shofar</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Conch"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Natural_brass_instruments"/> + <skos:prefLabel>Conch</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Didgeridoo"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Natural_brass_instruments"/> + <skos:prefLabel>Didgeridoo</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Ophicleide"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Natural_brass_instruments"/> + <skos:prefLabel>Ophicleide</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Organ"> + <skos:prefLabel>Organ</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Hammond_organ"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Organ"/> + <skos:prefLabel>Hammond organ</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Pipe_organ"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Organ"/> + <skos:prefLabel>Pipe organ</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Reed_organ"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Organ"/> + <skos:prefLabel>Reed organ</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Harmonium"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Reed_organ"/> + <skos:prefLabel>Harmonium</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Calliope"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Organ"/> + <skos:prefLabel>Calliope</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Theatre_organ"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Organ"/> + <skos:prefLabel>Theatre organ</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + </skos:Concept> + + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#String_instruments"> + <skos:prefLabel>String instruments</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Bowed_string_instruments"> + <skos:prefLabel>Bowed string instruments</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Viola_da_gamba"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Bowed_string_instruments"/> + <skos:prefLabel>Viola da gamba</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Rebec"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Viola_da_gamba"/> + <skos:prefLabel>Rebec</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Bass"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Viola_da_gamba"/> + <skos:prefLabel>Bass</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Double_Bass"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Bass"/> + <skos:prefLabel>Double Bass</skos:prefLabel> + <skos:altLabel>Contrabass</skos:altLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Acoustic_upright_bass"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Bass"/> + <skos:prefLabel>Acoustic upright bass</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Electric_upright_bass"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Acoustic_upright_bass"/> + <skos:prefLabel>Electric upright bass</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Viola_d_amore"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Viola_da_gamba"/> + <skos:prefLabel>Viola d'amore</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Violins"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Bowed_string_instruments"/> + <skos:prefLabel>Violins</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Cello"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Violins"/> + <skos:prefLabel>Cello</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Electric_cello"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Cello"/> + <skos:prefLabel>Electric cello</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Viola"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Violins"/> + <skos:prefLabel>Viola</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Violin"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Violins"/> + <skos:prefLabel>Violin</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Treble_Violin"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Violin"/> + <skos:prefLabel>Treble Violin</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Soprano_Violin"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Violin"/> + <skos:prefLabel>Soprano Violin</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Alto_Violin"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Violin"/> + <skos:prefLabel>Alto Violin</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Violotta"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Violin"/> + <skos:prefLabel>Violotta</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Fiddle"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Violin"/> + <skos:prefLabel>Fiddle</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Hardingfele"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Fiddle"/> + <skos:prefLabel>Hardingfele</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Kemenche"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Fiddle"/> + <skos:prefLabel>Kemenche</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Electric_violin"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Violin"/> + <skos:prefLabel>Electric violin</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Vielle"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Violin"/> + <skos:prefLabel>Vielle</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Huqin"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Bowed_string_instruments"/> + <skos:prefLabel>Huqin</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Jing_Hu"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Huqin"/> + <skos:prefLabel>Jing Hú</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Erhu"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Huqin"/> + <skos:prefLabel>Èrhú</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Gaohu"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Erhu"/> + <skos:prefLabel>Gaohu</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Zhonghu"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Huqin"/> + <skos:prefLabel>Zhonghu</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Cizhonghu"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Huqin"/> + <skos:prefLabel>Cizhonghu</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Gehu"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Huqin"/> + <skos:prefLabel>Gehu</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Diyingehu"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Gehu"/> + <skos:prefLabel>Diyingehu</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Banhu"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Huqin"/> + <skos:prefLabel>Banhu</skos:prefLabel> + <skos:altLabel>Banghu</skos:altLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Yehu"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Huqin"/> + <skos:prefLabel>Yehu</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Kokyu"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Huqin"/> + <skos:prefLabel>Kokyu</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Morin_khuur"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Huqin"/> + <skos:prefLabel>Morin khuur</skos:prefLabel> + <skos:altLabel>Matouqin</skos:altLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Dan_nhi"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Huqin"/> + <skos:prefLabel>Đàn nhị</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Aracaic_and_Other_bowed_string-instruments"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Bowed_string_instruments"/> + <skos:prefLabel>Aracaic and Other bowed string-instruments</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Viola_organista"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Aracaic_and_Other_bowed_string-instruments"/> + <skos:prefLabel>Viola organista</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Crwth"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Aracaic_and_Other_bowed_string-instruments"/> + <skos:prefLabel>Crwth</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Nyckelharpa"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Aracaic_and_Other_bowed_string-instruments"/> + <skos:prefLabel>Nyckelharpa</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Bowed_psaltery"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Aracaic_and_Other_bowed_string-instruments"/> + <skos:prefLabel>Bowed psaltery</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Gudok"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Aracaic_and_Other_bowed_string-instruments"/> + <skos:prefLabel>Gudok</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Gadulka"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Gudok"/> + <skos:prefLabel>Gadulka</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Musical_Saw"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Aracaic_and_Other_bowed_string-instruments"/> + <skos:prefLabel>Musical Saw</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Plucked_string_instruments"> + <skos:prefLabel>Plucked string instruments</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Guitars"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Plucked_string_instruments"/> + <skos:prefLabel>Guitars</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Guitar"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Guitars"/> + <skos:prefLabel>Guitar</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Classical_guitar"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Guitar"/> + <skos:prefLabel>Classical guitar</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Acoustic_guitar"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Classical_guitar"/> + <skos:prefLabel>Acoustic guitar</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Spanish_acoustic_guitar"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Acoustic_guitar"/> + <skos:prefLabel>Spanish acoustic guitar</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Slide_guitar"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Guitar"/> + <skos:prefLabel>Slide guitar</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Steel_guitar"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Guitar"/> + <skos:prefLabel>Steel guitar</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Lap_steel_guitar"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Steel_guitar"/> + <skos:prefLabel>Lap steel guitar</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Electric_lap_steel_guitar"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Lap_steel_guitar"/> + <skos:prefLabel>Electric lap steel guitar</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Electric_Guitar"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Electric_lap_steel_guitar"/> + <skos:prefLabel>Electric Guitar</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Resonator_guitar"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Lap_steel_guitar"/> + <skos:prefLabel>Resonator guitar</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Dobro"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Resonator_guitar"/> + <skos:prefLabel>Dobro</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Table_steel_guitar"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Steel_guitar"/> + <skos:prefLabel>Table steel guitar</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Pedal_steel_guitar"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Table_steel_guitar"/> + <skos:prefLabel>Pedal steel guitar</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Baritone_guitar"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Guitar"/> + <skos:prefLabel>Baritone guitar</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Vietnamese_guitar"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Guitar"/> + <skos:prefLabel>Vietnamese guitar</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Hawaiian_guitar"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Guitar"/> + <skos:prefLabel>Hawaiian guitar</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Bass_Guitar"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Guitars"/> + <skos:prefLabel>Bass Guitar</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Acoustic_bass_guitar"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Bass_Guitar"/> + <skos:prefLabel>Acoustic bass guitar</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Electric_bass_guitar"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Bass_Guitar"/> + <skos:prefLabel>Electric bass guitar</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Dan_tu_day"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Bass_Guitar"/> + <skos:prefLabel>Đàn tứ dây</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Tiple"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Guitars"/> + <skos:prefLabel>Tiple</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Mexican_vihuela"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Tiple"/> + <skos:prefLabel>Mexican vihuela</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Ukulele"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Guitars"/> + <skos:prefLabel>Ukulele</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Spanish_Vihuela"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Guitars"/> + <skos:prefLabel>Spanish Vihuela</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Tres"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Guitars"/> + <skos:prefLabel>Tres</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Lute"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Plucked_string_instruments"/> + <skos:prefLabel>Lute</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Oud"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Lute"/> + <skos:prefLabel>Oud</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Biwa"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Oud"/> + <skos:prefLabel>Biwa</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Theorbo"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Lute"/> + <skos:prefLabel>Theorbo</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Turkish_baglama"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Lute"/> + <skos:prefLabel>Turkish baglama</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Greek_baglama"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Turkish_baglama"/> + <skos:prefLabel>Greek baglama</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Cittern"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Lute"/> + <skos:prefLabel>Cittern</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Tambura"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Lute"/> + <skos:prefLabel>Tambura</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Tamburitza"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Tambura"/> + <skos:prefLabel>Tamburitza</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Bouzouki"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Tambura"/> + <skos:prefLabel>Bouzouki</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Mandola"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Tambura"/> + <skos:prefLabel>Mandola</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Mandolin"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Mandola"/> + <skos:prefLabel>Mandolin</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Balalaika"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Tambura"/> + <skos:prefLabel>Balalaika</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Bandura"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Tambura"/> + <skos:prefLabel>Bandura</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Gumbri"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Lute"/> + <skos:prefLabel>Gumbri</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Rebab"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Lute"/> + <skos:prefLabel>Rebab</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Sarod"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Rebab"/> + <skos:prefLabel>Sarod</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Xalam_(khalam)"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Lute"/> + <skos:prefLabel>Xalam (khalam)</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Banjo"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Xalam_(khalam)"/> + <skos:prefLabel>Banjo</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Moon_Lute"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Lute"/> + <skos:prefLabel>Moon Lute</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Zhongruan"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Moon_Lute"/> + <skos:prefLabel>Zhongruan</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Dan_nguyet"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Moon_Lute"/> + <skos:prefLabel>Đàn nguyệt</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Dan_Tam"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Moon_Lute"/> + <skos:prefLabel>Đàn Tam</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Pipa"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Lute"/> + <skos:prefLabel>Pipa</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Dan_ty_ba"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Pipa"/> + <skos:prefLabel>Đàn tỳ bà</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Sanxian"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Lute"/> + <skos:prefLabel>Sanxián</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Sanshin"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Sanxian"/> + <skos:prefLabel>Sanshin</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Shamisen"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Sanshin"/> + <skos:prefLabel>Shamisen</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Sitar"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Lute"/> + <skos:prefLabel>Sitar</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Electric_Sitar"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Sitar"/> + <skos:prefLabel>Electric Sitar</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Lyre"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Plucked_string_instruments"/> + <skos:prefLabel>Lyre</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Kinnor"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Lyre"/> + <skos:prefLabel>Kinnor</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Kithara"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Lyre"/> + <skos:prefLabel>Kithara</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Harp"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Lyre"/> + <skos:prefLabel>Harp</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Concert_harp"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Harp"/> + <skos:prefLabel>Concert harp</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Electric_harp"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Concert_harp"/> + <skos:prefLabel>Electric harp</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Folk_harp"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Harp"/> + <skos:prefLabel>Folk harp</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Irish_harp"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Folk_harp"/> + <skos:prefLabel>Irish harp</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#German_harp"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Folk_harp"/> + <skos:prefLabel>German harp</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Wire-strung_harp"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Harp"/> + <skos:prefLabel>Wire-strung harp</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Psaltery"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Harp"/> + <skos:prefLabel>Psaltery</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Harpsichord"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Psaltery"/> + <skos:prefLabel>Harpsichord</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Kora"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Harp"/> + <skos:prefLabel>Kora</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Zither"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Plucked_string_instruments"/> + <skos:prefLabel>Zither</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Appalachian_Dulcimer"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Zither"/> + <skos:prefLabel>Appalachian Dulcimer</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Koto"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Zither"/> + <skos:prefLabel>Koto</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Dan_tranh"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Koto"/> + <skos:prefLabel>Đàn tranh</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Suikinkutsu"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Zither"/> + <skos:prefLabel>Suikinkutsu</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Gayageum"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Zither"/> + <skos:prefLabel>Gayageum</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Komungo"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Zither"/> + <skos:prefLabel>Komungo</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Geomungo"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Zither"/> + <skos:prefLabel>Geomungo</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Langeleik"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Zither"/> + <skos:prefLabel>Langeleik</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Kanun"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Zither"/> + <skos:prefLabel>Kanun</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Bandura"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Zither"/> + <skos:prefLabel>Bandura</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Musical_bow"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Plucked_string_instruments"/> + <skos:prefLabel>Musical bow</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Berimbau"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Musical_bow"/> + <skos:prefLabel>Berimbau</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Dan_bau"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Musical_bow"/> + <skos:prefLabel>Đàn bầu</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Struck_string_instruments"> + <skos:prefLabel>Struck string instruments</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Hammered_dulcimer"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Struck_string_instruments"/> + <skos:prefLabel>Hammered dulcimer</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Cymbalum"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Hammered_dulcimer"/> + <skos:prefLabel>Cymbalum</skos:prefLabel> + <skos:altLabel>Cimbalom</skos:altLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Yangqin"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Hammered_dulcimer"/> + <skos:prefLabel>Yángqín</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Khim"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Yangqin"/> + <skos:prefLabel>Khim</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Santur"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Hammered_dulcimer"/> + <skos:prefLabel>Santur</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Santoor"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Hammered_dulcimer"/> + <skos:prefLabel>Santoor</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Dan_tam_thap_luc"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Hammered_dulcimer"/> + <skos:prefLabel>Đàn tam thập lục</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Chapman_Stick"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Struck_string_instruments"/> + <skos:prefLabel>Chapman Stick</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Warr_Guitar"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Struck_string_instruments"/> + <skos:prefLabel>Warr Guitar</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Clavichord"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Struck_string_instruments"/> + <skos:prefLabel>Clavichord</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Clavinet"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Clavichord"/> + <skos:prefLabel>Clavinet</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Piano"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Struck_string_instruments"/> + <skos:prefLabel>Piano</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Fortepiano"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Piano"/> + <skos:prefLabel>Fortepiano</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Grand_Piano"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Piano"/> + <skos:prefLabel>Grand Piano</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Upright_Piano"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Piano"/> + <skos:prefLabel>Upright Piano</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Toy_piano"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Piano"/> + <skos:prefLabel>Toy piano</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Electric_Piano"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Piano"/> + <skos:prefLabel>Electric Piano</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Rhodes_Piano"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Electric_Piano"/> + <skos:prefLabel>Rhodes Piano</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Chamberlin"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Electric_Piano"/> + <skos:prefLabel>Chamberlin</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Mellotron"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Electric_Piano"/> + <skos:prefLabel>Mellotron</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Keyboard"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Electric_Piano"/> + <skos:prefLabel>Keyboard</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Keyboard_bass"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Keyboard"/> + <skos:prefLabel>Keyboard bass</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Other_String_instruments"> + <skos:prefLabel>Other String instruments</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Aeolian_harp"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Other_String_instruments"/> + <skos:prefLabel>Aeolian harp</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Hurdy_gurdy"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Other_String_instruments"/> + <skos:prefLabel>Hurdy gurdy</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Mbira"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Other_String_instruments"/> + <skos:prefLabel>Mbira</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Washtub_bass"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Other_String_instruments"/> + <skos:prefLabel>Washtub bass</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + </skos:Concept> + + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Percussion_instruments"> + <skos:prefLabel>Percussion instruments</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Drums"> + <skos:prefLabel>Drums</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Drumset"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Drums"/> + <skos:prefLabel>Drumset</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Brushes"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Drumset"/> + <skos:prefLabel>Brushes</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Frame_drum"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Drums"/> + <skos:prefLabel>Frame drum</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Tambourine"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Frame_drum"/> + <skos:prefLabel>Tambourine</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Rek"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Tambourine"/> + <skos:prefLabel>Rek</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Daf"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Tambourine"/> + <skos:prefLabel>Daf</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Bendir"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Tambourine"/> + <skos:prefLabel>Bendir</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Bohdran"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Frame_drum"/> + <skos:prefLabel>Bohdrán</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Ocean_drum"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Frame_drum"/> + <skos:prefLabel>Ocean drum</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Congas"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Drums"/> + <skos:prefLabel>Congas</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Bongos"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Drums"/> + <skos:prefLabel>Bongos</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Djembe"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Drums"/> + <skos:prefLabel>Djembe</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Doyra"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Drums"/> + <skos:prefLabel>Doyra</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Goblet_drum"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Drums"/> + <skos:prefLabel>Goblet drum</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Tabla"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Goblet_drum"/> + <skos:prefLabel>Tabla</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Zarb"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Goblet_drum"/> + <skos:prefLabel>Zarb</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Darbuka"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Goblet_drum"/> + <skos:prefLabel>Darbuka</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Trong_Bong"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Goblet_drum"/> + <skos:prefLabel>Trống Bông</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Cajon"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Drums"/> + <skos:prefLabel>Cajón</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Madal"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Drums"/> + <skos:prefLabel>Madal</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Vessel_drum"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Drums"/> + <skos:prefLabel>Vessel drum</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Udu"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Vessel_drum"/> + <skos:prefLabel>Udu</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Ghatam"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Vessel_drum"/> + <skos:prefLabel>Ghatam</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Taiko"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Drums"/> + <skos:prefLabel>Taiko</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Tanbou_ka"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Drums"/> + <skos:prefLabel>Tanbou ka</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Dai_co"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Drums"/> + <skos:prefLabel>Đại cô</skos:prefLabel> + <skos:altLabel>tiểu cô</skos:altLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Dholak"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Drums"/> + <skos:prefLabel>Dholak</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Snare_drum"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Drums"/> + <skos:prefLabel>Snare drum</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Surdo"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Drums"/> + <skos:prefLabel>Surdo</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Timpani"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Drums"/> + <skos:prefLabel>Timpani</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Talking_drum"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Drums"/> + <skos:prefLabel>Talking drum</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Slite_drum"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Drums"/> + <skos:prefLabel>Slite drum</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Mo"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Slite_drum"/> + <skos:prefLabel>Mõ</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Tuned_percussion"> + <skos:prefLabel>Tuned percussion</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Bells"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Tuned_percussion"/> + <skos:prefLabel>Bells</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Handbells"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Bells"/> + <skos:prefLabel>Handbells</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Tubular_Bells"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Bells"/> + <skos:prefLabel>Tubular Bells</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Cowbell"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Bells"/> + <skos:prefLabel>Cowbell</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Carillon"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Bells"/> + <skos:prefLabel>Carillon</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Gankogui"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Bells"/> + <skos:prefLabel>Gankogui</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Gongs"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Tuned_percussion"/> + <skos:prefLabel>Gongs</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Gong"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Gongs"/> + <skos:prefLabel>Gong</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Chieng"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Gong"/> + <skos:prefLabel>Chiêng</skos:prefLabel> + <skos:altLabel>la</skos:altLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Cymbals"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Gongs"/> + <skos:prefLabel>Cymbals</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Bat"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Cymbals"/> + <skos:prefLabel>Bát</skos:prefLabel> + <skos:altLabel>Chập choa</skos:altLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Xylophone"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Tuned_percussion"/> + <skos:prefLabel>Xylophone</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Marimba"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Xylophone"/> + <skos:prefLabel>Marimba</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Glockenspiel"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Xylophone"/> + <skos:prefLabel>Glockenspiel</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Crotales"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Glockenspiel"/> + <skos:prefLabel>Crotales</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Celesta"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Xylophone"/> + <skos:prefLabel>Celesta</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Gamelan"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Xylophone"/> + <skos:prefLabel>Gamelan</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Bamboo_angklung"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Gamelan"/> + <skos:prefLabel>Bamboo angklung</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Metal_angklung"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Bamboo_angklung"/> + <skos:prefLabel>Metal angklung</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Dan_Trung"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Xylophone"/> + <skos:prefLabel>Dan Trung</skos:prefLabel> + <skos:altLabel>Dan Klom-put</skos:altLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Amadinda"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Xylophone"/> + <skos:prefLabel>Amadinda</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Balafon"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Xylophone"/> + <skos:prefLabel>Balafon</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Metallophone"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Xylophone"/> + <skos:prefLabel>Metallophone</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Vibraphone"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Xylophone"/> + <skos:prefLabel>Vibraphone</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Ti_Bwa"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Xylophone"/> + <skos:prefLabel>Ti Bwa</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Timbales"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Tuned_percussion"/> + <skos:prefLabel>Timbales</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Steelpan"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Tuned_percussion"/> + <skos:prefLabel>Steelpan</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Triangle"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Tuned_percussion"/> + <skos:prefLabel>Triangle</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Whistle"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Tuned_percussion"/> + <skos:prefLabel>Whistle</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Mbira"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Tuned_percussion"/> + <skos:prefLabel>Mbira</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Singing_bowl"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Tuned_percussion"/> + <skos:prefLabel>Singing bowl</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Chimes"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Tuned_percussion"/> + <skos:prefLabel>Chimes</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Other_percussion"> + <skos:prefLabel>Other percussion</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Afuche"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Other_percussion"/> + <skos:prefLabel>Afuche</skos:prefLabel> + <skos:altLabel>Cabasa</skos:altLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Rattle"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Other_percussion"/> + <skos:prefLabel>Rattle</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Maracas"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Rattle"/> + <skos:prefLabel>Maracas</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Chacha"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Rattle"/> + <skos:prefLabel>Chacha</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Sistrum"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Rattle"/> + <skos:prefLabel>Sistrum</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Ankle_rattlers"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Rattle"/> + <skos:prefLabel>Ankle rattlers</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Shekere"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Rattle"/> + <skos:prefLabel>Shekere</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Rainstick"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Rattle"/> + <skos:prefLabel>Rainstick</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Shakers"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Other_percussion"/> + <skos:prefLabel>Shakers</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Castanets"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Other_percussion"/> + <skos:prefLabel>Castanets</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Spoons"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Castanets"/> + <skos:prefLabel>Spoons</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Song_loan"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Castanets"/> + <skos:prefLabel>Song loan</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Bones"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Castanets"/> + <skos:prefLabel>Bones</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Claves"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Castanets"/> + <skos:prefLabel>Claves</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Rythm_sticks"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Castanets"/> + <skos:prefLabel>Rythm sticks</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Sanh_Tien"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Castanets"/> + <skos:prefLabel>Sanh Tiên</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Phach"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Sanh_Tien"/> + <skos:prefLabel>Phách</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Bin-sasara"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Castanets"/> + <skos:prefLabel>Bin-sasara</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Gueiro"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Other_percussion"/> + <skos:prefLabel>Güiro</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Mendoza"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Other_percussion"/> + <skos:prefLabel>Mendoza</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Ratchet"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Other_percussion"/> + <skos:prefLabel>Ratchet</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Vibraslap"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Other_percussion"/> + <skos:prefLabel>Vibraslap</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Washboard"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Other_percussion"/> + <skos:prefLabel>Washboard</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Frattoir"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Washboard"/> + <skos:prefLabel>Frattoir</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Whip"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Other_percussion"/> + <skos:prefLabel>Whip</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Wood_Block"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Other_percussion"/> + <skos:prefLabel>Wood Block</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Temple_Blocks"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Wood_Block"/> + <skos:prefLabel>Temple Blocks</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Tibetan_Water_Drum"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Other_percussion"/> + <skos:prefLabel>Tibetan Water Drum</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Waterphone"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Tibetan_Water_Drum"/> + <skos:prefLabel>Waterphone</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Handclaps"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Other_percussion"/> + <skos:prefLabel>Handclaps</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + </skos:Concept> + + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Electronic_instruments"> + <skos:prefLabel>Electronic instruments</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Denis_d_or"> + <skos:prefLabel>Denis d'or</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Dubreq_Stylophone"> + <skos:prefLabel>Dubreq Stylophone</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Drum_machine"> + <skos:prefLabel>Drum machine</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Ebow"> + <skos:prefLabel>Ebow</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Omnichord"> + <skos:prefLabel>Omnichord</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Ondes_Martenot"> + <skos:prefLabel>Ondes Martenot</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Sampler"> + <skos:prefLabel>Sampler</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Synclavier"> + <skos:prefLabel>Synclavier</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Synthesizer"> + <skos:prefLabel>Synthesizer</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Moog"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Synthesizer"/> + <skos:prefLabel>Moog</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Minimoog"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Synthesizer"/> + <skos:prefLabel>Minimoog</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Continuum"> + <skos:broader rdf:resource="http://purl.org/ontology/mo/mit#Synthesizer"/> + <skos:prefLabel>Continuum</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Teleharmonium"> + <skos:prefLabel>Teleharmonium</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Theremin"> + <skos:prefLabel>Theremin</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Programming"> + <skos:prefLabel>Programming</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Vocoder"> + <skos:prefLabel>Vocoder</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Wavedrum"> + <skos:prefLabel>Wavedrum</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + </skos:Concept> + + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Other_instruments"> + <skos:prefLabel>Other instruments</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Bull-roarer"> + <skos:prefLabel>Bull-roarer</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Turntables"> + <skos:prefLabel>Turntables</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Hardart"> + <skos:prefLabel>Hardart</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Lasso_d_amore"> + <skos:prefLabel>Lasso d'amore</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Kazoo"> + <skos:prefLabel>Kazoo</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Glass_(H)armonica"> + <skos:prefLabel>Glass (H)armonica</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + <skos:narrower> + <skos:Concept rdf:about="http://purl.org/ontology/mo/mit#Vacuum_cleaner"> + <skos:prefLabel>Vacuum cleaner</skos:prefLabel> + <skos:inScheme rdf:resource="http://purl.org/ontology/mo/instruments#Musical_instruments"/> + </skos:Concept> + </skos:narrower> + </skos:Concept> + +</rdf:RDF>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/musicont/rdf/base/musicontology.n3 Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,2793 @@ +@prefix ao: <http://purl.org/ontology/ao/core#> . +@prefix bio: <http://purl.org/vocab/bio/0.1/> . +@prefix cc: <http://web.resource.org/cc/> . +@prefix dc: <http://purl.org/dc/elements/1.1/> . +@prefix dcterms: <http://purl.org/dc/terms/> . +@prefix event: <http://purl.org/NET/c4dm/event.owl#> . +@prefix foaf: <http://xmlns.com/foaf/0.1/> . +@prefix frbr: <http://purl.org/vocab/frbr/core#> . +@prefix geo: <http://www.w3.org/2003/01/geo/wgs84_pos#> . +@prefix keys: <http://purl.org/NET/c4dm/keys.owl#> . +@prefix mo: <http://purl.org/ontology/mo/> . +@prefix owl: <http://www.w3.org/2002/07/owl#> . +@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . +@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . +@prefix time: <http://www.w3.org/2006/time#> . +@prefix vann: <http://purl.org/vocab/vann/> . +@prefix vs: <http://www.w3.org/2003/06/sw-vocab-status/ns#> . +@prefix wot: <http://xmlns.com/wot/0.1/> . +@prefix xsd: <http://www.w3.org/2001/XMLSchema#> . + +mo: rdf:type owl:Ontology ; + dc:created "2006/12/21 12:00:00"; + dc:date "2013/07/22 16:54:19"; + dc:description """ + The Music Ontology Specification provides main concepts and + properties fo describing music (i.e. artists, albums and tracks) + on the Semantic Web. + """ ; + dc:title "The Music Ontology" ; + owl:imports bio: , <http://purl.org/NET/c4dm/event.owl> , <http://purl.org/ontology/ao/core> , <http://www.w3.org/2006/time> , foaf: , dcterms: , <http://purl.org/NET/c4dm/keys.owl> , <http://purl.org/vocab/frbr/core> ; + vann:preferredNamespacePrefix "mo" ; + vann:preferredNamespaceUri "http://purl.org/ontology/mo/" ; + owl:versionInfo "Revision: 2.1.5" ; + foaf:maker + <http://raimond.me.uk/foaf.rdf#moustaki>, + <http://foaf.me/zazi#me>, + <http://www.talkdigger.com/foaf/fgiasson>, + <http://kurtisrandom.com/foaf.rdf#kurtjx>, + [ foaf:name "George Fazekas" ], + [ foaf:name "Simon Reinhardt"; foaf:homepage <http://simon-reinhardt.de/> ], + [ foaf:name "Alexandre Passant"; foaf:homepage <http://apassant.net/> ]. + +<http://raimond.me.uk/foaf.rdf#moustaki> foaf:name "Yves Raimond" ; foaf:homepage <http://raimond.me.uk/> . +<http://foaf.me/zazi#me> foaf:name "Thomas Gängler"; foaf:homepage <http://smiy.wordpress.com/> . +<http://www.talkdigger.com/foaf/fgiasson> foaf:name "Frédérick Giasson"; foaf:homepage <http://fgiasson.com/> . +<http://kurtisrandom.com/foaf.rdf#kurtjx> foaf:name "Kurt Jacobson"; foaf:homepage <http://kurtisrandom.com/> . + +mo:Activity + rdf:type owl:Class ; + rdfs:comment """ + An activity period, defining when an artist was musically active. + """ ; + rdfs:isDefinedBy mo: ; + rdfs:label "activity" ; + rdfs:subClassOf event:Event ; + mo:level "1" ; + vs:term_status "testing" . + +mo:AnalogSignal + rdf:type owl:Class ; + rdfs:comment """ + An analog signal. + """ ; + rdfs:isDefinedBy mo: ; + rdfs:label "analogue signal" ; + rdfs:subClassOf mo:Signal ; + mo:level "2" ; + owl:disjointWith mo:DigitalSignal ; + vs:term_status "stable" . + +mo:Arrangement + rdf:type owl:Class ; + rdfs:comment """ + An arrangement event. + Takes as agent the arranger, and produces a score (informational object, not the actually published score). + """ ; + rdfs:isDefinedBy mo: ; + rdfs:label "arrangement" ; + rdfs:subClassOf event:Event ; + mo:level "2" ; + vs:term_status "stable" . + +mo:Arranger + rdf:type owl:Class ; + rdfs:label "arranger" ; + rdfs:subClassOf foaf:Agent ; + mo:level "2" ; + owl:equivalentClass + [ rdf:type owl:Restriction ; + owl:onProperty event:isAgentIn ; + owl:someValuesFrom mo:Arrangement + ] ; + vs:term_status "unstable" . + +mo:AudioFile + rdf:type owl:Class ; + rdfs:comment "An audio file, which may be available on a local file system or through http, ftp, etc." ; + rdfs:isDefinedBy mo: ; + rdfs:label "audio file" ; + rdfs:subClassOf mo:Medium , foaf:Document ; + mo:level "1" ; + vs:term_status "unstable" . + +mo:CD + rdf:type owl:Class ; + rdfs:comment "Compact Disc used as medium to record a musical manifestation." ; + rdfs:isDefinedBy mo: ; + rdfs:label "CD" ; + rdfs:subClassOf mo:Medium ; + mo:level "1" ; + vs:term_status "unstable" . + +mo:Composer + rdf:type owl:Class ; + rdfs:label "composer" ; + rdfs:subClassOf foaf:Agent ; + mo:level "2" ; + owl:equivalentClass + [ rdf:type owl:Restriction ; + owl:onProperty event:isAgentIn ; + owl:someValuesFrom mo:Composition + ] ; + vs:term_status "unstable" . + +mo:Composition + rdf:type owl:Class ; + rdfs:comment """ + A composition event. + Takes as agent the composer himself. + It produces a MusicalWork, or a MusicalExpression (when the initial \"product\" is a score, for example), or both... + """ ; + rdfs:isDefinedBy mo: ; + rdfs:label "composition" ; + rdfs:subClassOf event:Event ; + mo:level "2" ; + vs:term_status "stable" . + +mo:Conductor + rdf:type owl:Class ; + rdfs:label "conductor" ; + rdfs:subClassOf foaf:Agent ; + mo:level "2" ; + owl:equivalentClass + [ rdf:type owl:Restriction ; + owl:onProperty mo:conducted ; + owl:someValuesFrom mo:Performance + ] ; + vs:term_status "unstable" . + +mo:CorporateBody + rdf:type owl:Class ; + rdfs:comment "Organization or group of individuals and/or other organizations involved in the music market." ; + rdfs:isDefinedBy mo: ; + rdfs:label "corporate body" ; + rdfs:subClassOf foaf:Organization ; + mo:level "1" ; + vs:term_status "stable" . + +mo:DAT + rdf:type owl:Class ; + rdfs:comment "Digital Audio Tape used as medium to record a musical manifestation." ; + rdfs:isDefinedBy mo: ; + rdfs:label "DAT" ; + rdfs:subClassOf mo:Medium ; + mo:level "1" ; + vs:term_status "unstable" . + +mo:DCC + rdf:type owl:Class ; + rdfs:comment "Digital Compact Cassette used as medium to record a musical manifestation." ; + rdfs:isDefinedBy mo: ; + rdfs:label "DCC" ; + rdfs:subClassOf mo:Medium ; + mo:level "1" ; + vs:term_status "unstable" . + +mo:DVDA + rdf:type owl:Class ; + rdfs:comment "DVD-Audio used as medium to record a musical manifestation." ; + rdfs:isDefinedBy mo: ; + rdfs:label "DVDA" ; + rdfs:subClassOf mo:Medium ; + mo:level "1" ; + vs:term_status "unstable" . + +mo:DigitalSignal + rdf:type owl:Class ; + rdfs:comment """ + A digital signal + """ ; + rdfs:isDefinedBy mo: ; + rdfs:label "digital signal" ; + rdfs:subClassOf mo:Signal ; + mo:level "2" ; + owl:disjointWith mo:AnalogSignal ; + vs:term_status "stable" . + +mo:ED2K + rdf:type owl:Class ; + rdfs:comment "Something available on the E-Donkey peer-2-peer filesharing network" ; + rdfs:isDefinedBy mo: ; + rdfs:label "ED2K" ; + rdfs:subClassOf mo:Medium ; + mo:level "1" ; + vs:term_status "unstable" . + +mo:Festival + rdf:type owl:Class ; + rdfs:comment """ + A festival - musical/artistic event lasting several days, like Glastonbury, Rock Am Ring... + We migth decompose this event (which is in fact just a classification of the space/time region related to + a particular festival) using hasSubEvent in several performances at different space/time. + """ ; + rdfs:isDefinedBy mo: ; + rdfs:label "Festival" ; + rdfs:subClassOf event:Event ; + mo:level "2" ; + vs:term_status "stable" . + +mo:Genre + rdf:type owl:Class ; + rdfs:comment """ + An expressive style of music. + + Any taxonomy can be plug-in here. You can either define a genre by yourself, like this: + + :mygenre a mo:Genre; dc:title \"electro rock\". + + Or you can refer to a DBPedia genre (such as http://dbpedia.org/resource/Baroque_music), allowing semantic web + clients to access easily really detailed structured information about the genre you are refering to. + """ ; + rdfs:isDefinedBy mo: ; + rdfs:label "Genre" ; + mo:level "2" ; + vs:term_status "stable" . + +mo:Instrument + rdf:type owl:Class ; + rdfs:comment """ + Any of various devices or contrivances that can be used to produce musical tones or sound. + + Any taxonomy can be used to subsume this concept. The default one is one extracted by Ivan Herman + from the Musicbrainz instrument taxonomy, conforming to SKOS. This concept holds a seeAlso link + towards this taxonomy. + """ ; + rdfs:isDefinedBy mo: ; + rdfs:label "Instrument" ; + rdfs:seeAlso <http://purl.org/ontology/mo/mit#> ; + mo:level "2" ; + vs:term_status "stable" . + +mo:Instrumentation + rdf:type owl:Class ; + rdfs:comment """ + Instrumentation deals with the techniques of writing music for a specific instrument, + including the limitations of the instrument, playing techniques and idiomatic handling of the instrument. + """ ; + rdfs:isDefinedBy mo: ; + rdfs:label "instrumentation" ; + rdfs:subClassOf mo:Arrangement ; + mo:level "2" ; + vs:term_status "stable" . + +mo:Label + rdf:type owl:Class ; + rdfs:comment "Trade name of a company that produces musical works or expression of musical works." ; + rdfs:isDefinedBy mo: ; + rdfs:label "label" ; + rdfs:subClassOf mo:CorporateBody ; + mo:level "1" ; + vs:term_status "stable" . + +mo:Libretto + rdf:type owl:Class ; + rdfs:comment """ + Libretto + """ ; + rdfs:isDefinedBy mo: ; + rdfs:label "libretto" ; + rdfs:subClassOf mo:MusicalExpression ; + mo:level "2" ; + vs:term_status "stable" . + +mo:Listener + rdf:type owl:Class ; + rdfs:label "listened" ; + rdfs:subClassOf foaf:Agent ; + mo:level "2" ; + owl:equivalentClass + [ rdf:type owl:Restriction ; + owl:onProperty mo:listened ; + owl:someValuesFrom mo:Performance + ] ; + vs:term_status "unstable" . + +mo:Lyrics + rdf:type owl:Class ; + rdfs:comment """ + Lyrics + """ ; + rdfs:isDefinedBy mo: ; + rdfs:label "lyrics" ; + rdfs:subClassOf mo:MusicalExpression ; + mo:level "2" ; + vs:term_status "stable" . + +mo:MD + rdf:type owl:Class ; + rdfs:comment "Mini Disc used as medium to record a musical manifestation." ; + rdfs:isDefinedBy mo: ; + rdfs:label "MD" ; + rdfs:subClassOf mo:Medium ; + mo:level "1" ; + vs:term_status "unstable" . + +mo:MagneticTape + rdf:type owl:Class ; + rdfs:comment "Magnetic analogue tape used as medium to record a musical manifestation." ; + rdfs:isDefinedBy mo: ; + rdfs:label "MagneticTape" ; + rdfs:subClassOf mo:Medium ; + mo:level "1" ; + vs:term_status "unstable" . + +mo:Medium + rdf:type owl:Class ; + rdfs:comment "A means or instrumentality for storing or communicating musical manifestation." ; + rdfs:isDefinedBy mo: ; + rdfs:label "Medium" ; + rdfs:subClassOf mo:MusicalItem ; + mo:level "1" ; + vs:term_status "unstable" . + +mo:Membership + rdf:type owl:Class ; + rdfs:comment "A membership event, where one or several people belongs to a group during a particular time period." ; + rdfs:isDefinedBy mo: ; + rdfs:label "membership" ; + rdfs:subClassOf event:Event ; + mo:level "1" ; + vs:term_status "testing" . + +mo:Movement + rdf:type owl:Class ; + rdfs:comment """A movement is a self-contained part of a musical work. While individual or selected movements from a composition are sometimes performed separately, a performance of the complete work requires all the movements to be performed in succession. + +Often a composer attempts to interrelate the movements thematically, or sometimes in more subtle ways, in order that the individual +movements exert a cumulative effect. In some forms, composers sometimes link the movements, or ask for them to be played without a +pause between them. + """ ; + rdfs:isDefinedBy mo: ; + rdfs:label "movement" ; + rdfs:subClassOf mo:MusicalWork ; + mo:level "2" ; + vs:term_status "unstable" . + +mo:MusicArtist + rdf:type owl:Class ; + rdfs:comment """ + A person or a group of people (or a computer :-) ), whose musical + creative work shows sensitivity and imagination + """ ; + rdfs:isDefinedBy mo: ; + rdfs:label "music artist" ; + rdfs:subClassOf foaf:Agent ; + mo:level "1" ; + vs:term_status "stable" . + +mo:MusicGroup + rdf:type owl:Class ; + rdfs:comment "Group of musicians, or musical ensemble, usually popular or folk, playing parts of or improvising off of a musical arrangement. " ; + rdfs:isDefinedBy mo: ; + rdfs:label "music group" ; + rdfs:subClassOf foaf:Group , mo:MusicArtist ; + mo:level "1" ; + vs:term_status "stable" . + +mo:MusicalExpression + rdf:type owl:Class ; + rdfs:comment """ +The intellectual or artistic realization of a work in the form of alpha-numeric, musical, or choreographic notation, sound, etc., or any combination of such forms. + + +For example: + +Work #1 Franz Schubert's Trout quintet + + * Expression #1 the composer's score + * Expression #2 sound issued from the performance by the Amadeus Quartet and Hephzibah Menuhin on piano + * Expression #3 sound issued from the performance by the Cleveland Quartet and Yo-Yo Ma on the cello + * . . . . + +The Music Ontology defines the following sub-concepts of a MusicalExpression, which should be used instead of MusicalExpression itself: Score (the +result of an arrangement), Sound (produced during a performance), Signal. However, it is possible to stick to FRBR and bypass the worflow +mechanism this ontology defines by using the core FRBR properties on such objects. But it is often better to use events to interconnect such +expressions (allowing to go deeply into the production process - `this performer was playing this particular instrument at that +particular time'). + + """ ; + rdfs:isDefinedBy mo: ; + rdfs:label "musical expression" ; + rdfs:subClassOf frbr:Expression ; + mo:level "1" ; + vs:term_status "unstable" . + +mo:MusicalItem + rdf:type owl:Class ; + rdfs:comment """A single exemplar of a musical expression. + +For example, it could be a single exemplar of a CD. This is normally an single object (a CD) possessed by somebody. + +From the FRBR final report: The entity defined as item is a concrete entity. It is in many instances a single physical object (e.g., a copy of a one-volume monograph, a single audio cassette, etc.). There are instances, however, where the entity defined as item comprises more than one physical object (e.g., a monograph issued as two separately bound volumes, a recording issued on three separate compact discs, etc.). + +In terms of intellectual content and physical form, an item exemplifying a manifestation is normally the same as the manifestation itself. However, variations may occur from one item to another, even when the items exemplify the same manifestation, where those variations are the result of actions external to the intent of the producer of the manifestation (e.g., damage occurring after the item was produced, binding performed by a library, etc.). + """ ; + rdfs:isDefinedBy mo: ; + rdfs:label "MusicalItem" ; + mo:level "1" ; + vs:term_status "unstable" . + +mo:MusicalManifestation + rdf:type owl:Class ; + rdfs:comment """ + +This entity is related to the edition/production/publication of a musical expression (musical manifestation are closely related with the music industry (their terms, concepts, definitions, methods (production, publication, etc.), etc.) + +From the FRBR final report: The entity defined as manifestation encompasses a wide range of materials, including manuscripts, books, periodicals, maps, posters, sound recordings, films, video recordings, CD-ROMs, multimedia kits, etc. As an entity, manifestation represents all the physical objects that bear the same characteristics, in respect to both intellectual content and physical form. + + +Work #1 J. S. Bach's Six suites for unaccompanied cello + + * Expression #1 sound issued during the performance by Janos Starker recorded in 1963 and 1965 + o Manifestation #1 recordings released on 33 1/3 rpm sound discs in 1965 by Mercury + o Manifestation #2 recordings re-released on compact disc in 1991 by Mercury + * Expression #2 sound issued during the performances by Yo-Yo Ma recorded in 1983 + o Manifestation #1 recordings released on 33 1/3 rpm sound discs in 1983 by CBS Records + o Manifestation #2 recordings re-released on compact disc in 1992 by CBS Records + + +Changes that occur deliberately or even inadvertently in the production process that affect the copies result, strictly speaking, in a new manifestation. A manifestation resulting from such a change may be identified as a particular \"state\" or \"issue\" of the publication. + +Changes that occur to an individual copy after the production process is complete (e.g., the loss of a page, rebinding, etc.) are not considered to result in a new manifestation. That copy is simply considered to be an exemplar (or item) of the manifestation that deviates from the copy as produced. + +With the entity defined as manifestation we can describe the physical characteristics of a set of items and the characteristics associated with the production and distribution of that set of items that may be important factors in enabling users to choose a manifestation appropriate to their physical needs and constraints, and to identify and acquire a copy of that manifestation. + +Defining manifestation as an entity also enables us to draw relationships between specific manifestations of a work. We can use the relationships between manifestations to identify, for example, the specific publication that was used to create a microreproduction. + +""" ; + rdfs:isDefinedBy mo: ; + rdfs:label "musical manifestation" ; + rdfs:subClassOf frbr:Manifestation ; + mo:level "1" ; + vs:term_status "stable" . + +mo:MusicalWork + rdf:type owl:Class ; + rdfs:comment """ + Distinct intellectual or artistic musical creation. + +From the FRBR final report: A work is an abstract entity; there is no single material object one can point to as the work. We recognize the work through individual realizations or expressions of the work, but the work itself exists only in the commonality of +content between and among the various expressions of the work. When we speak of Homer's Iliad as a work, our point of reference is not a particular recitation or text of the work, but the intellectual creation that lies behind all the various expressions of the work. + +For example: + +work #1 J. S. Bach's The art of the fugue + + + """ ; + rdfs:isDefinedBy mo: ; + rdfs:label "musical work" ; + rdfs:subClassOf frbr:Work ; + mo:level "2" ; + vs:term_status "stable" . + +mo:Orchestration + rdf:type owl:Class ; + rdfs:comment """ + Orchestration includes, in addition to instrumentation, the handling of groups of instruments and their balance and interaction. + """ ; + rdfs:isDefinedBy mo: ; + rdfs:label "orchestration" ; + rdfs:subClassOf mo:Arrangement ; + mo:level "2" ; + vs:term_status "stable" . + +mo:Performance + rdf:type owl:Class ; + rdfs:comment """ + A performance event. + It might include as agents performers, engineers, conductors, or even listeners. + It might include as factors a score, a MusicalWork, musical instruments. + It might produce a sound:-) + """ ; + rdfs:isDefinedBy mo: ; + rdfs:label "performance" ; + rdfs:subClassOf event:Event ; + mo:level "2" ; + vs:term_status "stable" . + +mo:Performer + rdf:type owl:Class ; + rdfs:label "performer" ; + rdfs:subClassOf foaf:Agent ; + mo:level "2" ; + owl:equivalentClass + [ rdf:type owl:Restriction ; + owl:onProperty mo:performed ; + owl:someValuesFrom mo:Performance + ] ; + vs:term_status "unstable" . + +mo:PublishedLibretto + rdf:type owl:Class ; + rdfs:comment "A published libretto" ; + rdfs:isDefinedBy mo: ; + rdfs:label "published libretto" ; + rdfs:subClassOf mo:MusicalManifestation ; + mo:level "2" ; + vs:term_status "stable" . + +mo:PublishedLyrics + rdf:type owl:Class ; + rdfs:comment "Published lyrics, as a book or as a text file, for example" ; + rdfs:isDefinedBy mo: ; + rdfs:label "published lyrics" ; + rdfs:subClassOf mo:MusicalManifestation ; + mo:level "2" ; + vs:term_status "stable" . + +mo:PublishedScore + rdf:type owl:Class ; + rdfs:comment "A published score (subclass of MusicalManifestation)" ; + rdfs:isDefinedBy mo: ; + rdfs:label "published score" ; + rdfs:subClassOf mo:MusicalManifestation ; + mo:level "2" ; + vs:term_status "stable" . + +mo:Record + rdf:type owl:Class ; + rdfs:comment "A published record (manifestation which first aim is to render the product of a recording)" ; + rdfs:isDefinedBy mo: ; + rdfs:label "record" ; + rdfs:subClassOf mo:MusicalManifestation ; + mo:level "1" ; + vs:term_status "stable" . + +mo:Recording + rdf:type owl:Class ; + rdfs:comment """ + A recording event. + Takes a sound as a factor to produce a signal (analog or digital). + The location of such events (if any) is the actual location of the corresponding + microphone or the \"recording device\". + """ ; + rdfs:isDefinedBy mo: ; + rdfs:label "recording" ; + rdfs:subClassOf event:Event ; + mo:level "2" ; + vs:term_status "stable" . + +mo:RecordingSession + rdf:type owl:Class ; + rdfs:comment "A set of performances/recordings/mastering events. This event can be decomposed in its constituent events using event:sub_event" ; + rdfs:isDefinedBy mo: ; + rdfs:label "recording session" ; + rdfs:subClassOf event:Event ; + mo:level "2" ; + vs:term_status "testing" . + +mo:Release + rdf:type owl:Class ; + rdfs:comment "A specific release, with barcode, box, liner notes, cover art, and a number of records" ; + rdfs:isDefinedBy mo: ; + rdfs:label "release" ; + rdfs:subClassOf mo:MusicalManifestation ; + mo:level "1" ; + vs:term_status "testing" . + +mo:ReleaseEvent + rdf:type owl:Class ; + rdfs:comment "A release event, in a particular place (e.g. a country) at a particular time. Other factors of this event might include cover art, liner notes, box, etc. or a release grouping all these." ; + rdfs:isDefinedBy mo: ; + rdfs:label "release event" ; + rdfs:subClassOf event:Event ; + mo:level "1" ; + vs:term_status "testing" . + +mo:ReleaseStatus + rdf:type owl:Class ; + rdfs:comment "Musical manifestation release status." ; + rdfs:isDefinedBy mo: ; + rdfs:label "release status" ; + mo:level "1" ; + vs:term_status "stable" . + +mo:ReleaseType + rdf:type owl:Class ; + rdfs:comment """ + Release type of a particular manifestation, such as \"album\" or \"interview\"... + """ ; + rdfs:isDefinedBy mo: ; + rdfs:label "Release type" ; + mo:level "1" ; + vs:term_status "stable" . + +mo:SACD + rdf:type owl:Class ; + rdfs:comment "Super Audio Compact Disc used as medium to record a musical manifestation." ; + rdfs:isDefinedBy mo: ; + rdfs:label "SACD" ; + rdfs:subClassOf mo:Medium ; + mo:level "1" ; + vs:term_status "unstable" . + +mo:Score + rdf:type owl:Class ; + rdfs:comment """ + Here, we are dealing with the informational object (the MusicalExpression), not the actually \"published\" score. + This may be, for example, the product of an arrangement process. + """ ; + rdfs:isDefinedBy mo: ; + rdfs:label "score" ; + rdfs:subClassOf mo:MusicalExpression ; + mo:level "2" ; + vs:term_status "stable" . + +mo:Show + rdf:type owl:Class ; + rdfs:comment """ + A show - a musical event lasting several days, in a particular venue. Examples can be + \"The Magic Flute\" at the Opera Bastille, August 2005, or a musical in the west end... + """ ; + rdfs:isDefinedBy mo: ; + rdfs:label "Show" ; + rdfs:subClassOf event:Event ; + mo:level "2" ; + vs:term_status "stable" . + +mo:Signal + rdf:type owl:Class ; + rdfs:comment """ + A subclass of MusicalExpression, representing a signal, for example a master signal produced by a performance and a recording. + """ ; + rdfs:isDefinedBy mo: ; + rdfs:label "signal" ; + rdfs:subClassOf mo:MusicalExpression ; + mo:level "1" ; + vs:term_status "stable" . + +mo:SignalGroup + rdf:type owl:Class ; + rdfs:comment """ + A musical expression representing a group of signals, for example a set of masters resulting from a whole recording/mastering session. + """ ; + rdfs:isDefinedBy mo: ; + rdfs:label "signal group" ; + rdfs:subClassOf mo:MusicalExpression ; + mo:level "1" ; + vs:term_status "testing" . + +mo:SoloMusicArtist + rdf:type owl:Class ; + rdfs:comment "Single person whose musical creative work shows sensitivity and imagination." ; + rdfs:isDefinedBy mo: ; + rdfs:label "solo music artist" ; + rdfs:subClassOf foaf:Person , mo:MusicArtist ; + mo:level "1" ; + vs:term_status "stable" . + +mo:Sound + rdf:type owl:Class ; + rdfs:comment """ + A subclass of MusicalExpression, representing a sound. Realisation of a MusicalWork during a musical Performance. + """ ; + rdfs:isDefinedBy mo: ; + rdfs:label "sound" ; + rdfs:subClassOf event:Event , mo:MusicalExpression ; + mo:level "2" ; + vs:term_status "stable" . + +mo:SoundEngineer + rdf:type owl:Class ; + rdfs:label "sound engineer" ; + rdfs:subClassOf foaf:Agent ; + mo:level "2" ; + owl:equivalentClass + [ rdf:type owl:Restriction ; + owl:onProperty mo:engineered ; + owl:someValuesFrom mo:Performance + ] ; + vs:term_status "unstable" . + +mo:Stream + rdf:type owl:Class ; + rdfs:comment "Transmission over a network used as medium to broadcast a musical manifestation" ; + rdfs:isDefinedBy mo: ; + rdfs:label "Stream" ; + rdfs:subClassOf mo:Medium ; + mo:level "1" ; + vs:term_status "unstable" . + +mo:Torrent + rdf:type owl:Class ; + rdfs:comment "Something available on the Bittorrent peer-2-peer filesharing network" ; + rdfs:isDefinedBy mo: ; + rdfs:label "Torrent" ; + rdfs:subClassOf mo:Medium ; + mo:level "1" ; + vs:term_status "unstable" . + +mo:Track + rdf:type owl:Class ; + rdfs:comment "A track on a particular record" ; + rdfs:isDefinedBy mo: ; + rdfs:label "track" ; + rdfs:subClassOf mo:MusicalManifestation ; + mo:level "1" ; + vs:term_status "stable" . + +mo:Transcription + rdf:type owl:Class ; + rdfs:comment "Transcription event" ; + rdfs:isDefinedBy mo: ; + rdfs:label "transcription" ; + rdfs:subClassOf event:Event ; + mo:level "2" ; + vs:term_status "testing" . + +mo:Vinyl + rdf:type owl:Class ; + rdfs:comment "Vinyl used as medium to record a musical manifestation" ; + rdfs:isDefinedBy mo: ; + rdfs:label "Vinyl" ; + rdfs:subClassOf mo:Medium ; + mo:level "1" ; + vs:term_status "unstable" . + +mo:activity + rdf:type owl:ObjectProperty ; + rdfs:comment "Relates an artist to an activity period" ; + rdfs:domain mo:MusicArtist ; + rdfs:range mo:Activity ; + rdfs:isDefinedBy mo: ; + rdfs:label "activity"; + mo:level "1" ; + vs:term_status "testing" . + +mo:activity_end + rdf:type owl:DatatypeProperty ; + rdfs:comment "Relates an artist to a date at which its activity ended" ; + rdfs:domain mo:MusicArtist ; + rdfs:range xsd:date ; + rdfs:isDefinedBy mo: ; + rdfs:label "activity end"; + mo:level "1" ; + vs:term_status "testing" . + +mo:activity_start + rdf:type owl:DatatypeProperty ; + rdfs:comment "Relates an artist to a date at which its activity started" ; + rdfs:domain mo:MusicArtist ; + rdfs:range xsd:date ; + rdfs:isDefinedBy mo: ; + rdfs:label "activity start"; + mo:level "1" ; + vs:term_status "testing" . + +mo:album + rdf:type mo:ReleaseType ; + rdfs:isDefinedBy mo: ; + dc:description """ + One or more track issued together. + This is a type of MusicalManifestation defined by the musical industry. + """ ; + dc:title "album" ; + mo:level "1" . + +mo:amazon_asin + rdf:type owl:ObjectProperty ; + rdfs:comment "Used to link a work or the expression of a work to its corresponding Amazon ASINs page." ; + rdfs:domain + [ rdf:type owl:Class ; + owl:unionOf (frbr:Work frbr:Expression frbr:Manifestation frbr:Item) + ] ; + rdfs:isDefinedBy mo: ; + rdfs:label "amazon_asin" ; + rdfs:range foaf:Document ; + rdfs:subPropertyOf foaf:isPrimaryTopicOf ; + mo:level "1" ; + vs:term_status "stable" . + +mo:arranged_in + rdf:type owl:ObjectProperty ; + rdfs:comment """ + Associates a work to an arrangement event where it was arranged + """ ; + rdfs:domain mo:MusicalWork ; + rdfs:isDefinedBy mo: ; + rdfs:label "arranged in" ; + rdfs:range mo:Arrangement ; + rdfs:subPropertyOf event:isFactorOf ; + mo:level "2" ; + owl:inverseOf mo:arrangement_of ; + vs:term_status "unstable" . + +mo:arrangement_of + rdf:type owl:ObjectProperty ; + rdfs:comment """ + Associates an arrangement event to a work + """ ; + rdfs:domain mo:Arrangement ; + rdfs:isDefinedBy mo: ; + rdfs:label "arrangement of" ; + rdfs:range mo:MusicalWork ; + rdfs:subPropertyOf event:factor ; + mo:level "2" ; + owl:inverseOf mo:arranged_in ; + vs:term_status "unstable" . + +mo:artist + rdf:type owl:ObjectProperty ; + rdfs:comment "Relates a membership event with the corresponding artist" ; + rdfs:domain mo:Membership ; + rdfs:isDefinedBy mo: ; + rdfs:label "artist" ; + rdfs:range foaf:Agent ; + mo:level "1" ; + vs:term_status "testing" . + +mo:audiobook + rdf:type mo:ReleaseType ; + rdfs:isDefinedBy mo: ; + dc:description """ + Book read by a narrator without music. + This is a type of MusicalManifestation defined by the musical industry. + """ ; + dc:title "audio book" ; + mo:level "1" . + +mo:availableAs + rdf:type owl:ObjectProperty ; + owl:equivalentProperty + mo:available_as ; + vs:term_status "deprecated" . + +mo:available_as + rdf:type owl:ObjectProperty ; + rdfs:comment """ + Relates a musical manifestation to a musical item (this album, and my particular cd). By using + this property, there is no assumption on wether the full content is available on the linked item. + To be explicit about this, you can use a sub-property, such as mo:item (the full manifestation + is available on that item) or mo:preview (only a part of the manifestation is available on + that item). + + This is a subproperty of frbr:examplar. + """ ; + rdfs:domain mo:MusicalManifestation ; + rdfs:isDefinedBy mo: ; + rdfs:range mo:MusicalItem ; + rdfs:subPropertyOf frbr:exemplar ; + mo:level "1" ; + vs:term_status "stable" . + +mo:biography + rdf:type owl:ObjectProperty ; + rdfs:comment "Used to link an artist to their online biography." ; + rdfs:domain mo:MusicArtist ; + rdfs:isDefinedBy mo: ; + rdfs:label "biography" ; + rdfs:range foaf:Document ; + rdfs:subPropertyOf foaf:isPrimaryTopicOf ; + mo:level "1" ; + vs:term_status "stable" . + +mo:bitsPerSample + rdf:type owl:FunctionalProperty , owl:DatatypeProperty ; + rdfs:comment """ + Associates a digital signal to the number a bits used to encode one sample. Range is xsd:int. + """ ; + rdfs:domain mo:DigitalSignal ; + rdfs:isDefinedBy mo: ; + rdfs:range xsd:int ; + mo:level "1" ; + vs:term_status "stable" . + +mo:bootleg + rdf:type mo:ReleaseStatus ; + rdfs:isDefinedBy mo: ; + dc:description "An unofficial/underground musical work or the expression of a musical work that was not sanctioned by the artist and/or the corporate body. " ; + dc:title "bootleg" ; + mo:level "1" . + +mo:bpm + rdf:type owl:DatatypeProperty ; + rdfs:comment """ + Indicates the BPM of a MusicalWork or a particular Performance + Beats per minute: the pace of music measured by the number of beats occurring in 60 seconds. + """ ; + rdfs:domain + [ rdf:type owl:Class ; + owl:unionOf (mo:MusicalWork mo:Performance mo:Signal) + ] ; + rdfs:isDefinedBy mo: ; + rdfs:label "bpm" ; + rdfs:range xsd:float ; + mo:level "2" ; + vs:term_status "stable" . + +mo:catalogue_number + rdf:type owl:DatatypeProperty ; + rdfs:comment "Links a release with the corresponding catalogue number" ; + rdfs:domain mo:Release ; + rdfs:isDefinedBy mo: ; + rdfs:label "catalogue number" ; + rdfs:range xsd:string ; + rdfs:subPropertyOf mo:uuid ; + mo:level "1" ; + vs:term_status "testing" . + +mo:channels + rdf:type owl:FunctionalProperty , owl:DatatypeProperty ; + rdfs:comment """ + Associates a signal to the number of channels it holds (mono --> 1, stereo --> 2). Range is xsd:int. + """ ; + rdfs:domain mo:Signal ; + rdfs:isDefinedBy mo: ; + rdfs:range xsd:int ; + mo:level "1" ; + vs:term_status "stable" . + +mo:collaborated_with + rdf:type owl:SymmetricProperty , owl:ObjectProperty ; + rdfs:comment "Used to relate two collaborating people on a work." ; + rdfs:domain foaf:Agent ; + rdfs:isDefinedBy mo: ; + rdfs:label "collaborated_with" ; + rdfs:range foaf:Agent ; + mo:level "1" ; + vs:term_status "unstable" . + +mo:compilation + rdf:type mo:ReleaseType ; + rdfs:isDefinedBy mo: ; + dc:description """ + Collection of previously released manifestations of a musical expression by one or more artists. + This is a type of MusicalManifestation defined by the musical industry. + """ ; + dc:title "compilation" ; + mo:level "1" . + +mo:compilation_of + rdf:type owl:ObjectProperty ; + rdfs:comment "Indicates that a musical manifestation is a compilation of several Signals." ; + rdfs:domain mo:MusicalManifestation ; + rdfs:isDefinedBy mo: ; + rdfs:label "compilation_of" ; + rdfs:range mo:Signal ; + mo:level "1" ; + vs:term_status "unstable" . + +mo:compiled + rdf:type owl:ObjectProperty ; + rdfs:comment "Used to relate an person or a group of person who compiled the manifestation of a musical work." ; + rdfs:domain mo:MusicArtist ; + rdfs:isDefinedBy mo: ; + rdfs:label "compiled" ; + rdfs:range mo:MusicalManifestation ; + mo:level "1" ; + owl:inverseOf mo:compiler ; + vs:term_status "unstable" . + +mo:compiler + rdf:type owl:ObjectProperty ; + rdfs:comment "Used to relate the manifestation of a musical work to a person or a group of person who compiled it." ; + rdfs:domain mo:MusicalManifestation ; + rdfs:isDefinedBy mo: ; + rdfs:label "compiler" ; + rdfs:range mo:MusicArtist ; + mo:level "1" ; + owl:inverseOf mo:compiled ; + vs:term_status "unstable" . + +mo:composed_in + rdf:type owl:ObjectProperty ; + rdfs:comment """ + Associates a MusicalWork to the Composition event pertaining + to its creation. For example, I might use this property to associate + the Magic Flute to its composition event, occuring during 1782 and having as + a mo:composer Mozart. + """ ; + rdfs:domain mo:MusicalWork ; + rdfs:isDefinedBy mo: ; + rdfs:label "composed in" ; + rdfs:range mo:Composition ; + rdfs:subPropertyOf event:producedIn ; + mo:level "2" ; + owl:inverseOf mo:produced_work ; + vs:term_status "unstable" . + +mo:composer + rdf:type owl:ObjectProperty ; + rdfs:comment """ + Associates a composition event to the actual composer. For example, + this property could link the event corresponding to the composition of the + Magic Flute in 1782 to Mozart himself (who obviously has a FOAF profile:-) ). + """ ; + rdfs:domain mo:Composition ; + rdfs:isDefinedBy mo: ; + rdfs:label "composer" ; + rdfs:range foaf:Agent ; + rdfs:subPropertyOf event:agent ; + mo:level "2" ; + vs:term_status "stable" . + +mo:conducted + rdf:type owl:ObjectProperty ; + rdfs:comment "Relates agents to the performances they were conducting" ; + rdfs:domain foaf:Agent ; + rdfs:isDefinedBy mo: ; + rdfs:label "conducted" ; + rdfs:range mo:Performance ; + rdfs:subPropertyOf bio:event , event:isAgentIn ; + mo:level "2" ; + owl:inverseOf mo:conductor ; + vs:term_status "unstable" . + +mo:conductor + rdf:type owl:ObjectProperty ; + rdfs:comment "Relates a performance to the conductor involved" ; + rdfs:domain mo:Performance ; + rdfs:isDefinedBy mo: ; + rdfs:range foaf:Agent ; + rdfs:subPropertyOf event:agent ; + mo:level "2" ; + owl:inverseOf mo:conducted ; + vs:term_status "stable" . + +mo:contains_sample_from + rdf:type owl:ObjectProperty ; + rdfs:comment """ + Relates a signal to another signal, which has been sampled. + """ ; + rdfs:isDefinedBy mo: ; + rdfs:label "contains_sample_from" ; + rdfs:subPropertyOf mo:derived_from ; + mo:level "1" ; + vs:term_status "unstable" . + +mo:derived_from + rdf:type owl:ObjectProperty ; + rdfs:comment "A related signal from which the described signal is derived." ; + rdfs:domain mo:Signal ; + rdfs:isDefinedBy mo: ; + rdfs:label "derived from" ; + rdfs:range mo:Signal ; + rdfs:subPropertyOf dcterms:source ; + mo:level "1" ; + vs:term_status "testing" . + +mo:discography + rdf:type owl:ObjectProperty ; + rdfs:comment "Used to links an artist to an online discography of their musical works. The discography should provide a summary of each released musical work of the artist." ; + rdfs:domain mo:MusicArtist ; + rdfs:isDefinedBy mo: ; + rdfs:label "discography" ; + rdfs:range foaf:Document ; + rdfs:subPropertyOf foaf:isPrimaryTopicOf ; + mo:level "1" ; + vs:term_status "stable" . + +mo:discogs + rdf:type owl:ObjectProperty ; + rdfs:comment "Used to link a musical work or the expression of a musical work, an artist or a corporate body to to its corresponding Discogs page." ; + rdfs:domain + [ rdf:type owl:Class ; + owl:unionOf (mo:MusicalWork mo:MusicalExpression mo:MusicalManifestation mo:MusicArtist mo:CorporateBody) + ] ; + rdfs:isDefinedBy mo: ; + rdfs:label "discogs" ; + rdfs:range foaf:Document ; + rdfs:subPropertyOf foaf:isPrimaryTopicOf ; + mo:level "1" ; + vs:term_status "stable" . + +mo:djmix_of + rdf:type owl:ObjectProperty ; + rdfs:comment """Indicates that all (or most of) the tracks of a musical work or the expression of a musical work were mixed together from all (or most of) the tracks from another musical work or the expression of a musical work to form a so called DJ-Mix. + +The tracks might have been altered by pitching (so that the tempo of one track matches the tempo of the following track) and fading (so that one track blends in smoothly with the other). If the tracks have been more substantially altered, the \"mo:remix\" relationship type is more appropriate. """ ; + rdfs:isDefinedBy mo: ; + rdfs:label "djmix_of" ; + rdfs:subPropertyOf mo:derived_from ; + mo:level "1" ; + vs:term_status "unstable" . + +mo:djmixed + rdf:type owl:ObjectProperty ; + rdfs:comment """Used to relate an artist who djmixed a musical work or the expression of a musical work. + +The artist usually selected the tracks, chose their sequence, and slightly changed them by fading (so that one track blends in smoothly with the other) or pitching (so that the tempo of one track matches the tempo of the following track). This applies to a 'Mixtape' in which all tracks were DJ-mixed together into one single long track. """ ; + rdfs:domain mo:MusicArtist ; + rdfs:isDefinedBy mo: ; + rdfs:label "djmixed" ; + rdfs:range mo:Signal ; + mo:level "1" ; + owl:inverseOf mo:djmixed_by ; + vs:term_status "unstable" . + +mo:djmixed_by + rdf:type owl:ObjectProperty ; + rdfs:comment """Used to relate a work or the expression of a work to an artist who djmixed it. + +The artist usually selected the tracks, chose their sequence, and slightly changed them by fading (so that one track blends in smoothly with the other) or pitching (so that the tempo of one track matches the tempo of the following track). This applies to a 'Mixtape' in which all tracks were DJ-mixed together into one single long track. """ ; + rdfs:domain mo:Signal ; + rdfs:isDefinedBy mo: ; + rdfs:label "djmixed_by" ; + rdfs:range mo:MusicArtist ; + mo:level "1" ; + owl:inverseOf mo:djmixed ; + vs:term_status "unstable" . + +mo:download + rdf:type owl:ObjectProperty ; + rdfs:comment """ + This property can be used to link from a person to the website where they make their works available, or from + a manifestation (a track or an album, for example) to a web page where it is available for + download. + + It is better to use one of the three sub-properties instead of this one in order to specify wether the + content can be accessed for free (mo:freedownload), if it is just free preview material (mo:previewdownload), or + if it can be accessed for some money (mo:paiddownload) (this includes links to the Amazon store, for example). + + This property MUST be used only if the content is just available through a web page (holding, for example + a Flash application) - it is better to link to actual content directly through the use of mo:available_as and + mo:Stream, mo:Torrent or mo:ED2K, etc. Therefore, Semantic Web user agents that don't know how to read HTML and even + less to rip streams from Flash applications can still access the audio content. + """ ; + rdfs:domain + [ rdf:type owl:Class ; + owl:unionOf (frbr:Manifestation foaf:Agent mo:CorporateBody) + ] ; + rdfs:isDefinedBy mo: ; + rdfs:label "download" ; + rdfs:range foaf:Document ; + rdfs:subPropertyOf foaf:isPrimaryTopicOf ; + mo:level "1" ; + vs:term_status "stable" . + +mo:ean + rdf:type owl:DatatypeProperty ; + rdfs:comment "The European Article Number (EAN) is a universal identifier for products, commonly printed in form of barcodes on them. The numbers represented by those codes can either be 8 or 13 digits long, with the 13-digit-version being most common. EANs form a superset of the North American Universal Product Code (UPC) as every UPC can be made an EAN by adding a leading zero to it. Additionally every EAN is also a Japanese Article Number (JAN). The identifiers were formerly assigned by EAN International which merged with Uniform Code Council (UCC, the guys behind the UPCs) and Electronic Commerce Council of Canada (ECCC) to become GS1. " ; + rdfs:domain mo:Release ; + rdfs:isDefinedBy mo: ; + rdfs:label "ean" ; + rdfs:range xsd:string ; + rdfs:subPropertyOf mo:gtin ; + mo:level "1" ; + vs:term_status "testing" . + +mo:encodes + rdf:type owl:ObjectProperty ; + rdfs:comment """ + Relates a MusicalItem (a track on a particular CD, an audio file, a stream somewhere) to the signal it encodes. + + This is usually a lower-resolution version of the master signal (issued from a Recording event). + """ ; + rdfs:domain mo:MusicalItem ; + rdfs:isDefinedBy mo: ; + rdfs:label "encodes" ; + rdfs:range mo:Signal ; + mo:level "1" ; + vs:term_status "unstable" . + +mo:encoding + rdf:type owl:DatatypeProperty ; + rdfs:comment "Method used to convert analog electronic signals into digital format such as \"MP3 CBR @ 128kbps\", \"OGG @ 160kbps\", \"FLAC\", etc." ; + rdfs:domain mo:AudioFile ; + rdfs:isDefinedBy mo: ; + rdfs:label "encoding" ; + rdfs:range rdfs:Literal ; + mo:level "1" ; + vs:term_status "unstable" . + +mo:duration + rdf:type owl:DatatypeProperty ; + rdfs:comment "The duration of a track or a signal in ms"; + rdfs:domain [ rdf:type owl:Class ; owl:unionOf (mo:Track mo:Signal) ] ; + rdfs:isDefinedBy mo: ; + rdfs:range xsd:float ; + mo:level "1" ; + vs:term_status "testing" . + +mo:engineer + rdf:type owl:ObjectProperty ; + rdfs:comment "Relates a performance or a recording to the engineer involved" ; + rdfs:domain + [ rdf:type owl:Class ; + owl:unionOf (mo:Performance mo:Recording mo:RecordingSession) + ] ; + rdfs:isDefinedBy mo: ; + rdfs:range foaf:Agent ; + rdfs:subPropertyOf event:agent ; + mo:level "2" ; + owl:inverseOf mo:engineered ; + vs:term_status "stable" . + +mo:engineered + rdf:type owl:ObjectProperty ; + rdfs:comment "Relates agents to the performances/recordings they were engineering in" ; + rdfs:domain foaf:Agent ; + rdfs:isDefinedBy mo: ; + rdfs:label "engineered" ; + rdfs:range + [ rdf:type owl:Class ; + owl:unionOf (mo:Performance mo:Recording mo:RecordingSession) + ] ; + rdfs:subPropertyOf bio:event , event:isAgentIn ; + mo:level "2" ; + owl:inverseOf mo:engineer ; + vs:term_status "unstable" . + +mo:ep + rdf:type mo:ReleaseType ; + rdfs:isDefinedBy mo: ; + dc:description """ + An EP + """ ; + dc:title "ep" ; + mo:level "1" . + +mo:eventHomePage + rdf:type owl:ObjectProperty ; + owl:equivalentProperty + mo:event_homepage ; + vs:term_status "deprecated" . + +mo:event_homepage + rdf:type owl:ObjectProperty ; + rdfs:comment "Links a particular event to a web page" ; + rdfs:domain event:Event ; + rdfs:isDefinedBy mo: ; + rdfs:label "event homepage" ; + rdfs:range foaf:Document ; + rdfs:subPropertyOf foaf:isPrimaryTopicOf ; + mo:level "2" ; + vs:term_status "stable" . + +mo:exchange_item + rdf:type owl:ObjectProperty ; + rdfs:comment "A person, a group of person or an organization exchanging an exemplar of a single manifestation." ; + rdfs:domain foaf:Agent ; + rdfs:isDefinedBy mo: ; + rdfs:label "exchange_item" ; + rdfs:range frbr:Item ; + mo:level "1" ; + vs:term_status "stable" . + +mo:fanpage + rdf:type owl:ObjectProperty ; + rdfs:comment "Used to link an artist to a fan-created webpage devoted to that artist." ; + rdfs:domain mo:MusicArtist ; + rdfs:isDefinedBy mo: ; + rdfs:label "fanpage" ; + rdfs:range foaf:Document ; + rdfs:subPropertyOf foaf:isPrimaryTopicOf ; + mo:level "1" ; + vs:term_status "stable" . + +mo:free_download + rdf:type owl:ObjectProperty ; + rdfs:comment """ + This property can be used to link from a person to the website where they make their works available, or from + a manifestation (a track or an album, for example) to a web page where it is available for free + download. + + This property MUST be used only if the content is just available through a web page (holding, for example + a Flash application) - it is better to link to actual content directly through the use of mo:available_as and + mo:Stream, mo:Torrent or mo:ED2K, etc. Therefore, Semantic Web user agents that don't know how to read HTML and even + less to rip streams from Flash applications can still access the audio content. + """ ; + rdfs:domain + [ rdf:type owl:Class ; + owl:unionOf (frbr:Manifestation foaf:Agent mo:CorporateBody) + ] ; + rdfs:isDefinedBy mo: ; + rdfs:label "free download" ; + rdfs:range foaf:Document ; + rdfs:subPropertyOf mo:download , foaf:isPrimaryTopicOf ; + mo:level "1" ; + vs:term_status "stable" . + +mo:freedownload + rdf:type owl:ObjectProperty ; + rdfs:isDefinedBy mo: ; + owl:equivalentProperty + mo:free_download ; + vs:term_status "deprecated" . + +mo:genre + rdf:type owl:ObjectProperty ; + rdfs:comment """ + Associates an event (like a performance or a recording) to a particular musical genre. + Further version of this property may also include works and scores in the domain. + """ ; + rdfs:domain + [ rdf:type owl:Class ; + owl:unionOf (foaf:Agent mo:Performance mo:Arrangement mo:Composition mo:Recording mo:RecordingSession mo:MusicalWork mo:MusicalExpression mo:MusicalManifestation mo:MusicalItem) + ] ; + rdfs:isDefinedBy mo: ; + rdfs:label "genre" ; + rdfs:range mo:Genre ; + rdfs:subPropertyOf ao:genre ; + mo:level "2" ; + vs:term_status "stable" . + +mo:grid + rdf:type owl:DatatypeProperty ; + rdfs:comment "The Global Release Identifier (GRid) is a system for uniquely identifying Releases of music over electronic networks (that is, online stores where you can buy music as digital files). As that it can be seen as the equivalent of the BarCode (or more correctly the GTIN) as found on physical releases of music. Like the ISRC (a code for identifying single recordings as found on releases) it was developed by the IFPI but it does not appear to be a standard of the ISO." ; + rdfs:domain mo:Release ; + rdfs:isDefinedBy mo: ; + rdfs:label "GRid" ; + rdfs:range xsd:string ; + rdfs:subPropertyOf mo:uuid ; + mo:level "1" ; + vs:term_status "testing" . + +mo:group + rdf:type owl:ObjectProperty ; + rdfs:comment "Relates a membership event with the corresponding group" ; + rdfs:domain mo:Membership ; + rdfs:isDefinedBy mo: ; + rdfs:label "group" ; + rdfs:range foaf:Group ; + mo:level "1" ; + vs:term_status "testing" . + +mo:origin + rdf:type owl:ObjectProperty ; + rdfs:comment "Relates an artist to its geographic origin" ; + rdfs:domain mo:MusicArtist ; + rdfs:range geo:SpatialThing ; + rdfs:isDefinedBy mo: ; + rdfs:label "origin" ; + mo:level "1" ; + vs:term_status "testing" . + +mo:gtin + rdf:type owl:DatatypeProperty ; + rdfs:comment "GTIN is a grouping term for EANs and UPCs. In common speech those are called barcodes although the barcodes are just a representation of those identifying numbers." ; + rdfs:domain mo:Release ; + rdfs:isDefinedBy mo: ; + rdfs:label "gtin" ; + rdfs:range xsd:string ; + mo:level "1" ; + vs:term_status "testing" . + +mo:has_track + rdf:type owl:ObjectProperty ; + rdfs:isDefinedBy mo: ; + owl:equivalentProperty + mo:track ; + vs:term_status "deprecated" . + +mo:headliner + rdf:type owl:ObjectProperty ; + rdfs:comment "Relates a performance to the headliner(s) involved" ; + rdfs:isDefinedBy mo: ; + rdfs:label "headliner" ; + rdfs:subPropertyOf mo:performer ; + mo:level "2" ; + vs:term_status "testing" . + +mo:homepage + rdf:type owl:ObjectProperty ; + rdfs:comment "Links an artist, a record, etc. to a corresponding web page" ; + rdfs:domain + [ rdf:type owl:Class ; + owl:unionOf (mo:MusicalWork mo:MusicArtist mo:MusicalExpression mo:MusicalManifestation mo:MusicalItem) + ] ; + rdfs:isDefinedBy mo: ; + rdfs:label "homepage" ; + rdfs:range foaf:Document ; + rdfs:subPropertyOf foaf:isPrimaryTopicOf ; + mo:level "1" ; + vs:term_status "stable" . + +mo:image + rdf:type owl:ObjectProperty ; + rdfs:comment "Indicates a pictorial image (JPEG, GIF, PNG, Etc.) of a musical work, the expression of a musical work, the manifestation of a work or the examplar of a manifestation." ; + rdfs:domain + [ rdf:type owl:Class ; + owl:unionOf (mo:MusicalWork mo:MusicArtist mo:MusicalExpression mo:MusicalManifestation mo:MusicalItem) + ] ; + rdfs:isDefinedBy mo: ; + rdfs:label "image" ; + rdfs:range foaf:Image ; + rdfs:subPropertyOf foaf:depiction ; + mo:level "1" ; + vs:term_status "stable" . + +mo:imdb + rdf:type owl:ObjectProperty ; + rdfs:comment "Used to link an artist, a musical work or the expression of a musical work to their equivalent page on IMDb, the InternetMovieDatabase." ; + rdfs:domain + [ rdf:type owl:Class ; + owl:unionOf (mo:MusicalWork mo:MusicalExpression mo:MusicalManifestation mo:MusicArtist mo:CorporateBody) + ] ; + rdfs:isDefinedBy mo: ; + rdfs:label "imdb" ; + rdfs:range foaf:Document ; + rdfs:subPropertyOf foaf:isPrimaryTopicOf ; + mo:level "1" ; + vs:term_status "stable" . + +mo:instrument + rdf:type owl:ObjectProperty ; + rdfs:comment "Relates a performance to a musical instrument involved" ; + rdfs:domain mo:Performance ; + rdfs:isDefinedBy mo: ; + rdfs:range mo:Instrument ; + rdfs:subPropertyOf event:factor ; + mo:level "2" ; + vs:term_status "stable" . + +mo:interpreter + rdf:type owl:ObjectProperty ; + rdfs:comment "Adds an involved music artist, who interpreted, remixed, or otherwise modified an existing signal, which resulted in the signal that is here the subject of this relation." ; + rdfs:domain mo:Signal ; + rdfs:isDefinedBy mo: ; + rdfs:label "has interpeter" ; + rdfs:range mo:MusicArtist ; + mo:level "1" ; + vs:term_status "testing" . + +mo:interview + rdf:type mo:ReleaseType ; + rdfs:isDefinedBy mo: ; + dc:description """ + Recording of the questioning of a person. + This is a type of MusicalManifestation defined by the musical industry. + """ ; + dc:title "interview" ; + mo:level "1" . + +mo:ipi + rdf:type owl:DatatypeProperty ; + rdfs:comment "The Interested Parties Information Code (IPI) is an ISO standard similar to ISBNs for identifying the people or groups with some involvement with a particular musical work / compositions." ; + rdfs:domain mo:MusicArtist ; + rdfs:isDefinedBy mo: ; + rdfs:label "ipi" ; + rdfs:range xsd:string ; + rdfs:subPropertyOf mo:uuid ; + mo:level "1" ; + vs:term_status "testing" . + +mo:ismn + rdf:type owl:DatatypeProperty ; + rdfs:comment "The International Standard Music Number (ISMN) is an ISO standard similar to ISBNs for identifying printed music publications" ; + rdfs:domain + [ rdf:type owl:Class ; + owl:unionOf (mo:PublishedLyrics mo:PublishedLibretto mo:PublishedScore) + ] ; + rdfs:isDefinedBy mo: ; + rdfs:label "ismn" ; + rdfs:range xsd:string ; + rdfs:subPropertyOf mo:uuid ; + mo:level "1" ; + vs:term_status "testing" . + +mo:isrc + rdf:type owl:DatatypeProperty ; + rdfs:comment """ + The ISRC (International Standard Recording Code) is the international identification system for sound recordings and music videorecordings. + Each ISRC is a unique and permanent identifier for a specific recording which can be permanently encoded into a product as its digital fingerprint. + Encoded ISRC provide the means to automatically identify recordings for royalty payments. + """ ; + rdfs:domain mo:Signal ; + rdfs:isDefinedBy mo: ; + rdfs:label "isrc" ; + rdfs:range xsd:string ; + rdfs:subPropertyOf mo:uuid ; + mo:level "1" ; + vs:term_status "stable" . + +mo:iswc + rdf:type owl:DatatypeProperty ; + rdfs:comment "Links a musical work to the corresponding ISWC number" ; + rdfs:domain mo:MusicalWork ; + rdfs:isDefinedBy mo: ; + rdfs:label "iswc" ; + rdfs:range xsd:string ; + rdfs:subPropertyOf mo:uuid ; + mo:level "1" ; + vs:term_status "testing" . + +mo:item + rdf:type owl:ObjectProperty ; + rdfs:comment """ + Relates a musical manifestation to a musical item (this album, and my particular cd) holding the + entire manifestation, and not just a part of it. + """ ; + rdfs:domain mo:MusicalManifestation ; + rdfs:isDefinedBy mo: ; + rdfs:range mo:MusicalItem ; + rdfs:subPropertyOf mo:available_as ; + mo:level "1" ; + vs:term_status "testing" . + +mo:key + rdf:type owl:ObjectProperty ; + rdfs:comment """ + Indicated the key used by the musicians during a performance, or the key of a MusicalWork. + Any of 24 major or minor diatonic scales that provide the tonal framework for a piece of music.""" ; + rdfs:domain + [ rdf:type owl:Class ; + owl:unionOf (mo:MusicalWork mo:Performance mo:Signal) + ] ; + rdfs:isDefinedBy mo: ; + rdfs:label "key" ; + rdfs:range keys:Key ; + mo:level "2" ; + vs:term_status "stable" . + +mo:label + rdf:type owl:ObjectProperty ; + rdfs:comment "Associates a release event with the label releasing the record" ; + rdfs:domain + [ rdf:type owl:Class ; + owl:unionOf (mo:Release mo:MusicArtist) + ] ; + rdfs:isDefinedBy mo: ; + rdfs:label "label" ; + rdfs:range mo:Label ; + mo:level "1" ; + vs:term_status "testing" . + +mo:lc + rdf:type owl:DatatypeProperty ; + rdfs:comment "The Label Code (LC) was introduced in 1977 by the IFPI (International Federation of Phonogram and Videogram Industries) in order to unmistakably identify the different record labels (see Introduction, Record labels) for rights purposes. The Label Code consists historically of 4 figures, presently being extended to 5 figures, preceded by LC and a dash (e.g. LC-0193 = Electrola; LC-0233 = His Master's Voice). Note that the number of countries using the LC is limited, and that the code given on the item is not always accurate." ; + rdfs:domain mo:Label ; + rdfs:isDefinedBy mo: ; + rdfs:label "lc" ; + rdfs:range xsd:string ; + rdfs:subPropertyOf mo:uuid ; + mo:level "1" ; + vs:term_status "testing" . + +mo:level + rdf:type owl:AnnotationProperty ; + rdfs:comment """ + This annotation property associates to a particular Music Ontology term the corresponding + expressiveness level. These levels can be: + + - 1: Only editorial/Musicbrainz type information + - 2: Workflow information + - 3: Even decomposition + + This property is mainly used for specification generation. + """ ; + rdfs:isDefinedBy mo: ; + rdfs:label "level" . + +mo:licence + rdf:type owl:ObjectProperty ; + rdfs:comment """Used to link a work or the expression of a work to the license under which they can be manipulated (downloaded, modified, etc). + +This is usually used to link to a Creative Commons licence.""" ; + rdfs:domain + [ rdf:type owl:Class ; + owl:unionOf (frbr:Work frbr:Expression frbr:Manifestation) + ] ; + rdfs:isDefinedBy mo: ; + rdfs:label "licence" ; + rdfs:range cc:License ; + mo:level "1" ; + vs:term_status "stable" . + +mo:listened + rdf:type owl:ObjectProperty ; + rdfs:comment "Relates agents to the performances they were listening in" ; + rdfs:domain foaf:Agent ; + rdfs:isDefinedBy mo: ; + rdfs:label "listened" ; + rdfs:range mo:Performance ; + rdfs:subPropertyOf bio:event , event:isAgentIn ; + mo:level "2" ; + owl:inverseOf mo:listener ; + vs:term_status "unstable" . + +mo:listener + rdf:type owl:ObjectProperty ; + rdfs:comment "Relates a performance to the listener involved" ; + rdfs:domain mo:Performance ; + rdfs:isDefinedBy mo: ; + rdfs:range foaf:Agent ; + rdfs:subPropertyOf event:agent ; + mo:level "2" ; + owl:inverseOf mo:listened ; + vs:term_status "stable" . + +mo:live + rdf:type mo:ReleaseType ; + rdfs:isDefinedBy mo: ; + dc:description """ + A musical manifestation that was recorded live. + This is a type of MusicalManifestation defined by the musical industry.""" ; + dc:title "live" ; + mo:level "1" . + +mo:mailorder + rdf:type owl:ObjectProperty ; + rdfs:comment "Used to link a musical work or the expression of a musical work to a website where people can buy a copy of the musical manifestation." ; + rdfs:domain + [ rdf:type owl:Class ; + owl:unionOf (frbr:Manifestation mo:MusicArtist mo:CorporateBody) + ] ; + rdfs:isDefinedBy mo: ; + rdfs:label "mailorder" ; + rdfs:range foaf:Document ; + rdfs:subPropertyOf foaf:isPrimaryTopicOf ; + mo:level "1" ; + vs:term_status "stable" . + +mo:mashup_of + rdf:type owl:ObjectProperty ; + rdfs:comment """Indicates that musical works or the expressions of a musical work were mashed up on this album or track. + +This means that two musical works or the expressions of a musical work by different artists are mixed together, over each other, or otherwise combined into a single musical work (usually by a third artist, the remixer).""" ; + rdfs:isDefinedBy mo: ; + rdfs:label "mashup_of" ; + rdfs:subPropertyOf mo:derived_from ; + mo:level "1" ; + vs:term_status "unstable" . + +mo:media_type + rdf:type owl:ObjectProperty ; + rdfs:comment "The mediatype (file format or MIME type, or physical medium) of a musical manifestation, e.g. a MP3, CD or vinyl." ; + rdfs:domain mo:MusicalManifestation ; + rdfs:isDefinedBy mo: ; + rdfs:label "has media type" ; + rdfs:range dcterms:MediaType ; + rdfs:subPropertyOf dcterms:format ; + mo:level "1" ; + vs:term_status "testing" . + +mo:medley_of + rdf:type owl:ObjectProperty ; + rdfs:comment """Indicates that a musical expression is a medley of several other musical expressions. + +This means that the orignial musical expression were rearranged to create a new musical expression in the form of a medley. """ ; + rdfs:isDefinedBy mo: ; + rdfs:label "medley_of" ; + rdfs:subPropertyOf mo:derived_from ; + mo:level "1" ; + vs:term_status "unstable" . + +mo:member + rdf:type owl:ObjectProperty ; + rdfs:comment """ + Indicates a member of a musical group + """ ; + rdfs:domain mo:MusicGroup ; + rdfs:isDefinedBy mo: ; + rdfs:label "member" ; + rdfs:range foaf:Agent ; + rdfs:subPropertyOf foaf:member ; + mo:level "1" ; + vs:term_status "stable" . + +mo:member_of + rdf:type owl:ObjectProperty ; + rdfs:comment "Inverse of the foaf:member property" ; + rdfs:domain foaf:Agent ; + rdfs:isDefinedBy mo: ; + rdfs:label "member_of" ; + rdfs:range foaf:Group ; + mo:level "1" ; + owl:inverseOf foaf:member ; + vs:term_status "unstable" . + +mo:membership + rdf:type owl:ObjectProperty ; + rdfs:comment "Relates an agent with related membership events" ; + rdfs:domain foaf:Agent ; + rdfs:isDefinedBy mo: ; + rdfs:label "membership" ; + rdfs:range mo:Membership ; + mo:level "1" ; + vs:term_status "testing" . + +mo:meter + rdf:type owl:DatatypeProperty ; + rdfs:comment "Associates a musical work or a score with its meter" ; + rdfs:domain + [ rdf:type owl:Class ; + owl:unionOf (mo:MusicalWork mo:Score) + ] ; + rdfs:isDefinedBy mo: ; + rdfs:label "meter" ; + mo:level "2" ; + vs:term_status "testing" . + +mo:movement + rdf:type owl:ObjectProperty ; + rdfs:comment "Indicates that a musical work has movements" ; + rdfs:domain mo:MusicalWork ; + rdfs:isDefinedBy mo: ; + rdfs:label "has_movement" ; + rdfs:range mo:Movement ; + mo:level "2" ; + vs:term_status "unstable" . + +mo:movementNum + rdf:type owl:DatatypeProperty ; + owl:equivalentProperty + mo:movement_number . + +mo:movement_number + rdf:type owl:DatatypeProperty ; + rdfs:comment "Indicates the position of a movement in a musical work." ; + rdfs:domain mo:Movement ; + rdfs:isDefinedBy mo: ; + rdfs:label "movement number" ; + rdfs:range xsd:int ; + mo:level "2" ; + vs:term_status "unstable" . + +mo:musicbrainz + rdf:type owl:ObjectProperty ; + rdfs:comment """ + Linking an agent, a track or a record to its corresponding Musicbrainz page. + """ ; + rdfs:domain + [ rdf:type owl:Class ; + owl:unionOf (mo:MusicalWork mo:MusicalManifestation foaf:Agent mo:Signal) + ] ; + rdfs:isDefinedBy mo: ; + rdfs:label "musicbrainz" ; + rdfs:range foaf:Document ; + rdfs:subPropertyOf foaf:isPrimaryTopicOf ; + mo:level "1" ; + vs:term_status "stable" . + +mo:musicbrainz_guid + rdf:type owl:DatatypeProperty ; + rdfs:comment "Links an object to the corresponding Musicbrainz identifier" ; + rdfs:domain + [ rdf:type owl:Class ; + owl:unionOf (mo:MusicArtist mo:Track mo:Record mo:SignalGroup mo:Signal mo:ReleaseEvent mo:Label) + ] ; + rdfs:isDefinedBy mo: ; + rdfs:label "Musicbrainz GUID" ; + rdfs:subPropertyOf mo:uuid ; + mo:level "1" ; + vs:term_status "testing" . + +mo:musicmoz + rdf:type owl:ObjectProperty ; + rdfs:comment "Used to link an artist, a musical work or the expression of a musical work to its corresponding MusicMoz page." ; + rdfs:domain + [ rdf:type owl:Class ; + owl:unionOf (mo:MusicArtist mo:MusicalWork mo:MusicalExpression mo:MusicalManifestation) + ] ; + rdfs:isDefinedBy mo: ; + rdfs:label "musicmoz" ; + rdfs:range foaf:Document ; + rdfs:subPropertyOf foaf:isPrimaryTopicOf ; + mo:level "1" ; + vs:term_status "stable" . + +mo:myspace + rdf:type owl:ObjectProperty ; + rdfs:comment "Used to link a person to its corresponding MySpace page." ; + rdfs:domain foaf:Agent ; + rdfs:isDefinedBy mo: ; + rdfs:label "myspace" ; + rdfs:range foaf:Document ; + rdfs:subPropertyOf foaf:isPrimaryTopicOf ; + mo:level "1" ; + vs:term_status "stable" . + +mo:official + rdf:type mo:ReleaseStatus ; + rdfs:isDefinedBy mo: ; + dc:description "Any musical work or the expression of a musical work officially sanctioned by the artist and/or their corporate body." ; + dc:title "official" ; + mo:level "1" . + +mo:olga + rdf:type owl:ObjectProperty ; + rdfs:comment "Used to link a track to a tabulature file for track in the On-Line Guitar Archive." ; + rdfs:domain mo:Track ; + rdfs:isDefinedBy mo: ; + rdfs:label "olga" ; + rdfs:range foaf:Document ; + rdfs:subPropertyOf foaf:isPrimaryTopicOf ; + mo:level "1" ; + vs:term_status "stable" . + +mo:onlinecommunity + rdf:type owl:ObjectProperty ; + rdfs:comment "Used to link a person with an online community web page like a blog, a wiki, a forum, a livejournal page, Etc." ; + rdfs:domain foaf:Agent ; + rdfs:isDefinedBy mo: ; + rdfs:label "onlinecommunity" ; + rdfs:range foaf:Document ; + rdfs:subPropertyOf foaf:isPrimaryTopicOf ; + mo:level "1" ; + vs:term_status "stable" . + +mo:opus + rdf:type owl:DatatypeProperty ; + rdfs:comment """ + Used to define a creative work, especially a musical composition numbered to designate the order of a composer's works. + """ ; + rdfs:domain mo:MusicalWork ; + rdfs:isDefinedBy mo: ; + rdfs:label "opus" ; + rdfs:range rdfs:Literal ; + mo:level "2" ; + vs:term_status "stable" . + +mo:other_release_of + rdf:type owl:SymmetricProperty , owl:ObjectProperty ; + rdfs:comment "Indicates that two musical manifestations are essentially the same." ; + rdfs:domain mo:MusicalManifestation ; + rdfs:isDefinedBy mo: ; + rdfs:label "other_release_of" ; + rdfs:range mo:MusicalManifestation ; + mo:level "1" ; + vs:term_status "unstable" . + +mo:paid_download + rdf:type owl:ObjectProperty ; + rdfs:comment """ + Provide a link from an artist to a web page where all of that artist's musical work is available for some money, + or a link from a manifestation (record/track, for example) to a web page providing a paid access to this manifestation. + """ ; + rdfs:domain + [ rdf:type owl:Class ; + owl:unionOf (frbr:Manifestation mo:MusicArtist mo:CorporateBody) + ] ; + rdfs:isDefinedBy mo: ; + rdfs:label "paid download" ; + rdfs:range foaf:Document ; + rdfs:subPropertyOf mo:download , foaf:isPrimaryTopicOf ; + mo:level "1" ; + vs:term_status "stable" . + +mo:paiddownload + rdf:type owl:ObjectProperty ; + rdfs:isDefinedBy mo: ; + owl:equivalentProperty + mo:paid_download ; + vs:term_status "deprecated" . + +mo:performance_of + rdf:type owl:ObjectProperty ; + rdfs:comment """ + Associates a Performance to a musical work or an arrangement that is being used as a factor in it. + For example, I might use this property to attach the Magic Flute musical work to + a particular Performance. + """ ; + rdfs:domain mo:Performance ; + rdfs:isDefinedBy mo: ; + rdfs:label "performance of" ; + rdfs:range + [ rdf:type owl:Class ; + owl:unionOf (mo:Score mo:MusicalWork) + ] ; + rdfs:subPropertyOf event:factor ; + mo:level "2" ; + owl:inverseOf mo:performed_in ; + vs:term_status "unstable" . + +mo:performed + rdf:type owl:ObjectProperty ; + rdfs:comment "Relates agents to the performances they were performing in" ; + rdfs:domain foaf:Agent ; + rdfs:isDefinedBy mo: ; + rdfs:label "performed" ; + rdfs:range mo:Performance ; + rdfs:subPropertyOf bio:event , event:isAgentIn ; + mo:level "2" ; + owl:inverseOf mo:performer ; + vs:term_status "unstable" . + +mo:performed_in + rdf:type owl:ObjectProperty ; + rdfs:comment """ + Associates a Musical Work or an Score to Performances in which they were + a factor. For example, I might use this property in order to + associate the Magic Flute to a particular performance at the Opera + Bastille last year.""" ; + rdfs:domain + [ rdf:type owl:Class ; + owl:unionOf (mo:Score mo:MusicalWork) + ] ; + rdfs:isDefinedBy mo: ; + rdfs:label "performed in" ; + rdfs:range mo:Performance ; + rdfs:subPropertyOf event:isFactorOf ; + mo:level "2" ; + owl:inverseOf mo:performance_of ; + vs:term_status "unstable" . + +mo:performer + rdf:type owl:ObjectProperty ; + rdfs:comment "Relates a performance to the performers involved" ; + rdfs:domain mo:Performance ; + rdfs:isDefinedBy mo: ; + rdfs:range foaf:Agent ; + rdfs:subPropertyOf event:agent ; + mo:level "2" ; + owl:inverseOf mo:performed ; + vs:term_status "stable" . + +mo:possess_item + rdf:type owl:ObjectProperty ; + rdfs:comment "A person, a group of person or an organization possessing an exemplar of a single manifestation." ; + rdfs:domain foaf:Agent ; + rdfs:isDefinedBy mo: ; + rdfs:label "possess_item" ; + rdfs:range frbr:Item ; + mo:level "1" ; + vs:term_status "stable" . + +mo:preview + rdf:type owl:ObjectProperty ; + rdfs:comment """ + Relates a musical manifestation to a musical item (this album, and my particular cd), which holds + a preview of the manifestation (eg. one track for an album, or a snippet for a track) + """ ; + rdfs:domain mo:MusicalManifestation ; + rdfs:isDefinedBy mo: ; + rdfs:range mo:MusicalItem ; + rdfs:subPropertyOf mo:available_as ; + mo:level "1" ; + vs:term_status "testing" . + +mo:preview_download + rdf:type owl:ObjectProperty ; + rdfs:comment """ + This property can be used to link from a person to the website where they make previews of their works available, or from + a manifestation (a track or an album, for example) to a web page where a preview download is available. + + This property MUST be used only if the content is just available through a web page (holding, for example + a Flash application) - it is better to link to actual content directly through the use of mo:available_as and + mo:Stream, mo:Torrent or mo:ED2K, etc. Therefore, Semantic Web user agents that don't know how to read HTML and even + less to rip streams from Flash applications can still access the audio content. + """ ; + rdfs:domain + [ rdf:type owl:Class ; + owl:unionOf (frbr:Manifestation foaf:Agent mo:CorporateBody) + ] ; + rdfs:isDefinedBy mo: ; + rdfs:label "preview download" ; + rdfs:range foaf:Document ; + rdfs:subPropertyOf foaf:isPrimaryTopicOf , mo:download ; + mo:level "1" ; + vs:term_status "stable" . + +mo:primary_instrument + rdf:type owl:ObjectProperty ; + rdfs:comment "Indicates that an artist primarily plays an instrument, or that a member was primarily playing a particular instrument during his membership" ; + rdfs:domain [ rdf:type owl:Class ; owl:unionOf (mo:Membership foaf:Agent) ] ; + rdfs:isDefinedBy mo: ; + rdfs:label "primary instrument" ; + rdfs:range mo:Instrument ; + mo:level "1" ; + vs:term_status "testing" . + +mo:produced + rdf:type owl:ObjectProperty ; + rdfs:comment "Used to relate an person or a group of person who produced the manifestation of a work." ; + rdfs:domain foaf:Agent ; + rdfs:isDefinedBy mo: ; + rdfs:label "produced" ; + rdfs:range mo:MusicalManifestation ; + mo:level "1" ; + owl:inverseOf mo:producer ; + vs:term_status "stable" . + +mo:produced_score + rdf:type owl:ObjectProperty ; + rdfs:comment """ + Associates an arrangement or a composition event to a score product (score here does not refer to a published score, but more + an abstract arrangement of a particular work). + """ ; + rdfs:domain [ rdf:type owl:Class ; owl:unionOf (mo:Composition mo:Arrangement) ] ; + rdfs:isDefinedBy mo: ; + rdfs:label "produced score" ; + rdfs:range mo:Score ; + rdfs:subPropertyOf event:product ; + mo:level "2" ; + vs:term_status "unstable" . + +mo:produced_signal + rdf:type owl:ObjectProperty ; + rdfs:comment """ + Associates a Recording to the outputted signal. + """ ; + rdfs:domain mo:Recording ; + rdfs:isDefinedBy mo: ; + rdfs:label "produced signal" ; + rdfs:range mo:Signal ; + rdfs:subPropertyOf event:product ; + mo:level "2" ; + vs:term_status "stable" . + +mo:produced_signal_group + rdf:type owl:ObjectProperty ; + rdfs:comment "Associates a recording session with a group of master signals produced by it." ; + rdfs:domain mo:RecordingSession ; + rdfs:isDefinedBy mo: ; + rdfs:label "produced signal group" ; + rdfs:range mo:SignalGroup ; + rdfs:subPropertyOf event:product ; + mo:level "2" ; + vs:term_status "testing" . + +mo:produced_sound + rdf:type owl:ObjectProperty ; + rdfs:comment """ + Associates a Performance to a physical Sound that is being produced by it. + """ ; + rdfs:domain mo:Performance ; + rdfs:isDefinedBy mo: ; + rdfs:label "produced sound" ; + rdfs:range mo:Sound ; + rdfs:subPropertyOf event:product ; + mo:level "2" ; + vs:term_status "stable" . + +mo:produced_work + rdf:type owl:ObjectProperty ; + rdfs:comment """ + Associates a composition event to the produced MusicalWork. For example, + this property could link the event corresponding to the composition of the + Magic Flute in 1782 to the Magic Flute musical work itself. This musical work + can then be used in particular performances. + """ ; + rdfs:domain mo:Composition ; + rdfs:isDefinedBy mo: ; + rdfs:label "produced work" ; + rdfs:range mo:MusicalWork ; + rdfs:subPropertyOf event:product ; + mo:level "2" ; + owl:inverseOf mo:composed_in ; + vs:term_status "stable" . + +mo:producer + rdf:type owl:ObjectProperty ; + rdfs:comment "Used to relate the manifestation of a work to a person or a group of person who produced it." ; + rdfs:domain mo:MusicalManifestation ; + rdfs:isDefinedBy mo: ; + rdfs:label "producer" ; + rdfs:range foaf:Agent ; + mo:level "1" ; + owl:inverseOf mo:produced ; + vs:term_status "stable" . + +mo:producesSignal + rdf:type owl:ObjectProperty ; + rdfs:isDefinedBy mo: ; + owl:equivalentProperty + mo:produced_signal ; + vs:term_status "deprecated" . + +mo:producesSound + rdf:type owl:ObjectProperty ; + rdfs:isDefinedBy mo: ; + owl:equivalentProperty + mo:produced_sound ; + vs:term_status "deprecated" . + +mo:producesWork + rdf:type owl:ObjectProperty ; + owl:equivalentProperty + mo:produced_work . + +mo:productOfComposition + rdf:type owl:ObjectProperty ; + rdfs:isDefinedBy mo: ; + owl:equivalentProperty + mo:composed_in ; + vs:term_status "deprecated" . + +mo:promotion + rdf:type mo:ReleaseStatus ; + rdfs:isDefinedBy mo: ; + dc:description "A giveaway musical work or the expression of a musical work intended to promote an upcoming official musical work or the expression of a musical work." ; + dc:title "promotion" ; + mo:level "1" . + +mo:publicationOf + rdf:type owl:ObjectProperty ; + owl:equivalentProperty + mo:publication_of ; + vs:term_status "deprecated" . + +mo:publication_of + rdf:type owl:ObjectProperty ; + rdfs:comment "Link a particular manifestation to the related signal, score, libretto, or lyrics" ; + rdfs:domain mo:MusicalManifestation ; + rdfs:isDefinedBy mo: ; + rdfs:label "publication of" ; + rdfs:range mo:MusicalExpression ; + mo:level "1" ; + owl:inverseOf mo:published_as ; + vs:term_status "unstable" . + +mo:published + rdf:type owl:ObjectProperty ; + rdfs:comment "Used to relate an person or a group of person who published the manifestation of a work." ; + rdfs:domain foaf:Agent ; + rdfs:isDefinedBy mo: ; + rdfs:label "published" ; + rdfs:range mo:MusicalManifestation ; + mo:level "1" ; + owl:inverseOf mo:publisher ; + vs:term_status "unstable" . + +mo:publishedAs + rdf:type owl:ObjectProperty ; + owl:equivalentProperty + mo:published_as ; + vs:term_status "deprecated" . + +mo:published_as + rdf:type owl:ObjectProperty ; + rdfs:comment """ + Links a musical expression (e.g. a signal or a score) to one of its manifestations (e.g. a track on a particular record or a published score). + """ ; + rdfs:domain mo:MusicalExpression ; + rdfs:isDefinedBy mo: ; + rdfs:label "published as" ; + rdfs:range mo:MusicalManifestation ; + rdfs:subPropertyOf frbr:embodiment ; + mo:level "1" ; + owl:inverseOf mo:publication_of ; + vs:term_status "stable" . + +mo:publisher + rdf:type owl:ObjectProperty ; + rdfs:comment "Used to relate a musical manifestation to a person or a group of person who published it." ; + rdfs:domain mo:MusicalManifestation ; + rdfs:isDefinedBy mo: ; + rdfs:label "publisher" ; + rdfs:range foaf:Agent ; + mo:level "1" ; + owl:inverseOf mo:published ; + vs:term_status "unstable" . + +mo:publishingLocation + rdf:type owl:ObjectProperty ; + owl:equivalentProperty + mo:publishing_location ; + vs:term_status "deprecated" . + +mo:publishing_location + rdf:type owl:ObjectProperty ; + rdfs:comment """ + Relates a musical manifestation to its publication location. + """ ; + rdfs:domain mo:MusicalManifestation ; + rdfs:isDefinedBy mo: ; + rdfs:label "publishingLocation" ; + rdfs:range geo:SpatialThing ; + mo:level "1" ; + vs:term_status "stable" . + +mo:puid + rdf:type owl:DatatypeProperty ; + rdfs:comment """ + Link a signal to the PUIDs associated with it, that is, PUID computed from MusicalItems (mo:AudioFile) + derived from this signal. + PUIDs (Portable Unique IDentifier) are the IDs used in the + proprietary MusicDNS AudioFingerprinting system which is operated by MusicIP. + + Using PUIDs, one (with some luck) can identify the Signal object associated with a particular audio file, therefore allowing + to access further information (on which release this track is featured? etc.). Using some more metadata one can identify + the particular Track corresponding to the audio file (a track on a particular release).""" ; + rdfs:domain mo:Signal ; + rdfs:isDefinedBy mo: ; + rdfs:label "puid" ; + rdfs:range xsd:string ; + mo:level "1" ; + vs:term_status "stable" . + +mo:record + rdf:type owl:ObjectProperty ; + rdfs:comment "Associates a release with the records it contains. A single release can be associated with multiple records, for example for a multi-disc release." ; + rdfs:domain mo:Release ; + rdfs:isDefinedBy mo: ; + rdfs:label "released record" ; + rdfs:range mo:Record ; + mo:level "1" ; + vs:term_status "testing" . + +mo:record_count + rdf:type owl:DatatypeProperty ; + rdfs:comment "Associates a release with the number of records it contains, e.g. the number of discs it contains in the case of a multi-disc release." ; + rdfs:domain mo:Release ; + rdfs:isDefinedBy mo: ; + rdfs:label "record count" ; + rdfs:range xsd:int ; + mo:level "1" ; + vs:term_status "testing" . + +mo:record_number + rdf:type owl:DatatypeProperty ; + rdfs:comment "Indicates the position of a record in a release (e.g. a 2xLP, etc.)." ; + rdfs:domain mo:Record ; + rdfs:isDefinedBy mo: ; + rdfs:label "has record number" ; + rdfs:range xsd:nonNegativeInteger ; + mo:level "1" ; + vs:term_status "testing" . + +mo:record_side + rdf:type owl:DatatypeProperty ; + rdfs:comment """Associates the side on a vinyl record, where a track is located, e.g. A, B, C, etc. This property can then also be used +in conjunction with mo:track_number, so that one can infer e.g. \"A1\", that means, track number 1 on side A.""" ; + rdfs:domain mo:Track ; + rdfs:isDefinedBy mo: ; + rdfs:label "has record side" ; + rdfs:range xsd:string ; + mo:level "1" ; + vs:term_status "testing" . + +mo:recordedAs + rdf:type owl:ObjectProperty ; + owl:equivalentProperty + mo:recorded_as . + +mo:recorded_as + rdf:type owl:ObjectProperty ; + rdfs:comment """ + This is a shortcut property, allowing to bypass all the Sound/Recording steps. This property + allows to directly link a Performance to the recorded Signal. This is recommended for \"normal\" + users. However, advanced users wanting to express things such as the location of the microphone will + have to create this shortcut as well as the whole workflow, in order to let the \"normal\" users access + simply the, well, simple information:-) . + """ ; + rdfs:domain mo:Performance ; + rdfs:isDefinedBy mo: ; + rdfs:label "recorded as" ; + rdfs:range mo:Signal ; + mo:level "2" ; + owl:inverseOf mo:records ; + vs:term_status "stable" . + +mo:recorded_in + rdf:type owl:ObjectProperty ; + rdfs:comment """ + Associates a physical Sound to a Recording event where it is being used + in order to produce a signal. For example, I might use this property to + associate the sound produced by a particular performance of the magic flute + to a given recording, done using my cell-phone. + """ ; + rdfs:domain mo:Sound ; + rdfs:isDefinedBy mo: ; + rdfs:label "recorded in" ; + rdfs:range mo:Recording ; + rdfs:subPropertyOf event:isFactorOf ; + mo:level "2" ; + owl:inverseOf mo:recording_of ; + vs:term_status "unstable" . + +mo:recording_of + rdf:type owl:ObjectProperty ; + rdfs:comment """ + Associates a Recording event to a physical Sound being recorded. + For example, I might use this property to + associate a given recording, done using my cell phone, to the + sound produced by a particular performance of the magic flute. + """ ; + rdfs:domain mo:Recording ; + rdfs:isDefinedBy mo: ; + rdfs:label "recorded sound" ; + rdfs:range mo:Sound ; + rdfs:subPropertyOf event:factor ; + mo:level "2" ; + owl:inverseOf mo:recorded_in ; + vs:term_status "stable" . + +mo:records + rdf:type owl:ObjectProperty ; + rdfs:comment """ + This is the inverse of the shortcut property recordedAs, allowing to relate directly a performance + to a signal. + """ ; + rdfs:domain mo:Signal ; + rdfs:isDefinedBy mo: ; + rdfs:label "records" ; + rdfs:range mo:Performance ; + mo:level "2" ; + owl:inverseOf mo:recordedAs ; + vs:term_status "unstable" . + +mo:release + rdf:type owl:ObjectProperty ; + rdfs:comment "Associates a release with the corresponding release event" ; + rdfs:domain mo:ReleaseEvent ; + rdfs:isDefinedBy mo: ; + rdfs:label "release" ; + rdfs:range mo:Release ; + rdfs:subPropertyOf event:product ; + mo:level "1" ; + vs:term_status "testing" . + +mo:releaseStatus + rdf:type owl:ObjectProperty ; + owl:equivalentProperty + mo:release_status ; + vs:term_status "deprecated" . + +mo:releaseType + rdf:type owl:ObjectProperty ; + owl:equivalentProperty + mo:release_type ; + vs:term_status "deprecated" . + +mo:release_status + rdf:type owl:ObjectProperty ; + rdfs:comment """ + Relates a musical manifestation to its release status (bootleg, ...) + """ ; + rdfs:domain mo:MusicalManifestation ; + rdfs:isDefinedBy mo: ; + rdfs:range mo:ReleaseStatus ; + mo:level "1" ; + vs:term_status "stable" . + +mo:release_type + rdf:type owl:ObjectProperty ; + rdfs:comment """ + Relates a musical manifestation to its release type (interview, spoken word, album, ...) + """ ; + rdfs:domain mo:MusicalManifestation ; + rdfs:isDefinedBy mo: ; + rdfs:range mo:ReleaseType ; + mo:level "1" ; + vs:term_status "stable" . + +mo:remaster_of + rdf:type owl:ObjectProperty ; + rdfs:comment """This relates two musical work or the expression of a musical work, where one is a remaster of the other. + +A remaster is a new version made for release from source recordings that were earlier released separately. This is usually done to improve the audio quality or adjust for more modern playback equipment. The process generally doesn't involve changing the music in any artistically important way. It may, however, result in tracks that are a few seconds longer or shorter.""" ; + rdfs:isDefinedBy mo: ; + rdfs:label "remaster_of" ; + rdfs:subPropertyOf mo:derived_from ; + mo:level "1" ; + vs:term_status "unstable" . + +mo:remix + rdf:type mo:ReleaseType ; + rdfs:isDefinedBy mo: ; + dc:description """ + Musical manifestation that primarily contains remixed material. + This is a type of MusicalManifestation defined by the musical industry. + """ ; + dc:title "remix" ; + mo:level "1" . + +mo:remix_of + rdf:type owl:ObjectProperty ; + rdfs:comment "Used to relate the remix of a musical work in a substantially altered version produced by mixing together individual tracks or segments of an original musical source work." ; + rdfs:isDefinedBy mo: ; + rdfs:label "remix_of" ; + rdfs:subPropertyOf mo:derived_from ; + mo:level "1" ; + vs:term_status "unstable" . + +mo:remixed + rdf:type owl:ObjectProperty ; + rdfs:comment """Used to relate an artist who remixed a musical work or the expression of a musical work. + +This involves taking just one other musical work and using audio editing to make it sound like a significantly different, but usually still recognisable, song. It can be used to link an artist to a single song that they remixed, or, if they remixed an entire musical work.""" ; + rdfs:domain mo:MusicArtist ; + rdfs:isDefinedBy mo: ; + rdfs:label "remixed" ; + rdfs:range mo:Signal ; + mo:level "1" ; + owl:inverseOf mo:remixer ; + vs:term_status "unstable" . + +mo:remixer + rdf:type owl:ObjectProperty ; + rdfs:comment """Used to relate a musical work or the expression of a musical work to an artist who remixed it. + +This involves taking just one other musical work and using audio editing to make it sound like a significantly different, but usually still recognisable, song. It can be used to link an artist to a single song that they remixed, or, if they remixed an entire musical work.""" ; + rdfs:isDefinedBy mo: ; + rdfs:label "remixer" ; + rdfs:subPropertyOf mo:interpreter ; + mo:level "1" ; + owl:inverseOf mo:remixed ; + vs:term_status "unstable" . + +mo:review + rdf:type owl:ObjectProperty ; + rdfs:comment """Used to link a work or the expression of a work to a review. + +The review does not have to be open content, as long as it is accessible to the general internet population.""" ; + rdfs:domain + [ rdf:type owl:Class ; + owl:unionOf (frbr:Work frbr:Expression frbr:Manifestation) + ] ; + rdfs:isDefinedBy mo: ; + rdfs:label "review" ; + rdfs:range foaf:Document ; + rdfs:subPropertyOf foaf:isPrimaryTopicOf ; + mo:level "1" ; + vs:term_status "stable" . + +mo:sampleRate + rdf:type owl:DatatypeProperty ; + owl:equivalentProperty + mo:sample_rate ; + vs:term_status "deprecated" . + +mo:sample_rate + rdf:type owl:FunctionalProperty , owl:DatatypeProperty ; + rdfs:comment """ + Associates a digital signal to its sample rate. It might be easier to express it this way instead of + defining a timeline map:-) Range is xsd:float. + """ ; + rdfs:domain mo:DigitalSignal ; + rdfs:isDefinedBy mo: ; + rdfs:range xsd:float ; + mo:level "1" ; + vs:term_status "stable" . + +mo:sampled + rdf:type owl:ObjectProperty ; + rdfs:comment "Used to relate an artist who sampled a Signal." ; + rdfs:domain mo:MusicArtist ; + rdfs:isDefinedBy mo: ; + rdfs:label "sampled" ; + rdfs:range mo:Signal ; + mo:level "1" ; + owl:inverseOf mo:sampler ; + vs:term_status "unstable" . + +mo:sampledVersionOf + rdf:type owl:ObjectProperty ; + rdfs:isDefinedBy mo: ; + owl:equivalentProperty + mo:sampled_version_of ; + vs:term_status "deprecated" . + +mo:sampled_version + rdf:type owl:ObjectProperty ; + rdfs:comment """ + Associates an analog signal with a sampled version of it + """ ; + rdfs:domain mo:AnalogSignal ; + rdfs:isDefinedBy mo: ; + rdfs:label "sampled version" ; + rdfs:range mo:DigitalSignal ; + mo:level "2" ; + owl:inverseOf mo:sampled_version_of ; + vs:term_status "stable" . + +mo:sampled_version_of + rdf:type owl:FunctionalProperty , owl:ObjectProperty ; + rdfs:comment """ + Associates a digital signal with the analog version of it + """ ; + rdfs:domain mo:DigitalSignal ; + rdfs:isDefinedBy mo: ; + rdfs:label "sampled version of" ; + rdfs:range mo:AnalogSignal ; + rdfs:subPropertyOf mo:derived_from ; + mo:level "2" ; + owl:inverseOf mo:sampled_version ; + vs:term_status "stable" . + +mo:sampler + rdf:type owl:ObjectProperty ; + rdfs:comment "Used to relate the signal of a musical work to an artist who sampled it." ; + rdfs:isDefinedBy mo: ; + rdfs:label "sampler" ; + rdfs:subPropertyOf mo:interpreter ; + mo:level "1" ; + owl:inverseOf mo:sampled ; + vs:term_status "unstable" . + +mo:sell_item + rdf:type owl:ObjectProperty ; + rdfs:comment "A person, a group of person or an organization selling an exemplar of a single manifestation." ; + rdfs:domain foaf:Agent ; + rdfs:isDefinedBy mo: ; + rdfs:label "sell_item" ; + rdfs:range frbr:Item ; + mo:level "1" ; + vs:term_status "stable" . + +mo:signal + rdf:type owl:ObjectProperty ; + rdfs:comment "Associates a group of signals with one of the signals it contains" ; + rdfs:domain mo:SignalGroup ; + rdfs:isDefinedBy mo: ; + rdfs:label "signal" ; + rdfs:range mo:Signal ; + mo:level "1" ; + vs:term_status "testing" . + +mo:signalTime + rdf:type owl:ObjectProperty ; + rdfs:isDefinedBy mo: ; + owl:equivalentProperty + mo:time ; + vs:term_status "deprecated" . + +mo:similar_to + rdf:type owl:ObjectProperty ; + rdfs:comment """ + A similarity relationships between two objects (so far, either an agent, a signal or a genre, but + this could grow). + This relationship is pretty general and doesn't make any assumptions on how the similarity claim + was derived. + Such similarity statements can come from a range of different sources (Musicbrainz similarities between + artists, or coming from some automatic content analysis). + However, the origin of such statements should be kept using a named graph approach - and ultimately, the + documents providing such statements should attach some metadata to themselves (confidence of the claim, etc.). + """ ; + rdfs:domain + [ rdf:type owl:Class ; + owl:unionOf (foaf:Agent mo:MusicalWork mo:MusicalExpression mo:MusicalManifestation mo:MusicalItem mo:Genre) + ] ; + rdfs:isDefinedBy mo: ; + rdfs:label "similar_to" ; + rdfs:range + [ rdf:type owl:Class ; + owl:unionOf (foaf:Agent mo:MusicalWork mo:MusicalExpression mo:MusicalManifestation mo:MusicalItem mo:Genre) + ] ; + mo:level "1" ; + vs:term_status "unstable" . + +mo:singer + rdf:type owl:ObjectProperty ; + rdfs:comment "Relates a performance to an involved singer" ; + rdfs:domain mo:Performance ; + rdfs:isDefinedBy mo: ; + rdfs:range foaf:Agent ; + rdfs:subPropertyOf mo:performer ; + mo:level "2" ; + vs:term_status "stable" . + +mo:single + rdf:type mo:ReleaseType ; + rdfs:isDefinedBy mo: ; + dc:description """A single or record single is a type of release, typically a recording of two tracks. In most cases, the single is a song that is released separately from an album, but it can still appear on an album.""" ; + dc:title "single" ; + mo:level "1" . + +mo:soundtrack + rdf:type mo:ReleaseType ; + rdfs:isDefinedBy mo: ; + dc:description """ + Sound recording on a narrow strip of a motion picture film. + This is a type of MusicalManifestation defined by the musical industry. + """ ; + dc:title "soundtrack" ; + mo:level "1" . + +mo:spokenword + rdf:type mo:ReleaseType ; + rdfs:isDefinedBy mo: ; + dc:description """ + Spoken word is a form of music or artistic performance in which lyrics, poetry, or stories are spoken rather than sung. + Spoken-word is often done with a musical background, but emphasis is kept on the speaker. + This is a type of MusicalManifestation defined by the musical industry. + """ ; + dc:title "spoken word" ; + mo:level "1" . + +mo:supporting_musician + rdf:type owl:ObjectProperty ; + rdfs:comment "Used to relate an artist doing long-time instrumental or vocal support for another artist." ; + rdfs:domain mo:MusicArtist ; + rdfs:isDefinedBy mo: ; + rdfs:label "supporting_musician" ; + rdfs:range mo:MusicArtist ; + mo:level "1" ; + vs:term_status "unstable" . + +mo:tempo + rdf:type owl:DatatypeProperty ; + rdfs:comment """ + Rate of speed or pace of music. Tempo markings are traditionally given in Italian; + common markings include: grave (solemn; very, very slow); largo (broad; very slow); + adagio (quite slow); andante (a walking pace); moderato (moderate); allegro (fast; cheerful); + vivace (lively); presto (very fast); accelerando (getting faster); ritardando (getting slower); + and a tempo (in time; returning to the original pace). + """ ; + rdfs:domain + [ rdf:type owl:Class ; + owl:unionOf (mo:MusicalWork mo:Performance mo:Signal) + ] ; + rdfs:isDefinedBy mo: ; + rdfs:label "tempo" ; + rdfs:range xsd:string ; + mo:level "2" ; + vs:term_status "stable" . + +mo:lyrics + rdf:type owl:ObjectProperty ; + rdfs:comment "Associates lyrics with a musical work" ; + rdfs:domain mo:MusicalWork ; + rdfs:range mo:Lyrics ; + rdfs:isDefinedBy mo: ; + rdfs:label "lyrics" ; + mo:level "2" ; + vs:term_status "testing" . + +mo:text + rdf:type owl:DatatypeProperty ; + rdfs:comment "Associates lyrics with their text." ; + rdfs:domain mo:Lyrics ; + rdfs:isDefinedBy mo: ; + rdfs:label "text" ; + mo:level "2" ; + vs:term_status "testing" . + +mo:time + rdf:type owl:FunctionalProperty , owl:ObjectProperty ; + rdfs:comment """ + Associates a Signal to a time object - its actual domain + """ ; + rdfs:domain mo:Signal ; + rdfs:isDefinedBy mo: ; + rdfs:label "time" ; + rdfs:range time:TemporalEntity ; + mo:level "1" ; + vs:term_status "stable" . + +mo:track + rdf:type owl:ObjectProperty ; + rdfs:comment "Indicates a part of a musical manifestation - in this particular case, a track." ; + rdfs:domain mo:Record ; + rdfs:isDefinedBy mo: ; + rdfs:label "track" ; + rdfs:range mo:Track ; + mo:level "1" ; + vs:term_status "stable" . + +mo:trackNum + rdf:type owl:DatatypeProperty ; + rdfs:isDefinedBy mo: ; + owl:equivalentProperty + mo:track_number ; + vs:term_status "deprecated" . + +mo:track_count + rdf:type owl:DatatypeProperty ; + rdfs:comment "The track count of a record" ; + rdfs:domain mo:Record ; + rdfs:isDefinedBy mo: ; + rdfs:label "track count" ; + rdfs:range xsd:int ; + mo:level "1" ; + vs:term_status "testing" . + +mo:track_number + rdf:type owl:DatatypeProperty ; + rdfs:comment "Indicates the position of a track on a record medium (a CD, etc.)." ; + rdfs:domain mo:Track ; + rdfs:isDefinedBy mo: ; + rdfs:label "track number" ; + rdfs:range xsd:nonNegativeInteger ; + mo:level "1" ; + vs:term_status "stable" . + +mo:translation_of + rdf:type owl:ObjectProperty ; + rdfs:comment "Indicates that a work or the expression of a work has translated or transliterated into another expression of a work." ; + rdfs:domain frbr:Expression ; + rdfs:isDefinedBy mo: ; + rdfs:label "translation_of" ; + rdfs:range frbr:Expression ; + mo:level "1" ; + vs:term_status "unstable" . + +mo:tribute_to + rdf:type owl:ObjectProperty ; + rdfs:comment "Indicates a musical work or the expression of a musical work that is a tribute to an artist - normally consisting of music being composed by the artist but performed by other artists. " ; + rdfs:domain mo:MusicalManifestation ; + rdfs:isDefinedBy mo: ; + rdfs:label "tribute_to" ; + rdfs:range mo:MusicArtist ; + mo:level "1" ; + vs:term_status "unstable" . + +mo:trmid + rdf:type owl:DatatypeProperty ; + rdfs:comment """ + Indicates the TRMID of a track. + TRM IDs are MusicBrainz' old AudioFingerprinting system. + TRM (TRM Recognizes Music) IDs are (somewhat) unique ids that represent + the audio signature of a musical piece (see AudioFingerprint). + """ ; + rdfs:domain mo:Signal ; + rdfs:isDefinedBy mo: ; + rdfs:label "trmid" ; + rdfs:range xsd:string ; + mo:level "1" ; + vs:term_status "stable" . + +mo:upc + rdf:type owl:DatatypeProperty ; + rdfs:comment "UPC stands for \"Universal Product Code\", which was the original barcode used in the United States and Canada. The UPC (now officially EAN.UCC-12 is a numerical method of identifying products without redundancy worldwide for all types of products in the retail sector. The EAN is a superset of the original UPC increasing the digits to 13 with the prefix 0 reserved for UPC. As of 2005, manufacturers are only allowed to use the new 13-digit codes on their items, rather than having two separate numbers." ; + rdfs:domain mo:Release ; + rdfs:isDefinedBy mo: ; + rdfs:label "upc" ; + rdfs:range xsd:string ; + rdfs:subPropertyOf mo:gtin ; + mo:level "1" ; + vs:term_status "testing" . + +mo:usedInPerformance + rdf:type owl:ObjectProperty ; + rdfs:isDefinedBy mo: ; + owl:equivalentProperty + mo:performed_in ; + vs:term_status "deprecated" . + +mo:usedInRecording + rdf:type owl:ObjectProperty ; + rdfs:isDefinedBy mo: ; + owl:equivalentProperty + mo:recorded_in ; + vs:term_status "deprecated" . + +mo:usesSound + rdf:type owl:ObjectProperty ; + rdfs:isDefinedBy mo: ; + owl:equivalentProperty + mo:recording_of ; + vs:term_status "deprecated" . + +mo:usesWork + rdf:type owl:ObjectProperty ; + rdfs:isDefinedBy mo: ; + owl:equivalentProperty + mo:performance_of ; + vs:term_status "deprecated" . + +mo:uuid + rdf:type owl:DatatypeProperty ; + rdfs:comment """ + Links an object to an universally unique identifier for it. + """ ; + rdfs:domain owl:Thing ; + rdfs:label "universally unique identifier" ; + rdfs:subPropertyOf dcterms:identifier ; + mo:level "1" ; + vs:term_status "testing" . + +mo:want_item + rdf:type owl:ObjectProperty ; + rdfs:comment "A person, a group of person or an organization wanting an exemplar of a single manifestation." ; + rdfs:domain foaf:Agent ; + rdfs:isDefinedBy mo: ; + rdfs:label "want_item" ; + rdfs:range frbr:Item ; + mo:level "1" ; + vs:term_status "stable" . + +mo:wikipedia + rdf:type owl:ObjectProperty ; + rdfs:comment """ + Used to link an work, an expression of a work, a manifestation of a work, + a person, an instrument or a musical genre to its corresponding WikiPedia page. + The full URL should be used, not just the WikiName. + """ ; + rdfs:domain + [ rdf:type owl:Class ; + owl:unionOf (frbr:Work frbr:Expression frbr:Manifestation frbr:Item foaf:Agent mo:Instrument mo:Genre) + ] ; + rdfs:isDefinedBy mo: ; + rdfs:label "wikipedia" ; + rdfs:range foaf:Document ; + rdfs:subPropertyOf foaf:isPrimaryTopicOf ; + mo:level "1" ; + vs:term_status "stable" . + +vs:term_status + rdf:type owl:AnnotationProperty .
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/musicont/rdf/cpack/musicont.ttl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,24 @@ +@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . +@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . +@prefix dcterms: <http://purl.org/dc/terms/> . +@prefix cpack: <http://cliopatria.swi-prolog.org/schema/cpack#> . +@prefix mo: <http://xmlns.com/foaf/0.1/> . + +<> a cpack:Ontology ; + cpack:packageName "musicont" ; + dcterms:title "The Music Ontology OWL schema" ; + cpack:author [ foaf:name "Samer Abdallah" ; + foaf:mbox <mailto:s.abdallah@ucl.ac.uk> ; + ] ; + cpack:primaryRepository + [ a cpack:GitRepository ; + cpack:gitURL <git://eculture.cs.vu.nl/home/janw/git/ClioPatria/foaf.git> + ] ; + cpack:description + +"""This package provides the Music Ontology schema. The default configuration installs + the =mo= prefix for use in Prolog and ensures that the schema is loaded + in the RDF store. +""" . + +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/p2r/CHANGES Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,19 @@ +Change log + +September 2014, Samer Abdallah: + * Alternative implementations of uripattern using strings and DCGs. + * Reduced nondeterminism of URI grammar. + * Improved pattern simplification. + * Introduced new syntax for rules. + * Improved generation of pattern matching code. + * Re-packed as a ClioPatria entailment module, without server etc. + +April 2010, Samer Abdallah: + * extended pattern languange to include new constructs A+B, A/B, num(N), atm(A). + * unified separate implementations of pattern language in p2r_entailment. + * Added term expansion and RDF resource expression simplification to match.pl + * Added Head <==> RDFList rule syntax (adds automatic module annotation to Head) + * Added p2r.pl as main module to load for client programs. + * Installation mechanism now uses patches to alter SeRQL code + * p2r_set_mode/1 allows choice of fully dynamic interpretations of match database + OR partial compilation to rdf/3 clauses (triple are still created dynamially).
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/p2r/README.md Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,82 @@ +# P2R + +A set of modules allowing you to export +prolog predicates as RDF just by declaring +mappings, and access them through a SPARQL +end-point. + +Yves Raimond (c) 2007 +Centre for Digital Music, Queen Mary, +University of London + +Samer Abdallah (c) 2010, 2014 +Department of Computer Science, UCL + +## Installation & running + + 1. Get ClioPatria from here: + http://cliopatria.swi-prolog.org/home + and set it up as per instructions. + + 2. Copy or link this p2r directory into the cpacks directory of + your working ClioPatria server. + + 3. Register the cpack by doing (at the Prolog prompt) + + ?- cpack_configure(p2r). + + 4. In your code, do + + :- use_module(entailment(p2r)). + + Register any prefixes you need with rdf_register_prefix/2, declare any + macros with uripattern:def(_,_), and write your mapping rules. + + 5. Use the triples: + + a) Select p2r\_entailment on ClioPatria's SPARQL/SeRQL page... + + b) ...or call p2r\_entailment:rdf/3 directly (not recommended) + + c) ...or dump all the p2r\_entailment:rdf/3 triples into the main rdf database, using, eg + + forall(p2r_entailment:rdf(A,B,C), rdf_assert(A,B,C,p2r)). + + Asserting the triples into a named graph (p2r) makes it easy + to delete them all and re-import when things change. + + +## Pattern language + +Resources URIs and literals are expressed using a pattern language. +See the README in the lib directory. + +## Example mappings + +Suppose you have a predicate widget/3 which holds a database of +widget identifiers, names, and weights, and another predicate +connectable/2 which describes which widgets can be connected +to each other. Suppose also that the widgets are kept in a cabinet +with pidgeon holes arranged in a matrix, and that the location of +each widget is given by the predicate widget\_location/3. +We could expose this as RDF using the following mappings: + + :- rdf_register_prefix(eg,'http://www.example.org/'). + uripattern:def(loc(X,Y),num(X)/num(Y)). + + rdf(eg:widgets/enc(ID), rdf:type, eg:schema/'Widget') <== widget(ID,_,_). + + widget(ID,Name,Weight) ==> + rdf(eg:widget/enc(ID), rdf:label, literal(Name)), + rdf(eg:widget/enc(ID), eg:weight, literal(type(xsd:double,Weight)). + + rdf(eg:widget/enc(ID1), eg:connectsTo, eg:widget/enc(ID2) <= connectable(ID1,ID2). + + rdf(eg:widget/enc(ID), eg:location, eg:storage/loc(X,Y)) <= + widget_location(ID,X,Y). + +Note that URI patterns MUST be written into the rdf/3 terms in the head +of the rule (ie, the consequent part of the implication, rather than the +antecedent, no matter which way round the rule is written, using <== or ==>). +Otherwise, it is your responsibilty to construct or analyse any URIs. Of course, +you can use the uripattern module to help you do this.
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/p2r/entailment/p2r.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,91 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University of London + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +:- module(p2r_entailment,[ op(1200,xfx,<==), op(1200,xfx,==>), assert_all/1 ]). + +/** <module> Prolog-to-RDF mapping entailment module + + This module provides a mechanism for exposing information in the Prolog + database as RDF triples. The basis of this is a syntax for multiheaded + Horn clauses with RDF triples in the head and Prolog goals in the body. + The rules can be written in either direction: as =|Heads <== Body|= + or =|Body ==> Heads|=, whichever is most convenient. + + There is also a grammar for writing URI patterns. These are used to + to build URIs from Prolog values and to parse URIs to extract Prolog + values. The cost of this URI processing can be completely avoided by + writing only variables in the head rdf/3 terms. +*/ + +:- use_module(library(uripattern_detdcg)). +:- use_module(library(semweb/rdf_db),[]). + +:- rdf_meta rdf(r,r,o). +:- rdf_meta rdf(r,r,o,-). + +:- multifile cliopatria:entailment/2. +:- multifile rdf/4. +:- op(1200,xfx,<==). +:- op(1200,xfx,==>). + + +cliopatria:entailment(p2r, p2r_entailment). + +rdf(S,P,O) :- rdf(S,P,O,_). + +user:term_expansion( (Body ==> Heads), Clauses) :- + user:term_expansion( (Heads <== Body), Clauses). +user:term_expansion( (Heads <== Body), Clauses) :- + debug(p2r,'Expanding: ~w',[Heads<==Body]), + prolog_load_context(module,Mod), + expand_clauses(Heads,Mod:Body,Clauses,[]). + + +expand_clauses((H1,H2),Body) --> !, + expand_clauses(H1,Body), + expand_clauses(H2,Body). + +expand_clauses(rdf(SPat,PPat,OPat),Mod:Body) --> + { call_dcg( ( opt_match(resource,SPat,S), + opt_match(resource,PPat,P), + opt_match(object,OPat,O) ), Mod:Body, Body1), + Clause = (p2r_entailment:rdf(S,P,O,Mod) :- Body1), + debug(p2r,'Asserting clause: ~w',[Clause]) + }, + [Clause]. + +% builds an optimised goal to do pattern matching +opt_match(_,X,X) --> {var(X)}, !. +opt_match(object,X,Y) --> {X=literal(_)}, !, {rdf_global_object(X,Y)}. +opt_match(_,P1,URI) --> + {debug(p2r,'Simplifying URI pattern: ~w',[P1])}, + {simplify(P1,P2)}, opt_match(P2,URI). +opt_match(X,X) --> {atomic(X)}, !. +opt_match(P,U) --> by_inst(U,uripattern:pattern_uri(P,U)). + +% this generates code to call G and G1 in an order determined +% by the instantiation state of X at run time. +by_inst(X,G1,G, (var(X) -> G, G1; G1, G)). + + +%% assert_all(+Module) is det. +% This asserts all the RDF triples entailed by the p2r module Module. +% Informational messages are printed, including the time taken. +assert_all(G) :- + forall(p2r_entailment:rdf(S,P,O,G), rdf_assert(S,P,O,G)). +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/p2r/lib/README.md Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,94 @@ +# module uripattern + +by Samer Abdallah, UCL, 2014 + + +This directory contains several alternative implementations of a small URI grammar +which supports both generation and parsing (pattern-matching) of URIs. + +There are two variants of the language. The earlier design is quite flexible but +leads to heavily non-deterministic parsing, which is perhaps not what one wants +for URI computations which might potentially be called very frequently. The later +design reduces or eliminates this non-determinism, depending on the implementatation. + +### Grammar + +We describe the pattern grammar in terms of an algebraic datatype for the pattern language. + + + uri_pattern ---> prefix:uri_part + ; uri_part. + + P :: prefix :- rdf_current_prefix(P). % any registered prefix atom + M :: macro_invocation :- uripattern:def(M,_). + + uri_part ---> \macro_invocation + ; uri_part/uri_part % slash separated concatenation + ; uri_part+uri_part % direct concatenation + ; num(number) % decimal repn of number + ; enc(atomic) % HTML form-encoded atom + ; atm(atomic) % any atomic value + ; <any ground atom> + . + +The more deterministic grammar removes direct concatenation and arbitrary atom parsing +but adds a tail/1 functor to capture all the remaining characters in the URI: + + uri_part ---> \macro_invocation + ; uri_part/uri_part % slash separated concatenation + ; num(number) % decimal repn of number + ; enc(atomic) % HTML form-encoded atom + ; tail(atomic) % matches rest of URI + ; <any ground atom> + . + +This grammar as written is not quite strict enough to enforce the rule that any tail/1 +term must be the last thing in the pattern. The implementations are slightly less strict +than this this specification. + + +### Example + +Given the following declarations: + + :- rdf_register_prefix(eg,'http://wwww.example.org/'). + uripattern:def(matrix(X,Y),num(X)/num(Y)). + +Then URIs can be generated as follows: + + pattern_uri(eg:home,A). + ~> A='http://www.example.org/home' + pattern_uri(eg:files/tail('home/chomsky/.profile'),A). + ~> A='http://www.example.org/files/home/chomsky/.profile' + pattern_uri(eg:people/enc('Chomsky, N')/pets,A). + ~> A='http://www.example.org/people/Chomsky%2c%20N/pets' + pattern_uri(eg:chessboard/matrix(3,6),A). + ~> A='http://www.example.org/chessboard/3/6' + +URIs can also be parsed, eg as follows + + pattern_uri(eg:files/tail(Path), 'http://www.example.org/files/home/chomsky/.profile'). + ~> Path= + pattern_uri(eg:people/enc(Name)/pets, 'http://www.example.org/people/Chomsky%2c%20N/pets'). + ~> Name='Chomsky, N' + pattern_uri(eg:chessboard/matrix(X,Y), 'http://www.example.org/chessboard/3/6'). + ~> X=3, Y=6 + + +### Implementations + +There are several implementations: + +uripattern\_constraint : Works by splicing atoms and uses delayed goals to handle arbitrary modes. + +uripattern\_string : Works by splicing strings. + +uripattern\_atom : Works by splicing atoms. + +uripattern\_dcg : Converts URI to and from a list of codes and uses a DCG. + +uripattern\_detdcg : A more deterministic DCG + +uripattern\_detstring : A more deterministic version of string splicing. + +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/p2r/lib/p2r.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,28 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University of London + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +:- module(p2r, [p2r_import/1 ]). + +:- use_module(library(termutils)). + +p2r_import(Module) :- + print_message(information,p2r:importing(Module)), + with_status_line(time(Module:import)). + + +prolog:message(p2r:importing(G)) --> ["Importing RDF triples from ~w...\n"-[G]].
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/p2r/lib/uripattern.old.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,106 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University of London + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +:- module(uripattern, [ + object/2 + , resource/2 + , literal/2 + , max_reduce/2 + ]). + +:- use_module(library(semweb/rdf_db), [ rdf_current_ns/2 ]). + +:- multifile uripattern:macro/2. + +object(A,B) :- freeze(A, object1(A,B)). +literal(A,B) :- freeze(A, literal1(A,B)). +resource(A,B) :- freeze(A, resource1(A,B)). +plain(A,B) :- freeze(A, plain1(A,B)). + +object1(literal(A),literal(B)) :- !, literal(A,B). +object1(A,B) :- resource1(A,B). + +literal1(type(T,A),type(T1,A1)) :- !, resource(T,T1), plain(A,A1). +literal1(A,B) :- plain1(A,B). + +resource1(P:A,PB) :- !, rdf_current_ns(P,Q), atom_concat1(Q,B,PB), plain(A,B). +resource1(A,B) :- plain1(A,B). + +plain1(pat(L),B) :- freeze(L,conc(L,B)). +plain1(num(N),B) :- when(nonvar(N);nonvar(B),atom_number1(B,N)). +plain1(mac(M),B) :- when(nonvar(M);nonvar(B),macro(M,B)). +plain1(enc(A),B) :- plain(A,C), when(nonvar(C);nonvar(B),www_form_encode(C,B)). +plain1(atm(A),A). +plain1(A1/A2,B) :- freeze(B,sub_atom(B,_,_,_,'/')), plain1(A1+'/'+A2,B). +plain1(A1+A2,B) :- atom_concat1(B1,B2,B), plain(A1,B1), plain(A2,B2). +plain1(A,B) :- (atom(A);atom(B)), A=B. + +conc([],''). +conc([H|T],B) :- atom_concat1(H,TA,B), freeze(T,conc(T,TA)). + +atom_number1(A,N) :- + catch(atom_number(A,N), error(syntax_error(_),_), fail). + +% like atom_concat but with more modes, using frozen constraints. +atom_concat1(A,B,C) :- + freeze(A, (A=''->B=C;true)), + freeze(B, (B=''->A=C;true)), + when( ( nonvar(A),nonvar(B) + ; nonvar(B),nonvar(C) + ; nonvar(A),nonvar(C) + ), atom_concat(A,B,C)). + + +% non-deterministic maximal reduction +max_reduce(E1,E3) :- + reduce(E1,E2) *-> max_reduce(E2,E3); E1=E3. + +% simplify resource or literal expression if possible +reduce(A,A) :- var(A), !, fail. +reduce(A/B,A+'/'+B). +reduce(A/B,A1/B) :- reduce(A,A1). +reduce(A/B,A/B1) :- reduce(B,B1). +reduce(A/B/C,A/(B/C)). +reduce(A+B,A1+B) :- reduce(A,A1). +reduce(A+B,A+B1) :- reduce(B,B1). +reduce(A+B,AB) :- atom(A), atom(B), atom_concat(A,B,AB). +reduce(A+B,_) :- (var(A); var(B)), !, fail. +reduce(A+B/C,(A+B)/C). +reduce((A+B)+C,A+BC) :- atom(B), atom(C), atom_concat(B,C,BC). +reduce(A+(B+C),AB+C) :- atom(A), atom(B), atom_concat(A,B,AB). +reduce(P:A,Q+A) :- must_be(atom,P), + ( rdf_current_prefix(P,Q) -> true + ; throw(unknown_prefix(P)) + ). + +reduce(num(N),A) :- number(N), atom_number(A,N). +reduce(atm(A),A) :- atom(A). +reduce(mac(A),B) :- atom(A), macro(A,B). +reduce(enc(A),B) :- atom(A), www_form_encode(A,B). +reduce(enc(A),enc(B)):- reduce(A,B). +reduce(A+pat(P),pat([A|P])) :- atom(A), nonvar(P). +reduce(pat(P)+A,pat(P1)) :- atom(A), nonvar(P), concat(P,[A],P1). +reduce(pat([A1,A2|AX]),pat([A12|AX])) :- + atom(A1), atom(A2), atom_concat(A1,A2,A12). + +reduce(literal(E),literal(E1)) :- reduce(E,E1). +reduce(type(T,E),type(T1,E)) :- reduce(T,T1). +reduce(type(T,E),type(T,E1)) :- reduce(E,E1). +reduce(lang(V,L),lang(V1,L)) :- reduce(V,V1). +reduce(lang(V,L),lang(V,L1)) :- reduce(L,L1). +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/p2r/lib/uripattern_atom.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,68 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University of London + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +:- module(uripattern, [ + simplify/2 + , pattern_uri/2 + ]). + +:- use_module(library(semweb/rdf_db), [ rdf_global_id/2 ]). + +:- multifile uripattern:def/2. + +%% pattern_uri(+P:uripattern,-X:uri) is det. +%% pattern_uri(-P:uripattern,+X:uri) is det. +pattern_uri(Pattern,URI) :- (var(URI);atomic(URI)), uri(Pattern,URI). + +uri(P:A,QB) :- + ( var(QB) -> uri(A,B), rdf_global_id(P:B,QB) + ; rdf_global_id(P:B,QB), uri(A,B) + ). +uri(\(M),B) :- def(M,A), uri(A,B). +uri(num(N),B) :- atom_number(B,N). +uri(enc(A),B) :- www_form_encode(A,B). +uri(atm(A),A). +uri(A1/A2,B) :- uri(A1+'/'+A2,B). +uri(A1+A2,B) :- + ( var(B) -> uri(A1,B1), uri(A2,B2), atom_concat(B1,B2,B) + ; atom_concat(B1,B2,B), uri(A1,B1), uri(A2,B2) + ). +uri(A,A) :- atomic(A). + + +%% simplify(+P1:uri_pattern, -P2:uri_pattern) is nondet. +% Non-deterministic maximal reduction of URI pattern. +simplify(E1,E3) :- + reduce(E1,E2) *-> simplify(E2,E3); E1=E3. + +% simplify resource if possible, fails otherwise +% The pattern must be nonvar. +reduce(A,B) :- must_be(nonvar,A), reduce1(A,B). + +reduce1(num(N),A) :- number(N), atom_number(A,N). +reduce1(atm(A),A) :- atomic(A). +reduce1(\(A),B) :- nonvar(A), def(A,B). +reduce1(enc(A),B) :- atomic(A), www_form_encode(A,B). +reduce1(P:A,Q+A) :- rdf_global_id(P:'',Q). +reduce1(A/B,A+'/'+B). +reduce1(A+B,A1+B) :- reduce(A,A1). +reduce1(A+B,A+B1) :- reduce(B,B1). % nb to get past these, A and B must be nonvar +reduce1(A+B,AB) :- atom(A), atom(B), atom_concat(A,B,AB). +reduce1((A+B)+C,A+BC) :- reduce1(B+C,BC). +reduce1(A+(B+C),AB+C) :- reduce1(A+B,AB). +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/p2r/lib/uripattern_constraint.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,80 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University of London + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +:- module(uripattern, [ + simplify/2 + , pattern_uri/2 + ]). + +:- use_module(library(semweb/rdf_db), [ rdf_global_id/2 ]). + +:- multifile uripattern:def/2. + +%% uri_constraint(+P:uripattern,?X:uri) is nondet. +% Logical predicate implemented using delayed goals. +pattern_uri(A,B) :- must_be(nonvar,A), resource(A,B). + +resource(P:A,PB) :- !, rdf_global_id(P:'',Q), plain(Q+A,PB). +resource(A,B) :- plain(A,B). + +plain(\(M),B) :- def(M,A), (var(A) -> true; plain(A,B)). +plain(A1/A2,B) :- plain(A1+'/'+A2,B). +plain(num(N),B) :- when((nonvar(N);nonvar(B)), atom_number1(B,N)). +plain(enc(A),B) :- when((nonvar(A);nonvar(B)), www_form_encode1(A,B)). +plain(atm(A),A). +plain(A1+A2,B) :- + freeze(A1,plain(A1,B1)), + freeze(A2,plain(A2,B2)), + when((ground(B1),ground(B2);ground(B)), atom_concat1(B1,B2,B)). +plain(A,A) :- atom(A). + +%% simplify(+P1:uri_pattern, -P2:uri_pattern) is nondet. +% Non-deterministic maximal reduction of URI pattern. +simplify(E1,E3) :- + reduce(E1,E2) *-> simplify(E2,E3); E1=E3. + +% simplify resource if possible, fails otherwise +% The pattern must be nonvar. +reduce(A,B) :- must_be(nonvar,A), reduce1(A,B). + +reduce1(num(N),A) :- number(N), atom_number(A,N). +reduce1(atm(A),A) :- atomic(A). +reduce1(\(A),B) :- nonvar(A), def(A,B). +reduce1(enc(A),B) :- atomic(A), www_form_encode(A,B). +reduce1(P:A,Q+A) :- rdf_global_id(P:'',Q). +reduce1(A/B,A+'/'+B). +reduce1(A+B,A1+B) :- reduce(A,A1). +reduce1(A+B,A+B1) :- reduce(B,B1). % nb to get past these, A and B must be nonvar +reduce1(A+B,AB) :- atom(A), atom(B), atom_concat(A,B,AB). +reduce1((A+B)+C,A+BC) :- reduce1(B+C,BC). +reduce1(A+(B+C),AB+C) :- reduce1(A+B,AB). + +% ---------- support predicates --------- + +atom_number1(Atom,Number) :- + (nonvar(Number) -> number(Number); true), + atom_number(Atom,Number). + +www_form_encode1(Atom,Encoded) :- + (nonvar(Encoded) -> atomic(Encoded); true), + www_form_encode(Atom,Encoded). + +atom_concat1(A,B,AB) :- + (nonvar(AB) -> atomic(AB); true), + atom_concat(A,B,AB). +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/p2r/lib/uripattern_dcg.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,67 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University of London + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +:- module(uripattern, [ + simplify/2 + , pattern_uri/2 + ]). + +:- use_module(library(semweb/rdf_db), [ rdf_global_id/2 ]). +:- use_module(library(dcg/basics)). + +:- multifile uripattern:def/2. + +%% pattern_uri(+P:uripattern,-X:uri) is det. +%% pattern_uri(-P:uripattern,+X:uri) is det. +pattern_uri(P,URI) :- + ( var(URI) -> uri(P,Codes,[]), atom_codes(URI,Codes) + ; atomic(URI) -> atom_codes(URI,Codes), uri(P,Codes,[]) + ). + +uri(P:A) --> {rdf_global_id(P:'',Q)}, atom(Q), uri(A). +uri(\(M)) --> {def(M,A)}, uri(A). +uri(num(N)) --> number(N). +uri(enc(A)) --> ( {var(A)} -> string(C), {atom_codes(B,C), www_form_encode(A,B)} + ; {www_form_encode(A,B)}, atom(B) ). +uri(atm(A)) --> ( {var(A)} -> string(C), {atom_codes(A,C)} + ; atom(A) ). +uri(A1/A2) --> uri(A1), "/", uri(A2). +uri(A1+A2) --> uri(A1), uri(A2). +uri(A) --> {atomic(A)}, atom(A). + +%% simplify(+P1:uri_pattern, -P2:uri_pattern) is nondet. +% Non-deterministic maximal reduction of URI pattern. +simplify(E1,E3) :- + reduce(E1,E2) *-> simplify(E2,E3); E1=E3. + +% simplify resource if possible, fails otherwise +% The pattern must be nonvar. +reduce(A,B) :- must_be(nonvar,A), reduce1(A,B). + +reduce1(num(N),A) :- number(N), atom_number(A,N). +reduce1(atm(A),A) :- atomic(A). +reduce1(\(A),B) :- nonvar(A), def(A,B). +reduce1(enc(A),B) :- atomic(A), www_form_encode(A,B). +reduce1(P:A,Q+A) :- rdf_global_id(P:'',Q). +reduce1(A/B,A+'/'+B). +reduce1(A+B,A1+B) :- reduce(A,A1). +reduce1(A+B,A+B1) :- reduce(B,B1). % nb to get past these, A and B must be nonvar +reduce1(A+B,AB) :- atom(A), atom(B), atom_concat(A,B,AB). +reduce1((A+B)+C,A+BC) :- reduce1(B+C,BC). +reduce1(A+(B+C),AB+C) :- reduce1(A+B,AB). +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/p2r/lib/uripattern_detdcg.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,81 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University of London + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +:- module(uripattern, [ + simplify/2 + , pattern_uri/2 + ]). + +:- use_module(library(semweb/rdf_db), [ rdf_global_id/2 ]). +:- use_module(library(uri), [ uri_encoded/3 ]). +:- use_module(library(dcg/basics)). + +:- multifile uripattern:def/2. + +%% pattern_uri(+P:uripattern,-X:uri) is det. +%% pattern_uri(-P:uripattern,+X:uri) is det. +pattern_uri(P,URI) :- + ( var(URI) -> uri(P,Codes,[]), atom_codes(URI,Codes) + ; atomic(URI) -> atom_codes(URI,Codes), uri(P,Codes,[]) + ). + +uri(P:A) --> !, {rdf_global_id(P:'',Q)}, atom(Q), uri(A). +uri(\(M)) --> !, {def(M,A)}, uri(A). +uri(num(N)) --> !, number(N). +uri(num(Len,N)) --> + { length(Codes,Len) }, + phrase(Codes), + { var(N) + -> number_codes(N,Codes) + ; format(codes(Codes),'~`0t~d~*+',[N,Len]) + }. +uri(tail(A)) --> !, + ( {nonvar(A)} -> atom(A), eos + ; string_without("",C), eos, {atom_codes(A,C)} + ). +uri(enc(A)) --> !, + ( {nonvar(A)} -> {uri_encoded(path,A,B)}, atom(B) + ; string_without("/",C), {atom_codes(B,C), uri_encoded(path,A,B)} + ). +uri(A1/A2) --> !, uri(A1), "/", uri(A2). +uri(A) --> {atomic(A)}, atom(A). + +%% simplify(+P1:uri_pattern, -P2:uri_pattern) is nondet. +% Non-deterministic maximal reduction of URI pattern. +simplify(E1,E3) :- + reduce(E1,E2) *-> simplify(E2,E3); E1=E3. + +% simplify resource if possible, fails otherwise +% The pattern must be nonvar. +reduce(A,B) :- must_be(nonvar,A), reduce1(A,B). + +reduce1(num(N),A) :- number(N), atom_number(A,N). +reduce1(num(L,N),A) :- number(N), format(atom(A),'~`0t~d~*+',[N,L]). % zero padded number +reduce1(\(A),B) :- must_be(nonvar,A), def(A,B). +reduce1(enc(A),B) :- atomic(A), uri_encoded(path,A,B). +reduce1(tail(A),A) :- atomic(A). +reduce1(P:A,P:B) :- reduce(A,B). +reduce1(P:A,PB) :- atomic(A), rdf_global_id(P:A,PB). +reduce1(P:(A/B),PA/B) :- reduce(P:A,PA). +reduce1(A/B,A1/B) :- reduce(A,A1). +reduce1(A/B,A/B1) :- reduce(B,B1). % nb to get past these, A and B must be nonvar +reduce1(A/B,AB) :- atom(A), atom(B), atomic_list_concat([A,B],'/',AB). +reduce1((A/B)/C,A/BC) :- reduce1(B/C,BC). +reduce1(A/(B/C),AB/C) :- reduce1(A/B,AB). +reduce1((A/B)/C,A/(B/C)). +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/p2r/lib/uripattern_detstring.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,74 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University of London + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +:- module(uripattern, [ + simplify/2 + , pattern_uri/2 + ]). + +:- use_module(library(semweb/rdf_db), [ rdf_global_id/2 ]). + +:- multifile uripattern:def/2. + +%% pattern_uri(+P:uripattern,-X:uri) is det. +%% pattern_uri(-P:uripattern,+X:uri) is det. +pattern_uri(P,URI) :- + ( var(URI) -> uri(P,String), atom_string(URI,String) + ; atomic(URI) -> atom_string(URI,String), uri(P,String) + ). + +uri(P:A,QB) :- + rdf_global_id(P:'',Q), + ( var(QB) -> uri(A,B), string_concat(Q,B,QB) + ; string_concat(Q,B,QB), uri(A,B) + ). +uri(\(M),B) :- def(M,A), uri(A,B). +uri(num(N),B) :- number_string(B,N). +uri(enc(A),B) :- (var(B) -> www_form_encode(A,B1), atom_string(B1,B); www_form_encode(A,B)). +uri(A1/A2,B) :- + ( var(B) -> uri(A1,B1), uri(A2,B2), atomics_to_string([B1,B2],"/",B) + ; sub_string(B,Bef,_,Aft,"/"), + sub_string(B,0,Bef,_,B1), uri(A1,B1), + sub_string(B,_,Aft,0,B2), uri(A2,B2) + ). +uri(A,B) :- atomic(A), atom_string(A,B). + + +%% simplify(+P1:uri_pattern, -P2:uri_pattern) is nondet. +% Non-deterministic maximal reduction of URI pattern. +simplify(E1,E3) :- + reduce(E1,E2) *-> simplify(E2,E3); E1=E3. + +% simplify resource if possible, fails otherwise +% The pattern must be nonvar. +reduce(A,B) :- must_be(nonvar,A), reduce1(A,B). + +reduce1(num(N),A) :- number(N), atom_number(A,N). +reduce1(\(A),B) :- must_be(nonvar,A), def(A,B). +reduce1(enc(A),B) :- atomic(A), www_form_encode(A,B). +reduce1(tail(A),A) :- atomic(A). +reduce1(P:A,P:B) :- reduce(A,B). +reduce1(P:A,PB) :- atomic(A), rdf_global_id(P:A,PB). +reduce1(P:(A/B),PA/B) :- reduce(P:A,PA). +reduce1(A/B,A1/B) :- reduce(A,A1). +reduce1(A/B,A/B1) :- reduce(B,B1). % nb to get past these, A and B must be nonvar +reduce1(A/B,AB) :- atom(A), atom(B), atomic_list_concat([A,B],'/',AB). +reduce1((A/B)/C,A/BC) :- reduce1(B/C,BC). +reduce1(A/(B/C),AB/C) :- reduce1(A/B,AB). +reduce1((A/B)/C,A/(B/C)). +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/p2r/lib/uripattern_string.pl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,72 @@ +/* Part of DML (Digital Music Laboratory) + Copyright 2014-2015 Samer Abdallah, University of London + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +:- module(uripattern, [ + simplify/2 + , pattern_uri/2 + ]). + +:- use_module(library(semweb/rdf_db), [ rdf_global_id/2 ]). + +:- multifile uripattern:def/2. + +%% pattern_uri(+P:uripattern,-X:uri) is det. +%% pattern_uri(-P:uripattern,+X:uri) is det. +pattern_uri(P,URI) :- + ( var(URI) -> uri(P,String), atom_string(URI,String) + ; atomic(URI) -> atom_string(URI,String), uri(P,String) + ). + +uri(P:A,QB) :- + rdf_global_id(P:'',Q), + ( var(QB) -> uri(A,B), string_concat(Q,B,QB) + ; string_concat(Q,B,QB), uri(A,B) + ). +uri(\(M),B) :- def(M,A), uri(A,B). +uri(num(N),B) :- number_string(B,N). +uri(enc(A),B) :- ( var(B) -> www_form_encode(A,B1), atom_string(B1,B); www_form_encode(A,B)). +uri(atm(A),B) :- atom_string(A,B). +uri(A1/A2,B) :- uri(A1+'/'+A2,B). +uri(A1+A2,B) :- + ( var(B) -> uri(A1,B1), uri(A2,B2), string_concat(B1,B2,B) + ; string_concat(B1,B2,B), uri(A1,B1), uri(A2,B2) + ). +uri(A,B) :- atomic(A), atom_string(A,B). + + +%% simplify(+P1:uri_pattern, -P2:uri_pattern) is nondet. +% Non-deterministic maximal reduction of URI pattern. +simplify(E1,E3) :- + reduce(E1,E2) *-> simplify(E2,E3); E1=E3. + +% simplify resource if possible, fails otherwise +% The pattern must be nonvar. +reduce(A,B) :- must_be(nonvar,A), reduce1(A,B). + +reduce1(num(N),A) :- number(N), atom_number(A,N). +reduce1(atm(A),A) :- atomic(A). +reduce1(\(A),B) :- nonvar(A), def(A,B). +reduce1(enc(A),B) :- atomic(A), www_form_encode(A,B). +reduce1(P:A,Q+A) :- rdf_global_id(P:'',Q). +reduce1(A/B,A+'/'+B). +reduce1(A+B,A1+B) :- reduce(A,A1). +reduce1(A+B,A+B1) :- reduce(B,B1). % nb to get past these, A and B must be nonvar +reduce1(A+B,AB) :- atom(A), atom(B), atom_concat(A,B,AB). +reduce1((A+B)+C,A+BC) :- reduce1(B+C,BC). +reduce1(A+(B+C),AB+C) :- reduce1(A+B,AB). +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cpack/p2r/rdf/cpack/p2r.ttl Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,21 @@ +@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . +@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . +@prefix dcterms: <http://purl.org/dc/terms/> . +@prefix cpack: <http://cliopatria.swi-prolog.org/schema/cpack#> . + +<> a cpack:Ontology ; + cpack:packageName "p2r" ; + dcterms:title "Prolog to RDF entailment" ; + cpack:author [ foaf:name "Samer Abdallah" ; + foaf:mbox <mailto:s.abdallah@ucl.ac.uk> ; + ] ; + cpack:primaryRepository + [ a cpack:GitRepository ; + cpack:gitURL <git://eculture.cs.vu.nl/home/janw/git/ClioPatria/p2r.git> + ] ; + cpack:description + +"""This package provides an entailment method that maps from Prolog goals. +""" . + +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dml-cla/dml-analyser.cfg Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,3 @@ +[Ontology] + +dmlclaOntology_URI = ontologies/dmlclaOntology.n3
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dml-cla/ontologies/dmlclaOntology.n3 Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,179 @@ +@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . +@prefix owl: <http://www.w3.org/2002/07/owl#> . +@prefix xsd: <http://www.w3.org/2001/XMLSchema#> . +@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . +@prefix dml: <http://dml.org/dml/cla#> . +@prefix vamp: <http://purl.org/ontology/vamp/> . +@prefix dc: <http://purl.org/dc/elements/1.1/> . +@prefix qmplugbase: <http://vamp-plugins.org/rdf/plugins/qm-vamp-plugins#> . +@prefix silvetplugbase: <http://vamp-plugins.org/rdf/plugins/silvet#> . + +# This file defines an ontology, which also imports the vamp plugin ontology +<dmlclaOntology.n3> a owl:Ontology; + owl:imports <http://vamp-plugins.org/rdf/plugins/qm-vamp-plugins> . + +# Our highest level class is a dml:Transform +dml:Transform a owl:Class . +dml:CollectionLevelAnalysis rdfs:subClassOf dml:Transform . + +dml:type rdfs:subPropertyOf rdf:type . + +vamp:Transform rdfs:subClassOf dml:Transform . + +dml:input a owl:ObjectProperty . +dml:output a owl:ObjectProperty . + +# A CollectionLevelKeyTonic is a CollectionLevelAnalysis, +# it requires at least one input, and these inputs +# will all be outputs from the qm keydetector vamp plugin. +dml:CollectionLevelKeyTonic rdfs:subClassOf dml:CollectionLevelAnalysis ; + owl:equivalentClass [ a owl:Restriction ; + owl:onProperty dml:collectionLevelKeyTonicInput ; + owl:minCardinality 1] ; + owl:equivalentClass [ a owl:Restriction ; + owl:onProperty dml:collectionLevelKeyTonicOutput ; + owl:cardinality 1] . + +dml:collectionLevelKeyTonicInput rdfs:subPropertyOf dml:input ; + rdfs:range qmplugbase:qm-keydetector_output_tonic . + +dml:collectionLevelKeyTonicOutput rdfs:subPropertyOf dml:output ; + rdfs:range dml:KeyTonicHistogram . + +# A (Tonic) Key Histogram is defined as: +dml:KeyTonicHistogram a vamp:DenseOutput ; + vamp:identifier "keytonichistogram" ; + dc:title "Key Tonic Histogram" ; + dc:description "Histogram of estimated tonic key (from C major = 1 to B major = 12)." ; + vamp:fixed_bin_count "true" ; + vamp:unit "" ; + vamp:bin_count 12 ; + vamp:bin_names ( "C" "C#" "D" "D#" "E" "F" "F#" "G" "G#" "A" "A#" "B"); + owl:intersectionOf ( + [ a owl:Restriction; + owl:onProperty dml:sample_count ; + owl:cardinality 1] + [ a owl:Restriction; + owl:onProperty dml:bin ; + owl:cardinality 12] ) . + +dml:bin a owl:ObjectProperty ; + rdfs:range dml:Bin . + +dml:Bin a owl:Class; + owl:intersectionOf ( + [ a owl:Restriction; + owl:onProperty dml:bin_number ; + owl:cardinality 1] + [ a owl:Restriction; + owl:onProperty dml:bin_value ; + owl:cardinality 1] + [ a owl:Restriction; + owl:onProperty dml:bin_name ; + owl:minCardinality 0] +# [ a owl:Restriction; +# owl:onProperty dml:bin_lower_limit ; +# owl:cardinality 1] +# [ a owl:Restriction; +# owl:onProperty dml:bin_upper_limit ; +# owl:cardinality 1] + ) . + +dml:bin_number a owl:DatatypeProperty ; + rdfs:range xsd:integer . + +dml:bin_value a owl:DatatypeProperty . + +dml:bin_name a owl:DatatypeProperty ; + rdfs:range xsd:string . + +dml:sample_count a owl:DatatypeProperty ; + rdfs:range xsd:integer . + +# A Key Histogram is defined as: +dml:KeyHistogram a vamp:DenseOutput ; + vamp:identifier "keyhistogram" ; + dc:title "Key Histogram" ; + dc:description "Histogram of estimated key (from C major = 1 to B major = 12 and C minor = 13 to B minor = 24)." ; + vamp:fixed_bin_count "true" ; + vamp:unit "" ; + vamp:bin_count 24 ; + vamp:bin_names ( "Cmaj" "C#maj" "Dmaj" "D#maj" "Emaj" "Fmaj" "F#maj" "Gmaj" "G#maj" "Amaj" "A#maj" "Bmaj" "Cmin" "C#min" "Dmin" "D#min" "Emin" "Fmin" "F#min" "Gmin" "G#min" "Amin" "A#min" "Bmin"); + dml:sample_count [ a xsd:integer] ; + owl:equivalentClass [ a owl:Restriction ; + owl:onProperty dml:bin ; + owl:cardinality 24] . + + + +# A CollectionLevelTuningFrequencyStatistics is a CollectionLevelAnalysis, +# it requires at least one input, and these inputs +# will all be outputs from the silvet transcription plugin. +dml:CollectionLevelTuningFrequencyStatistics rdfs:subClassOf dml:CollectionLevelAnalysis ; + owl:equivalentClass [ a owl:Restriction ; + owl:onProperty dml:collectionLevelTuningFrequencyStatisticsInput ; + owl:minCardinality 1] ; + owl:equivalentClass [ a owl:Restriction ; + owl:onProperty dml:collectionLevelTuningFrequencyStatisticsOutput ; + owl:cardinality 1] . + +dml:collectionLevelTuningFrequencyStatisticsInput rdfs:subPropertyOf dml:input ; + rdfs:range silvetplugbase:silvet_output_notes . + +dml:collectionLevelTuningFrequencyStatisticsOutput rdfs:subPropertyOf dml:output ; + rdfs:range dml:TuningFrequencyStatistics . + +# TuningFrequencyStatistics is defined as: +dml:TuningFrequencyStatistics a vamp:DenseOutput ; + vamp:identifier "tuningfrequencystatistics" ; + dc:title "Tuning Frequency Statistics" ; + dc:description "Statistics of Estimated Tuning Frequency including mean, standard deviation and histogram" ; + owl:intersectionOf ( + [ a owl:Restriction; + owl:onProperty dml:mean ; + owl:cardinality 1] + [ a owl:Restriction; + owl:onProperty dml:std_dev ; + owl:cardinality 1] + [ a owl:Restriction; + owl:onProperty dml:bin ; + owl:cardinality 100]) . + +dml:mean a owl:DatatypeProperty ; + rdfs:range xsd:float . + +dml:std_dev a owl:DatatypeProperty ; + rdfs:range xsd:float . + +# A CollectionLevelSemitone is a CollectionLevelAnalysis, +# it requires at least one input, and these inputs +# will all be outputs from the http://vamp-plugins.org/rdf/plugins/silvet#silvet plugin. +dml:CollectionLevelSemitone rdfs:subClassOf dml:CollectionLevelAnalysis ; + owl:intersectionOf ( + [ a owl:Restriction ; + owl:onProperty dml:collectionLevelSemitoneInput ; + owl:minCardinality 1] + [ a owl:Restriction ; + owl:onProperty dml:collectionLevelSemitoneOutput ; + owl:cardinality 1] ) . + +dml:collectionLevelSemitoneInput rdfs:subPropertyOf dml:input ; + rdfs:range silvetplugbase:silvet_output_notes . + +dml:collectionLevelSemitoneOutput rdfs:subPropertyOf dml:output ; + rdfs:range dml:SemitoneHistogram . + +# A Semitone Histogram is defined as: +dml:SemitoneHistogram a vamp:DenseOutput ; + vamp:identifier "semitonehistogram" ; + dc:title "Semitone Histogram" ; + dc:description "Histogram of estimated semitones" ; + vamp:fixed_bin_count "false" ; + vamp:unit "" ; + owl:intersectionOf ( + [ a owl:Restriction; + owl:onProperty dml:sample_count ; + owl:cardinality 1] + [ a owl:Restriction; + owl:onProperty dml:bin ; + owl:minCardinality 1] ) .
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dml-cla/python/aggregate.py Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,37 @@ +# Part of DML (Digital Music Laboratory) +# Copyright 2014-2015 Samer Abdallah, University College London + +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +import sys,traceback + +def for_each(items,f): + bad=[] + num_ok=0 + + for x in items: + try: f(x); num_ok+=1 + except Exception as ex: + bad.append({'item':x, 'error':str(ex)}) + + # printing exception info + #traceback.print_exc() + + return {'ok_count':num_ok, 'failures':bad} + +def discrete_hist(domain,counts): return {'domain':domain, 'counts':counts} +def continuous_hist(edges,counts): return {'edges':edges,'counts':counts} +def decode_tagged(parser_table, v): return parser_table[v['tag']](v['value']) +def print_status(msg): sys.stderr.write(msg+'\n')
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dml-cla/python/chord_seq_key_relative.py Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,386 @@ +#!/usr/bin/python +# Part of DML (Digital Music Laboratory) +# Copyright 2014-2015 Daniel Wolff, City University + +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +# -*- coding: utf-8 -*- +__author__="wolffd" + +# json testfile +# +#{ "module":"chord_seq_key_relative", +# "function":"aggregate", +# "arguments": [[ +# {"keys": { "tag": "csv", "value":"D:\\mirg\\Chord_Analysis20141216\\Beethoven\\qm_vamp_key_standard.n3_50ac9\\1CD0000653_BD01_vamp_qm-vamp-plugins_qm-keydetector_key.csv"}, +# "chords": { "tag": "csv", "value":"D:\\mirg\\Chord_Analysis20141216\\Beethoven\\chordino_simple.n3_1a812\\1CD0000653_BD01_vamp_nnls-chroma_chordino_simplechord.csv"}, +# "trackuri": "Eins"}, +# {"keys": { "tag": "csv", "value":"D:\\mirg\\Chord_Analysis20141216\\Beethoven\\qm_vamp_key_standard.n3_50ac9\\1CD0000653_BD01_vamp_qm-vamp-plugins_qm-keydetector_key.csv"}, +# "chords": { "tag": "csv", "value":"D:\\mirg\\Chord_Analysis20141216\\Beethoven\\chordino_simple.n3_1a812\\1CD0000653_BD01_vamp_nnls-chroma_chordino_simplechord.csv"}} +# ]] +#} + +# these for file reading etc +import re +import os +import csv +import numpy + +# spmf functions +import chord_seq_spmf_helper as spmf + +from aggregate import * +from csvutils import * + +# --- +# roots +# --- +chord_roots = ["C","D","E","F","G","A","B"] + +# create a dictionary for efficiency +roots_dic = dict(zip(chord_roots, [0,2,4,5,7,9,11])) + +mode_lbls = ['major','minor'] +mode_dic = dict(zip(mode_lbls, range(0,2))) +# --- +# types +# --- +type_labels = ["", "6", "7", "m","m6", "m7", "maj7", "m7b5", "dim", "dim7", "aug"] +type_dic = dict(zip(type_labels, range(0,len(type_labels)))) + +base_labels = ["1","","2","b3","3","4","","5","","6","b7","7"] +#base_dic = dict(zip(base_labels, range(0,len(base_labels)))) + +# functions +root_funs_maj = ['I','#I','II','#II','III','IV','#IV','V','#V','VI','#VI','VII'] +root_funs_min = ['I','#I','II','III','#III','IV','#IV','V','VI','#VI','VII','#VII'] +# dan's suggestion +#root_funs_maj = ['I','#I','II','#II','(M)III','IV','#IV','V','#V','VI','#VI','(M)VII'] +#root_funs_min = ['I','#I','II','(m)III','#III','IV','#IV','V','VI','#VI','(m)VII','#VII'] + +fun_dic_maj = dict(zip(range(0,len(root_funs_maj)),root_funs_maj)) +fun_dic_min = dict(zip(range(0,len(root_funs_min)),root_funs_min)) +# regex that separates roots and types, and gets chord base +# this only accepts chords with a sharp (#) and no flats +p = re.compile(r'(?P<root>[A-G,N](#|b)*)(?P<type>[a-z,0-9]*)(/(?P<base>[A-G](#|b)*))*') +p2 = re.compile(r'(?P<key>[A-G](#|b)*)(\s/\s[A-G](#|b)*)*\s(?P<mode>[major|minor]+)') +pclip = re.compile(r'(?P<clipid>[A-Z,0-9]+(\-|_)[A-Z,0-9]+((\-|_)[A-Z,0-9]+)*((\-|_)[A-Z,0-9]+)*)_(?P<type>vamp.*).(?P<ext>(csv|xml|txt|n3)+)') + + + +def chords_from_csv(filename): + # we assume CSV: time, chord_string + # return (time, chord_string) + return csv_map_rows(filename,2, lambda row:(float(row[0]),row[1])) + +def keys_from_csv(filename): + # we assume CSV: time, key_code, key_string + # return ( time, key_code, key_string) + return csv_map_rows(filename,3, lambda row:(float(row[0]),row[1],row[2])) + +# parsers for n3 / csv +key_parser_table = { 'csv':keys_from_csv } +chord_parser_table = { 'csv':chords_from_csv } + +# extracts relative chord sequences from inputs of chord / key data +# input list of pairs with instances of features: +# (['chords'] chordino_simple.n3_1a812 , ['keys'] qm_vamp_key_standard.n3_50ac9, +# optional: ['trackuri'] trackidentifier ) +# @note: in future we could add support for qm_key_tonic input +# +# opts : dictionary with opts["spm_algorithm"] = SPADE, TKS or ClaSP algorithm? +# and opts["spm_options"] = "70%" +# output: +# 'sequences': seq, 'support': sup + +trackctr = 0 + +def aggregate(inputs,opts={}): + print_status('In chord_seq_key_relative') + + + # SPADE, TKS or ClaSP algorithm? + algo = opts.get("spm_algorithm","CM-SPADE") + + # number of sequences + maxseqs = int(opts.get("spm_maxseqs",500)/2) + + # min. length of sequences + minlen = int(opts.get("spm_minlen",2)) + + # min. length of sequences in seconds + maxtime = int(opts.get("spm_maxtime",1*60)/2) + + ignoreN = int(opts.get("spm_ignore_n",1)) + + # min. length of sequences + minsup = int(opts.get("spm_minsupport",50)) + + # we now safe the mode of each piece + # to treat them separately + out_chords = [dict(), dict()]; + # generate dict[trackuri] = [ (time,key,mode,fun,typ,bfun) ] + def accum(item): + global trackctr + # increase virtual identifier + trackctr += 1 + + # get duration and normalised frequency for all tuning pitches (A3,A4,A5) + keys = decode_tagged(key_parser_table,item['keys']) + + # get most frequent key + key,mode = most_frequent_key(keys) + + relchords = [] + for (time,chord) in decode_tagged(chord_parser_table,item['chords']): + + # ignore chords that are 'N': + # a. the open pattern matching allows for arbitrary chords + # to appear inbetween those in a sequence + # b. the N chord potentially maps to any contents, so the + # inclusion of N chord has limited (or no) use + + # get chord function + (root,fun,typ, bfun) = chord2function(chord, key,mode) + + if not (ignoreN & (root == -1)): + # translate into text + txt = fun2txt(fun,typ, bfun, mode) + # print 'Chord: ' + chord + ', function: ' + txt + + # add to chords of this clip + relchords.append((time,key,mode,fun,typ,bfun)) + + # save results into dict for this track + trackuri = item.get('trackuri',trackctr) + out_chords[mode][trackuri] = relchords + + # collate relative chord information per file + st=for_each(inputs,accum) + # print_status('Finished accumulating') + + if trackctr < 2: + raise Exception("Need more than 1 track") + + seq = [[],[]] + sup = [[],[]] + + for mode in [0,1]: + # write to spmf file + spmffile = spmf.relchords2spmf(out_chords[mode]) + #print_status('Wrote SPMF data ' + spmffile.name) + + + # run sequential pattern matching + if algo == "TKS": + algoopts = opts.get("spm_options","") + seqfile = spmf.spmf(spmffile.name,'TKS',[str(maxseqs), algoopts]) + elif algo == "ClaSP": + algoopts = opts.get("spm_options",str(minsup) + "%") + seqfile = spmf.spmf(spmffile.name,'ClaSP',[algoopts, str(minlen)], timeout = maxtime) + elif algo == "SPADE": + algoopts = opts.get("spm_options",str(minsup) + "%") + seqfile = spmf.spmf(spmffile.name,'SPADE',[algoopts, str(minlen)], timeout = maxtime) + else: + print_status('Running CM-SPADE algo') + algoopts = opts.get("spm_options",str(minsup) + "%") + seqfile = spmf.spmf(spmffile.name,'CM-SPADE',[algoopts, str(minlen)], timeout = maxtime) + + #seqfile = spmf.spmf(spmffile.name,'BIDE+',['70%']) + #seqfile = "D:\mirg\Chord_Analysis20141216\Beethoven_60.txt" + + #print_status('SPADE finished in ' + seqfile) + # parse spmf output + seq[mode],sup[mode] = spmf.spmf2table(seqfile) + + #clean up + os.remove(spmffile.name) + os.remove(seqfile) + + # fold back sequences and support + # note that this results in the sequences being truncated together below + seq = [item for sublist in seq for item in sublist] + sup = [item for sublist in sup for item in sublist] + + # filter according to min. sequencelength and number of sequences + seq_out = [] + sup_out = [] + seq_count = 0 + + # sort in descending support and pick up sequences of sufficient length + for i in numpy.argsort(sup)[::-1]: + if len(seq[i]) >= minlen: + seq_out.append(seq[i]) + sup_out.append(sup[i]) + seq_count += 1 + + if seq_count >= maxseqs: + break + + return { 'result': { 'sequences': seq_out, 'support': sup_out}, + 'stats' : st } + + +# most simple note2num +def note2num(notein = 'Cb'): + base = roots_dic[notein[0]] + if len(notein) > 1: + if notein[1] == 'b': + return (base - 1) % 12 + elif notein[1] == '#': + return (base + 1) % 12 + else: + print "Error parsing chord " + notein + raise + else: + return base % 12 + + +# convert key to number +def key2num(keyin = 'C major'): + # --- + # parse key string: separate root from rest + # --- + sepstring = p2.match(keyin) + if not sepstring: + print "Error parsing key " + keyin + raise + + # get relative position of chord and adapt for flats + key = sepstring.group('key') + key = note2num(key) + + # --- + # parse mode. care for (unknown) string + # --- + mode = sepstring.group('mode') + + if mode: + mode = mode_dic[mode] + else: + mode = -1 + + return (key, mode) + + + +# convert chord to relative function +def chord2function(cin = 'B',key=3, mode=0): + # --- + # parse chord string: separate root from rest + # --- + sepstring = p.match(cin) + + # test for N code -> no chord detected + if sepstring.group('root') == 'N': + return (-1,-1,-1,-1) + + # get root and type otherwise + root = note2num(sepstring.group('root')) + type = sepstring.group('type') + + typ = type_dic[type] + + # get relative position + fun = (root - key) % 12 + + #--- do we have a base key? + # if yes return it relative to chord root + # --- + if sepstring.group('base'): + broot = note2num(sepstring.group('base')) + bfun = (broot - root) % 12 + else: + # this standard gives 1 as a base key if not specified otherwise + bfun = 0 + + + # --- + # todo: integrate bfun in final type list + # --- + + return (root,fun,typ,bfun) + +# reads in any csv and returns a list of structure +# time(float), data1, data2 ....data2 +def read_vamp_csv(filein = ''): + output = [] + with open(filein, 'rb') as csvfile: + contents = csv.reader(csvfile, delimiter=',', quotechar='"') + for row in contents: + output.append([float(row[0])] + row[1:]) + return output + + + +# histogram of the last entry in a list +# returns the most frequently used key +def histogram(keysin = []): + # build histogram + histo = dict() + for row in keysin: + histo[row[-1]] = histo.get(row[-1], 0) + 1 + + # return most frequent key + return (histo, max(histo.iterkeys(), key=(lambda key: histo[key]))) + +def most_frequent_key(keys): + # delete 'unknown' keys + keys = [(time,knum,key) for (time,knum,key) in keys if not key == '(unknown)'] + + # aggregate to one key + (histo, skey) = histogram(keys) + + # bet key number + (key,mode) = key2num(skey) + return key,mode + + + +def fun2txt(fun,typ, bfun,mode): + # now we can interpret this function + # when given the mode of major or minor. + if (fun >= 0): + if (mode == 1): + pfun = fun_dic_min[fun] + md = '(m)' + elif (mode == 0): + pfun = fun_dic_maj[fun] + md = '(M)' + else: + return 'N' + + #if typ == 'm': + # print 'Key: ' + skey + ', chord: ' + chord + ' function ' + str(fun) + ' type ' + typ + ' bfun ' + str(bfun) + type = type_labels[typ] if typ > 0 else '' + + blb = '/' + base_labels[bfun] if (bfun >= 0 and base_labels[bfun]) else '' + return md + pfun + type + blb + +def fun2num(fun,typ, bfun,mode): + # now we can interpret this function + if not fun == -1: + return (mode+1)* 1000000 + (fun+1) * 10000 + (typ+1) * 100 + (bfun+1) + else: + return 0 + + +if __name__ == "__main__": + #chords2functions() + print "Creates a key-independent chord histogram. Usage: chord2function path_vamp_chords path_vamp_keys" + # sys.argv[1] + result = folder2histogram() + print "Please input a description for the chord function histogram" + c2j.data2json(result)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dml-cla/python/chord_seq_spmf_helper.py Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,349 @@ +#!/usr/bin/python +# Part of DML (Digital Music Laboratory) +# Copyright 2014-2015 Daniel Wolff, City University + +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +# -*- coding: utf-8 -*- +# +# This is a data conversion wrapper for the spmf toolkit +__author__="Daniel Wolff" + +import chord_seq_key_relative as c2f +import csv +import re +import tempfile +import subprocess +import os +import platform +from aggregate import * +from csvutils import * + +# command for threading +import subprocess, threading +import signal + +# limit for sequences read +max_lines = 10000000 + + +class Command(object): + def __init__(self, cmd): + self.cmd = cmd + self.process = None + self.text = 'SPMF terminated unexpectedly' + + def run(self, timeout): + def target(): + print_status('Thread started') + if 'Win' in platform.system(): + self.process = subprocess.Popen(self.cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT,shell=False) + else: + self.process = subprocess.Popen(self.cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT,shell=False, preexec_fn=os.setsid) + + self.text = self.process.stdout.read() + self.process.communicate() + + print_status('Thread finished') + + thread = threading.Thread(target=target) + thread.start() + + # wait until timeout if specified + if timeout > 0: + thread.join(timeout) + if thread.is_alive(): + print_status('Terminating process') + if 'Win' in platform.system(): + self.text = 'Terminating SPMF after ' + str(timeout) + ' seconds' + self.process.kill() + else: + self.text = 'Terminating SPMF after ' + str(timeout) + ' seconds' + os.killpg(self.process.pid, signal.SIGTERM) + thread.join() + + else: + thread.join() + + # return retcode + return (self.process.returncode, self.text) + + +# runs the spmf java with method and parameters as specified +# 1st parameter: usually minimal support of sequence +# 2nd parameter: minimal length of sequence +# run spmf with java -jar spmf.jar run CM-SPADE Beethoven.spmf output.txt 50% 3 +def spmf(file,method = "CM-SPADE", params=["70%", "3"], timeout=10): + + # create outpput file name + outfile = tempfile.mktemp() + command = ["java"] + command.extend(["-Xmx1g","-jar","spmf.jar","run"]) + command.extend([method, file, outfile]) + command.extend(params) + + #print_status('CWD:' + os.getcwd()) + #print_status('Calling SPMF: ' + ' '.join(command)) + + proc = Command(command) + retcode, text = proc.run(timeout=timeout) + + if (retcode==0): + #print_status("Finished") + return outfile + else: + print_status( "Terminated with errors" + text) + return outfile + + +# takes a dictionary of chords for one or multiple files +# in the form of dict[clipid] = [ (time,key,mode,fun,typ,bfun) ] +# and converts it into spmf +# +# output: tempfile of spmf output +def relchords2spmf(input): + + # choose random filename for spmf location + # open spmf file + fspmf = tempfile.NamedTemporaryFile(delete=False) + + # --- + # this is writing the spmf format + for track,trackdata in input.iteritems(): + # write chord sequence as one line in spmf file + for (time,key,mode,fun,typ,bfun) in trackdata: + chord = c2f.fun2num(fun,typ,bfun,mode) + + # -1 is the spearator of items or itemsets + fspmf.write(str(chord) + ' -1 ') + + # the sequence is closed with -2 + fspmf.write('-2\n') + + fspmf.close() + + return fspmf + + +## takes a dictionary of chords for one or multiple files +## in the form of dict[clipid] = [ (time,key,mode,fun,typ,bfun) ] +## and converts it into spmf +#def folder2spmf(folderin = 'D:/mirg/Chord_Analysis20141216/', fileout = 'D:/mirg/Chord_Analysis20141216/Beethoven.spmf'): +# +# # get chords for all files +# output = c2f.folder2functions(folderin) +# +# # open log +# logfile = fileout + '.dic' +# csvfile = open(logfile, "w+b") #opens the file for updating +# w = csv.writer(csvfile) +# w.writerow(["track","key","mode","sequence length"]) +# +# # open spmf file +# fspmf = open(fileout,'w') +# # --- +# # this is writing the spmf format +# for track,trackdata in output.iteritems(): +# # write chord sequence as one line in spmf file +# for (time,key,mode,fun,typ,bfun) in trackdata: +# chord = c2f.fun2num(fun,typ,bfun,mode) +# +# # -1 is the spearator of items or itemsets +# fspmf.write(str(chord) + ' -1 ') +# +# # the sequence is closed with -2 +# fspmf.write('-2\n') +# w.writerow([track, str(key), str(mode),str(len(trackdata))]) +# +# fspmf.close() +# csvfile.close() + +# read an spmf file +# def parsespmf(filein = 'D:/mirg/Chord_Analysis20141216/Beethoven.txt'): + +# string sourcefile path to the source spmf file with chords from records +# string patternfile path to the pattern spmf file +# matches each of the patterns in patternfile +# to the chord sequences in sourcefile +def match(sourcefile = 'D:/mirg/Chord_Analysis20141216/Beethoven.spmf',sourcedict = 'D:/mirg/Chord_Analysis20141216/Beethoven.spmf.dic', patternfile = 'D:/mirg/Chord_Analysis20141216/Beethoven_70.txt'): + + # define regular expressions for matching + # closed sequence + + # --- + # we here assume that there are more files than patterns, + # as display of patterns is somehow limited + # therefore parallelisation will be 1 pattern/multiple files + # per instance + # --- + + patterns = spmf2table(patternfile) + + # --- + # now for the input sequences + # --- + # first: read track dictionary and get the input sequence names + tracks = getClipDict(sourcedict) + + # read the input sequences + source = open(sourcefile, 'r') + patterns_tracks = dict() + tracks_patterns = dict() + + # iterate over all tracks - to be parallelised + for track,count in tracks.iteritems(): + sequence = readSequence(next(source)) + print track + for p in range(0,len(patterns)): + # match open or closed pattern + if openPatternInSequence(sequence,patterns[p]): + if patterns_tracks.has_key(p): + patterns_tracks[p].append(track) + else: + patterns_tracks[p] = [track] + + if tracks_patterns.has_key(track): + tracks_patterns[track].append(p) + else: + tracks_patterns[track] = [p] + + # write clip index to files + writeAllPatternsForClips('D:/mirg/Chord_Analysis20141216/',tracks_patterns) + #print patterns_tracks[p] + +# writes results to disk per key +def writeAllPatternsForClips(path = 'D:/mirg/Chord_Analysis20141216/',tracks_patterns = dict()): + + for name, contents in tracks_patterns.iteritems(): + # create new file + csvfile = open(path + '/' + name + '_patterns.csv', "w+b") #opens the file for updating + w = csv.writer(csvfile) + + # compress pattern data ? + # e.g. 2 columns from-to for the long series of atomic increments + + w.writerow(contents) + csvfile.close() + +# reads output of spmf to table +def spmf2table(patternfile): + + patterns = [] + supports = [] + patterns_raw = [] + linecnt = 0 + # read all patterns + with open(patternfile, 'r') as f: + for line in f: + # a line looks like this: + # 1120401 -1 1120101 -1 #SUP: 916 + + # save pattern + #patterns.append(pattern) + #numeric? or just regex? + # we'll use string, so any representation works + + pattern,support = readPattern(line) + patterns.append(pattern) + supports.append(support) + + # here's the regex + # first the spacer + #spacer = '((\s-1\s)|((\s-1\s)*[0-9]+\s-1\s)+)' + #repattern = r'(' + spacer + '*' + spacer.join(pattern) + spacer + '*' + '.*)' + #print repattern + #patterns.append(re.compile(repattern)) + linecnt +=1 + + if linecnt > max_lines: + print_status('Not reading more than ' + str(max_lines) + ' lines :(') + break + + return patterns,supports + +# @param line: reads a line in the spmf output file with frequent patterns +# returns list of strings "pattern" and int "support" +def readPattern(line): + # locate support + suploc = line.find('#SUP:') + + # test whether we have a broken file + if suploc > 6: + support = int(line[suploc+5:-1]) + else: + support = -1 + + # extract pattern + pattern = line[:suploc].split(' -1 ')[:-1] + return (pattern,support) + +# @param line: reads a line in the spmf input file with chord sequence +# returns list of strings "pattern" and int "support" +def readSequence(line): + # locate support + suploc = line.find('-2') + + # extract pattern + sequence = line[:suploc].split(' -1 ')[:-1] + return sequence + +# finds open pattern in sequences +# @param [string] sequence input sequence +# @param [string] pattern pattern to be found +def openPatternInSequence(sequence,pattern): + patidx = 0 + for item in sequence: + if item == pattern[patidx]: + patidx +=1 + + # did we complet the pattern? + if patidx >= (len(pattern)-1): + # could also return the start index + return 1 + # finished the sequence before finishing pattern + return 0 + +# finds closed pattern in sequences +# @param [string] sequence input sequence +# @param [string] pattern pattern to be found +def closedPatternInSequence(sequence,pattern): + # alternatively use KnuthMorrisPratt with unsplit string + return ''.join(map(str, pattern)) in ''.join(map(str, sequence)) + +# reads all track names from the dictionary created by folder2spmf +# @param sourcedict path to dictionary +def getClipDict(sourcedict): + + f = open(sourcedict, 'rt') + reader = csv.reader(f) + + # skip first roow that contains legend + next(reader) + + # get following rows + tracks = dict() + for (track,key,mode,seqlen) in reader: + tracks[track]= (key,mode,seqlen) + #tracks.append((track,count)) + + f.close() + return tracks + + +# run spmf afterwards with java -jar spmf.jar run CM-SPADE Beethoven.spmf output.txt 50% 3 +if __name__ == "__main__": + #folder2spmf() + #match() + print "huhu"
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dml-cla/python/csvutils.py Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,71 @@ +# Part of DML (Digital Music Laboratory) +# Copyright 2014-2015 Samer Abdallah, University College London + +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +# -*- coding: utf-8 -*- +__author__="samer" + +import csv +from warnings import warn + +import sys +import time +def print_status(msg): sys.stderr.write(msg+'\n') + +# call function for each row of a CSV that has ncols columns. +# A warning is printed if any rows have the wrong number of columns. +# +# csv_for_each : string, integer, (list(string) -> void) -> void +def csv_for_each(filename,ncols,f): + badcount=0 + with open(filename,'rb') as csvfile: + contents=csv.reader(csvfile, delimiter=',',quotechar='"') + for row in contents: + if len(row)==ncols: f(row) + else: badcount += 1 + # if badcount>0: warn("Ignoring %d malformed rows in CSV file %s" % (badcount,filename)) + +# map f over list of rows from CSV to list of values +# +# csv_map_rows : string, integer, (list(string) -> A) -> list(A) +def csv_map_rows(filename,ncols,f): + good=[] + def append_row(row): good.append(f(row)) + csv_for_each(filename,ncols,append_row) + return good + +def id(x): return x + + +# returns selected columns of CSV, one list per column +# +# csv_columns : string, integer, list(integer) -> list(list(string)) +def csv_columns(filename,ncols,columns): + def getter(i): return lambda r:r[i] + return csv_map_columns(filename,ncols,map(getter,columns)) + +# returns selected columns of CSV, one list per column, with +# a function supplied for converting one row of strings to a row of data +# +# csv_map_columns : string, integer, list(list(string)->A) -> list(list(A)) +def csv_map_columns(filename,ncols,sels): + ii=range(0,len(sels)) + data=[[] for i in ii] + def append_columns(row): + for i in ii: data[i].append(sels[i](row)) + csv_for_each(filename,ncols,append_columns) + + return data
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dml-cla/python/json_wrapper.py Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,52 @@ +#!/usr/bin/env python +# Part of DML (Digital Music Laboratory) +# Copyright 2014-2015 Samer Abdallah, University College London + +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +# -*- coding: utf-8 -*- +__author__="samer" + +import sys +import json + +# Does computation described in spec, with following fields: +# "module" : string ~ module names to import +# "function": string ~ name of function to call +# "arguments" : list ~ list of arguments to function +def import_and_apply(spec): + exec "from %s import %s" % (spec['module'], spec['function']) + return eval(spec['function'])(*spec['arguments']) + +# call fn with input coverted from JSON on standard input and output +# written as JSON to standard output. +# Success produces { "tag":"ok", "value":ReturnValue }. +# Error produces { "tag":"error", "value":Description } +def wrap(fn): + # Function to convert unicode dict keys to ordinary strings. + # Note that dict values are kept as unicode. + def stringify(input): + if isinstance(input, dict): + return {key.encode('utf-8'):stringify(value) for key,value in input.iteritems()} + elif isinstance(input, list): + return [stringify(element) for element in input] + else: return input + + try: reply = json.dumps({'tag':'ok', 'value':fn(stringify(json.load(sys.stdin)))}) + except Exception as e: + reply = json.dumps({'tag':'error', 'value':str(e)}) + print(reply) + +if __name__ == "__main__": wrap(import_and_apply)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dml-cla/python/key_tonic_hist.py Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,48 @@ +# Part of DML (Digital Music Laboratory) +# Copyright 2014-2015 Samer Abdallah, University College London + +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +# -*- coding: utf-8 -*- +__author__="samer" + +from rdfutils import * +from n3Parser import * +from pitchutils import * +from aggregate import * +from csvutils import csv_map_rows +from warnings import warn + +def tonic_from_n3(filename): + graph=get_rdf_graph_from_n3(filename) + max_time = 0 + tonic = None + for ev, time in graph.subjects_objects(ev_ns.time): + t = parse_xsd_duration(graph.value(time,tl_ns.at)) + if t>max_time: tonic = graph.value(ev,af_ns.feature) + return tonic-1 + +def tonic_from_csv(filename): + # format: time, pitch_class_number, pitch_class_name + return int(csv_map_rows(filename,3,lambda row:row[1])[-1])-1 + + +def aggregate(inputs): + parser_table = { 'n3':tonic_from_n3, + 'csv':tonic_from_csv } + hist = 12*[0] + def accum(f): hist[decode_tagged(parser_table,f)] += 1 + stats=for_each(inputs,accum) + return { 'result': discrete_hist(pitch_class_names,hist), 'stats':stats }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dml-cla/python/n3Parser.py Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,75 @@ +# Part of DML (Digital Music Laboratory) +# Copyright 2014-2015 AUTHOR_AFFILIATION + +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +from rdflib import Graph +from rdflib.plugins.parsers.notation3 import BadSyntax +import warnings +import codecs +import platform + +# Load and parse an n3 file +def get_rdf_graph_from_n3(n3_file_uri): + + graph = Graph() + + try: + graph.parse(n3_file_uri, format="n3") + except UnicodeDecodeError: + + n3_file_str = uri2path(n3_file_uri) + n3_file_iso = codecs.open(n3_file_str, 'r', "iso-8859-1") + + # check if n3 is valid and parse + # repair if necessary + graph = parse_potentially_corrupt_n3(n3_file_iso.read()) + + except (AssertionError, BadSyntax): + + n3_file_str = uri2path(n3_file_uri) + n3_file = open(n3_file_str, 'r') + graph = parse_potentially_corrupt_n3(n3_file.read()) + + return graph + +# can parse truncated n3 +def parse_potentially_corrupt_n3(content): + feature_graph = Graph() + # test if file is complete. + # if not, delete the last corrupted entry + if not '.' in content[-4:]: + warnings.warn("Incomplete rdf file, ignoring last entry") + # we find the last correct event + lastentry = content.rfind(':event') + feature_graph.parse(data=content[:lastentry], format="n3") + else: + feature_graph.parse(data=content, format="n3") + + return feature_graph + +# returns filepath from url +def uri2path(n3_file_uri): + + n3_file_uri_str = n3_file_uri.__str__() + + # Assume that n3_file_uri_str starts with 'file://' - we need to remove that + if 'Win' in platform.system(): + FILE_URI_START_INDEX = 8 + else: + FILE_URI_START_INDEX = 7 + + n3_file_str = n3_file_uri_str[FILE_URI_START_INDEX:len(n3_file_uri_str)] + return n3_file_str \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dml-cla/python/pitchutils.py Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,20 @@ +# Part of DML (Digital Music Laboratory) +# Copyright 2014-2015 Samer Abdallah, University College London + +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +pitch_class_names = ["C", "C#", "D", "D#", "E", "F", "F#", "G", "G#", "A", "A#", "B"] + +def pitch_name(pc_num,octave): return pitch_class_names[pc_num]+str(octave)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dml-cla/python/places_hist.py Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,71 @@ +# Part of DML (Digital Music Laboratory) +# Copyright 2014-2015 Daniel Wolff, City University + +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +# -*- coding: utf-8 -*- +__author__='wolffd' + + +from rdflib import RDF, RDFS +from csvutils import * +from aggregate import * +from n3Parser import get_rdf_graph_from_n3 +import numpy +from scipy.spatial import distance +from collections import defaultdict + + + +def per_file(inputs,opts={}): + places = [] + lists = [] + + #print_status(str(inputs)) + # simtype = opts['sim_type'] + + def accum(item): + + # add uri if everything went well + places.append(item['place']) + lists.append(item['list']) + + # accumulation + st=for_each(inputs,accum) + + # get the histogram + (histo,index) = histogram(places) + + # get the songs for each place + list = [] + for row in index.values(): + list += [lists[i] for i in row] + + return { 'result': { 'hist': histo }, #AK requested this removed, 'lists': list}, + 'stats' : st } + + + +# histogram the returns revers index as well +def histogram(strin = []): + # build histogram + histo = dict() + index = defaultdict(list) + for num, row in enumerate(strin): + histo[row] = histo.get(row, 0) + 1 + index[row] += [num] + + # return most frequent key + return ({'counts':histo.values(), 'places':histo.keys()}, index)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dml-cla/python/rdf_wrapper.py Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,223 @@ +# Part of DML (Digital Music Laboratory) +# Copyright 2014-2015 Steven Hargreaves + +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +#!/usr/bin/env python +# -*- coding: utf-8 -*- +__author__="hargreavess" + +import ConfigParser +import logging +import sys +import os +import time +import shutil +import argparse +from os import walk +import rdflib +from rdflib import Graph, Namespace, BNode, Literal, RDF, RDFS +from RDFClosure import DeductiveClosure, OWLRL_Semantics +import transforms.keyTonicHistogram +import transforms.tuningFrequencyStatistics +import transforms.semitoneHistogram +import math + +cla = Namespace("http://dml.org/cla#") + +def print_status(msg): + sys.stderr.write(msg+'\n') + +def main(): + + # get config + # print_status("Reading configuration...") + # config = ConfigParser.ConfigParser() + # config.read('dml-analyser.cfg') + + # parse dmlcla ontolgy and input graph + input_graph = Graph() + # print_status("Reading DML CLA ontology...") + # input_graph.parse(config.get('Ontology', 'dmlclaOntology_URI'), format="n3") + # print_status("Reading input triples...") + input_graph.parse(sys.stdin, format="n3") + # print_status("------") + # input_graph.serialize(destination=sys.stderr,format='n3') + # print_status("------") + # print_status("Forward chaining OWL entailments...") + # DeductiveClosure(OWLRL_Semantics).expand(input_graph) + + # initialise output rdf graph + # bnode = BNode() + # print_status("Building output graph...") + output_graph = Graph() + output_graph.bind("dmlcla",cla) + + for comp in input_graph.subjects(cla.function,None): + func= input_graph.value(comp, cla.function) + inp = input_graph.value(comp, cla.input) + print_status("Got computation %s: %s(%s)" % (comp,func,inp)) + fn = eval(func) + output = fn(inp.value) + print_status("Result is %s" % output) + output_graph.set((comp,cla.output,Literal(output))) + # comps = input_graph.query( + # """prefix cla: <http://dml.org/cla#> + # SELECT ?comp ?function ?input + # WHERE { + # ?comp cla:function ?function . + # ?comp cla:input ?input + # }""") + + # for row in comps: + # print_status("Got computation %s: %s(%s)" % (row.comp,row.function,row.input)) + # fn = eval(row.function) + # output = fn(row.input) + # print_state("Result is %s" % output) + + + # # Determine which transforms are to be applied, and + # # the associated input files + # transforms = find_transforms_in_n3(input_graph) + + # # Apply the transform(s) to each file and create + # # rdf results graph + # execute_transforms(transforms, output_graph) + + # # Write output rdf to stdout + # print_status("Writing output triples...") + output_graph.serialize(destination=sys.stdout,format='n3') + +# # Loop through all transforms, process the corresponding +# # input files appropriately and add the (RDF) result to output_graph +# def execute_transforms(transforms, output_graph): + +# transform_iter = transforms.iterkeys() +# key_histogram = [] + +# for (transform, transform_type) in transforms: + +# input_f_files = transforms.get((transform, transform_type)) + +# # Add additional clauses to this if statement +# # for each transform type +# if transform_type == rdflib.term.URIRef(u'http://dml.org/dml/cla#CollectionLevelKeyTonic'): + +# transforms.keyTonicHistogram.run(transform,input_f_files, output_graph) + +# elif transform_type == rdflib.term.URIRef(u'http://dml.org/dml/cla#CollectionLevelTuningFrequencyStatistics'): + +# transforms.tuningFrequencyStatistics.run(transform,input_f_files, output_graph) + +# elif transform_type == rdflib.term.URIRef(u'http://dml.org/dml/cla#CollectionLevelSemitone'): +# transforms.semitoneHistogram.run(transform, input_f_files, output_graph) + + +# # Find all transforms, and their associated input files, +# # from rdf_graph +# def find_transforms_in_n3(rdf_graph): + +# q1 = rdf_graph.query( +# """prefix dml: <http://dml.org/dml/cla#> +# SELECT ?comp ?function +# WHERE { +# ?comp a dml:Computation . +# ?comp dml:function ?function . +# }""") + +# for row in q1: + +# inputs = rdf_graph.query( +# """prefix dml: <http://dml.org/dml/cla#> +# SELECT ?input +# WHERE { +# ?comp dml:input ?input . +# }""") + +# computations = dict() + +# for row in qres: + +# comp = row.comp +# input = row.input +# transform_type = row.transform_type + +# if transforms.has_key((transform_bnode, transform_type)): + +# transform_key = transforms.get((transform_bnode, transform_type)) +# transform_key.append(dml_input) + +# else: + +# transforms[(transform_bnode, transform_type)] = [dml_input] + +# return transforms + +# # Determine the mapping between feature file URIs and +# # their source audio file URIs +# def map_audio_to_feature_files(): + +# # Loop through audio files +# lines = [line.strip() for line in args.audio_files] + +# for audio_file in lines: + +# print "sonic-annotator -T " + args.transforms + " --rdf-basedir " + args.basedir + " <" + audio_file + ">" + +# audio_to_feature_file_dict = dict() + +# for (dirpath, dirnames, filenames) in walk(args.basedir): +# for file in filenames: + +# print "found file: " + file + +# if file.endswith(".n3"): + +# print "found n3 file: " + file + +# # open and parse n3 file +# rdf_graph = Graph() +# rdf_graph.parse(os.path.join(dirpath, file), format="n3") + +# # find subject in ?subject a mo:AudioFile +# qres = rdf_graph.query( +# """SELECT ?audio_file +# WHERE { +# ?audio_file a mo:AudioFile . +# }""") + +# print len(qres) + +# for row in qres: + +# print("audio file URI is %s" % row.audio_file.n3()) +# print("feature file URI is %s" % os.path.join(os.getcwd(), dirpath, file)) +# audio_to_feature_file_dict[row.audio_file.n3()] = os.path.join(os.getcwd(), dirpath, file) + +# # add full file URI, subject to dict + +# print audio_to_feature_file_dict + +if __name__ == "__main__": + + # parser = argparse.ArgumentParser() + + # # parser.add_argument("-T", "--transforms", help="the URI of an n3 (RDF) file describing one or more transforms, and the files to which they should be applied") + # parser.add_argument("-b", "--basedir", help="the URI of the base output directory") + + # args = parser.parse_args() + + main() +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dml-cla/python/rdfutils.py Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,33 @@ +# Part of DML (Digital Music Laboratory) +# Copyright 2014-2015 Samer Abdallah, University of London + +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +# -*- coding: utf-8 -*- +__author__="samer" + +from rdflib import Namespace, BNode, Literal, XSD + +cla_ns = Namespace("http://dml.org/cla#") +tl_ns = Namespace("http://purl.org/NET/c4dm/timeline.owl#") +event_ns = Namespace("http://purl.org/NET/c4dm/event.owl#") +af_ns = Namespace("http://purl.org/ontology/af/") + +def parse_xsd_duration(string): + return float(string[2:len(string)-1]) + +def event_time_prop(graph,ev,pred): + return parse_xsd_duration(graph.value(graph.value(ev,event_ns.time), pred)) +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dml-cla/python/semitone_hist.py Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,60 @@ +# Part of DML (Digital Music Laboratory) +# Copyright 2014-2015 Steven Hargreaves; Samer Abdallah, University of London + +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +# -*- coding: utf-8 -*- +__author__="hargreavess, abdallahs" + +import sys +from csvutils import * +from pitchutils import * +from aggregate import * +from rdflib import RDF, RDFS +from rdfutils import parse_xsd_duration, event_ns, tl_ns, af_ns +from n3Parser import get_rdf_graph_from_n3 + +# map from pitch names to pitch class numbers in 0..11 +pitch_map = { pitch_name(i,oct):i for oct in range(0,9) for i in range(0,12) } + +# data conversions to a list of (pitch_name:string,duration:float) pairs representation + +def transcription_from_csv(filename): + # we assume format time, duration, pitch, velocity, note_name + return csv_map_rows(filename,5,lambda row:(row[4],float(row[1]))) + +def transcription_from_n3(filename): + graph=get_rdf_graph_from_n3(filename) + notes = [ ( graph.value(ev, RDFS.label), + parse_xsd_duration(graph.value(graph.value(ev,event_ns.time), tl_ns.duration)) ) + for ev in subject((RDF.type, af_ns.Note)) ] + +def notes_histogram(notes): + hist = 12*[0] + for note in notes: hist[pitch_map[note[0]]] += note[1] + return hist + +# Compute aggregate pitch histogram from a list of input transcriptions. +def aggregate(transcriptions): + parser_table = { 'n3':transcription_from_n3, + 'csv':transcription_from_csv } + + hist = 12*[0] # will be aggragate histogram + def accum(f): + h = notes_histogram(decode_tagged(parser_table,f)) + total = sum(h) + for x in range(0, 12): hist[x] += h[x]/total + stats=for_each(transcriptions,accum) + return { 'result': discrete_hist(pitch_class_names,hist), 'stats':stats }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dml-cla/python/similarity.py Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,465 @@ +# Part of DML (Digital Music Laboratory) +# Copyright 2014-2015 Daniel Wolff, City University + +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +# -*- coding: utf-8 -*- +__author__='wolffd' + +# this script derives all pairwise similarity measures for the chroma vectors provided. +# as a first experiment, only the mean chroma vectors per piece are compared +# using euclidean distance + + +# parameters to be forwarded to API + +# similarity type: +# euclidean, compression +# simtype = 'euclidean' + +# parallelisation +num_cores = 10 + + +#min_clusters = 40## unused +#max_clusters = 256## unused + +#set_clusters = 40 +#max_clips = 50 +encoding = 'binary' +#compressor = 'zxd' +mds_init_tries = 4 +mds_max_iter = 100 +mfccbins = 12 + +# resample chroma / timbre values at this fraction for compression distance. 0 to switch off +# we want a vector just every second. +# The standard sample rate and window size are 44100 / 1024 for chroma / timbre +# this is dependent on the sim_downsample parameter +resample_factor = 44100/1024; + + +from rdflib import RDF, RDFS +from csvutils import * +from aggregate import * +from n3Parser import get_rdf_graph_from_n3 + +# numpy, scipy +import numpy as np +from scipy.spatial import distance +from sklearn.metrics.pairwise import pairwise_distances +from scipy.signal import resample + +#scikitlearn +from sklearn.datasets import make_blobs +from sklearn.cluster import KMeans +# from sklearn.metrics import silhouette_samples, silhouette_score +from sklearn import manifold + + +# chord processing +from chord_seq_key_relative import chords_from_csv, keys_from_csv, chord2function, fun2txt, fun2num,most_frequent_key,chord_roots,type_labels + +# subprocess, command line and threading +import os, tempfile +import subprocess, threading + +# for system / compression calls +import zlib + + +def chroma_from_csv(filename): + # we assume CSV: time, chroma 1, ... chroma 12] + # return (time, [chroma 1-12]) + return csv_map_rows(filename,13, lambda row:(float(row[0]),np.array(row[1:12],dtype=float))) + +def mfcc_from_csv(filename): + # we assume CSV: time, mfcc 1, ... mfcc 20] + # return (time, [chroma 1-12]) + return csv_map_rows(filename,21, lambda row:(float(row[0]),np.array(row[1:20],dtype=float))) + + +chroma_parser_table = { 'csv':chroma_from_csv} +mfcc_parser_table = { 'csv':mfcc_from_csv} + +# in chord_seq_relative +key_parser_table = { 'csv':keys_from_csv } +chord_parser_table = { 'csv':chords_from_csv } + +## generate global dict of chord_keys +chord_keys = [] +for chordnum in range(1,12+1): + for typenum in range(1,11+1): + chord_keys.append("%02d%02d" % (chordnum,typenum)) + +def per_file(inputs,opts={}): + chromas = [] + chromas_idx = [] + mfccs = [] + mfccs_idx = [] + chords = [] + chords_idx = [] + uris = [] + + # get options from API + # print_status(str(opts)) + simtype = opts['sim_type'] + set_clusters = opts['sim_clusters'] # def 40 + downsample = opts['sim_downsample'] # def 1 + limit = opts['sim_reclimit'] # def 50 + compressor = opts['sim_compressor'] # def 'zlib' + + # parse feature list + features = opts['sim_features'].split(',') # features, def: chroma + use_chromagram = any(ext in 'chromagram' for ext in features) + use_mfcc = any(ext in 'mfcc' for ext in features) + use_chords = any(ext in 'chords' for ext in features) + + # check number of inputs + if len(inputs) > limit: + #return { 'error': ''} + print_status('Similarity: Too many inputs, truncating collection') + inputs = inputs[0:limit] + + + # accumulation for euclidean just gets the mean values over the whole clips + # todo: add std and other statistics? + def accum_euclidean(item): + # accumulate chroma vectors for this piece + if use_chromagram: + chroma = [ res[1] for res in decode_tagged(chroma_parser_table,item['chromagram'])] + # print_status('Chroma Raw Data' + str(chroma)) + # get mean chroma vector + chroma_mean = np.mean(np.array(chroma), axis = 0) + #print_status('Chroma Means' + str(chroma_mean)) + + # add vector to chromas table + chromas.append(chroma_mean) + + if use_mfcc: + mfcc = [ res[1] for res in decode_tagged(mfcc_parser_table,item['mfcc'])] + mfcc_mean = np.mean(np.array(mfcc), axis = 0) + mfccs.append(mfcc_mean) + + if use_chords: + # get duration and normalised frequency for all tuning pitches (A3,A4,A5) + keys = decode_tagged(key_parser_table,item['keys']) + # get most frequent key + key,mode = most_frequent_key(keys) + relchords = [] + for (time,chord) in decode_tagged(chord_parser_table,item['chords']): + + # get chord function + (root,fun,typ, bfun) = chord2function(chord, key,mode) + + # translate into text + #txt = fun2txt(fun,typ, bfun, mode) + #print_status('Chord: ' + chord + ', function: ' + txt) + num = fun2num(fun,typ, bfun, mode) + if num > 0: + # add to chords of this clip + #relchords.append((time,key,mode,fun,typ,bfun)) + + # get the root note of the chord and chord type + # ignore mode and base note + # format of num [1x mode, 2x function, 2x type, 2x base note] + relchords.append(str(num)[1:5]) + + # append histogram of all chords for this recording + hist = chord_histogram(relchords) + chords.append(hist) + + + # add uri if everything went well + uris.append(item['list']) + + # accumulation for compression: + # save all chroma vectors + # possibly build a codebook + # otherwise compare for quantisation + + def accum_compression(item): + + # get chromas + if use_chromagram: + # accumulate chroma vectors for this piece + chroma = [ res[1] for res in decode_tagged(chroma_parser_table,item['chromagram'])] + # print_status('Chroma Raw Data' + str(chroma)) + + # downsample if necessary + if downsample == 1: + #chroma = resample(chroma, len(chroma)//resample_factor, axis=0, window=None) + #chroma = [chroma[i] for i in np.random.randint(0,len(chroma),len(chroma)//resample_factor)] + chroma = [chroma[i*resample_factor] for i in range(0,len(chroma)//resample_factor)] + + chromas.extend(chroma) + chromas_idx.append(len(chromas)) + + + if use_mfcc: + mfcc = [ res[1] for res in decode_tagged(mfcc_parser_table,item['mfcc'])] + + if downsample == 1: + # mfcc = np.random.randint(0,len(mfcc),len(mfcc)//resample_factor)] + mfcc = [mfcc[i*resample_factor] for i in range(0,len(mfcc)//resample_factor)] + mfccs.extend(mfcc) + mfccs_idx.append(len(mfccs)) + + if use_chords: + # get duration and normalised frequency for all tuning pitches (A3,A4,A5) + keys = decode_tagged(key_parser_table,item['keys']) + # get most frequent key + key,mode = most_frequent_key(keys) + relchords = [] + for (time,chord) in decode_tagged(chord_parser_table,item['chords']): + + # get chord function + (root,fun,typ, bfun) = chord2function(chord, key,mode) + + # translate into text + #txt = fun2txt(fun,typ, bfun, mode) + #print_status('Chord: ' + chord + ', function: ' + txt) + num = fun2num(fun,typ, bfun, mode) + if num > 0: + # add to chords of this clip + #relchords.append((time,key,mode,fun,typ,bfun)) + + # get the root note of the chord and chord type + # ignore mode and base note + # format of num [1x mode, 2x function, 2x type, 2x base note] + relchords.append(int(str(num)[1:5])) + + # append histogram of all chords for this recording + #hist = chord_histogram(relchords) + chords.extend(relchords) + chords_idx.append(len(chords)) + + # add uri if everything went well + uris.append(item['list']) + + + + # --- + # this is the euclidean distance + # --- + if (simtype == 'euclidean'): + # accumulate over all inputs + st=for_each(inputs,accum_euclidean) + + # concatenate feature input for all features + arr = np.empty((len(uris),0), float) + # concatenate data to nparray for euclidean distance + if use_chromagram: + arr = np.append(arr, np.array(chromas), axis=1) + + if use_mfcc: + arr = np.append(arr, np.array(mfccs), axis=1) + + if use_chords: + # get chord dictionaries + #print(str(np.array(chords).shape)) + arr = np.append(arr,np.array(chords) , axis=1) + + #dist = distance.pdist(chromas, 'euclidean') + dist = pairwise_distances(arr, metric = 'euclidean', n_jobs = num_cores) + + # return to non-condensed matrix for simplicity. + # this can be reversed using the very same function for data + # efficiency + #dist = distance.squareform(dist) + + # --- + # this is the normalised compression distance + # --- + elif (simtype == 'compression'): + # accumulate over all inputs + print_status('Similarity Module: Accumulating') + st=for_each(inputs,accum_compression) + + dist = np.zeros((len(uris),len(uris))) + count = 0 + if use_chromagram: + print_status('Similarity Module: Chroma Quantisation') + chromas_coded = vector_quantisation(np.array(chromas), set_clusters,num_cores) + print_status('Similarity Module: Chroma Compression Results') + dist += similarity_by_mask(chromas_coded,chromas_idx,compressor,encoding) + count +=1 + + if use_mfcc: + print_status('Similarity Module: MFCC Quantisation') + mfccs_coded = vector_quantisation(np.array(mfccs), set_clusters,num_cores) + print_status('Similarity Module: MFCC Compression Results') + dist += similarity_by_mask(mfccs_coded,mfccs_idx,compressor,encoding) + count +=1 + + if use_chords: + print_status('Similarity Module: Chord Compression Results') + dist += similarity_by_mask(np.array(chords),chords_idx,compressor,encoding) + count +=1 + + dist = dist / count + + + # get rid of zeros in between + #for idx1 in range(0,len(chromas_idx)): + # dist[idx1][idx1] = 1 + + print_status('dist' + str(dist)) + + # Do MDS scaling with precomputed distance + mds = manifold.MDS(n_components = 2, max_iter=mds_max_iter, n_init=mds_init_tries, dissimilarity='precomputed') + + coordinates = mds.fit_transform(dist) + + return { 'result': { 'list': uris, 'mds': coordinates.tolist()}, 'stats' : st } + # return { 'result': { 'list': uris, 'distance': dist.tolist(), 'mds': coordinates.tolist()}, + # 'stats' : st } + + + +def vector_quantisation(data, set_clusters,num_cores): + # --- + # build codebook! + # --- + # --- 1 quantise chroma data + # --- 1a use scikit-learn k-means + # http://scikit-learn.org/stable/modules/clustering.html + + # quick try + clusterer = KMeans(n_clusters=set_clusters,n_jobs = num_cores) + + # --- 2 get compression distance + # get all single compressed sizes? + data_coded = clusterer.fit_predict(data) + #print_status('Chromas Coded' + str(chromas_coded)) + # print_status('Coding Histogram' + str(np.histogram(chromas_coded))) + return data_coded + + + +def similarity_by_mask(data_coded,data_idx,compressor,encoding): + + # idx is expected to start with the first chroma index of the second piece + # TODO: check indexing (starts at 0 or 1?) + lengths = [] + start_idx = [0] + data_idx[:-1] + dist = np.zeros((len(data_idx),len(data_idx))) + for idx1 in range(0,len(data_idx)): + for idx2 in range(0,len(data_idx)): + if (idx2 < idx1): + # select encoded chromas for the clips + data1_mask = np.zeros(len(data_coded), dtype=bool) + data1_mask[start_idx[idx1]:data_idx[idx1]-1] = True + + data2_mask = np.zeros(len(data_coded), dtype=bool) + data2_mask[start_idx[idx2]:data_idx[idx2]-1] = True + + a_coded = encode(data_coded[data1_mask],format = encoding) + b_coded = encode(data_coded[data2_mask],format = encoding) + # get compression lengths + if compressor == 'zlib': + (a,b,ab) = compressed_length(a_coded,b_coded,compressor) + + else: + # get complement chroma set + ref_mask = ~data1_mask & ~data2_mask + ref_coded = encode(data_coded[ref_mask],format = encoding) + (a,b,ab) = delta_compressed_length(a_coded,b_coded,ref_coded,compressor) + + #NCD(z - min(v, w))/ max(v, w); + dist[idx1][idx2] = (ab - min(a,b))/float(max(a,b)) + + # the above normalised compression distance is symmetric + # this is required by the nds routine below + dist[idx2][idx1] = dist[idx1][idx2] + + return dist + +def encode(data, format = 'string'): + + # Encoding + if format == 'binary': + data_coded = data.tostring() + elif format == 'string': + data_coded = str(data) + return data_coded + +def compressed_length(a_coded,b_coded, type = 'zlib'): + + # Compression + if type == 'zlib': + # zlib is quite helpful https://docs.python.org/2/library/zlib.html#module-zlib + a = len(zlib.compress(a_coded, 9)) + b = len(zlib.compress(a_coded, 9)) + ab = len(zlib.compress(a_coded + b_coded, 9)) + + return (a,b,ab) + +def delta_compressed_length(a_coded,b_coded,ref_coded, type = 'zxd'): + # Compression + # zbs - use bsdiff + # zxd - uses xdelta3 + # zvcd - uses open-vcdiff + # zvcz - uses vczip + # zdiff - converts binary to text and uses diff to produce an ed script + + if type == 'zxd' or type == 'zbs' or type == 'zvcz' or type == 'zdiff' or type == 'zvcd': + + freference = tempfile.NamedTemporaryFile(delete=False) + freference.write(ref_coded) + freference.close() + #print_status('Ref File: ' + freference.name) + + # to be optimised with bufs later + # get length of a regarding reference + command = '/home/dml/src/hg/dml-cliopatria/cpack/dml/scripts/compression/%s encode %s | /home/dml/src/hg/dml-cliopatria/cpack/dml/scripts/compression/length' % (type, freference.name) + # print_status(command) + p1 = subprocess.Popen(command, stdin=subprocess.PIPE, stdout=subprocess.PIPE,shell=True) + output,err = p1.communicate(input=a_coded) + a = int(output) + + # get length of b regarding reference + p1 = subprocess.Popen(command, stdin=subprocess.PIPE, stdout=subprocess.PIPE,shell=True) + output,err = p1.communicate(input=b_coded) + b = int(output) + + # get length of a,b regarding reference + p1 = subprocess.Popen(command, stdin=subprocess.PIPE, stdout=subprocess.PIPE,shell=True) + output,err = p1.communicate(input=a_coded + b_coded) + ab = int(output) + + + #print_status('Compressed Output' + compressed) + #print_status('Compressed Size' + str(len(compressed))) + os.remove(freference.name) + return (a,b,ab) + +# histogram of the last entry in a list +# returns the most frequently used key +def chord_histogram(chordstr = []): + global chord_keys + # build histogram + + histo = dict.fromkeys(chord_keys,0) + for chord in chordstr: + histo[chord] = histo.get(chord,0) + 1 + #print_status(str(histo.keys())) + + counts = np.array(histo.values(),float) + if max(counts) > 0: + counts = counts / max(counts) + return (counts) + +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dml-cla/python/tonic_norm_semitone_hist.py Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,76 @@ +# Part of DML (Digital Music Laboratory) +# Copyright 2014-2015 Steven Hargreaves; Samer Abdallah, University of London + +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +# -*- coding: utf-8 -*- +__author__="hargreavess, abdallahs, wolffd" + +import sys +from csvutils import * +from pitchutils import * +from aggregate import * +from rdflib import RDF, RDFS +from rdfutils import parse_xsd_duration, event_ns, tl_ns, af_ns +from n3Parser import get_rdf_graph_from_n3 +from semitone_hist import notes_histogram, transcription_from_csv, transcription_from_n3 +from key_tonic_hist import tonic_from_n3, tonic_from_csv + +# Compute aggregate pitch histogram from a list of input transcriptions. +def aggregate(transcriptions_tonics,opts): + parser_table = { 'n3':transcription_from_n3, + 'csv':transcription_from_csv } + + hist = 12*[0] # will be aggragate histogram + def add_no_norm(h): + for x in range(0, 12): hist[x] += h[x] + + def add_norm(h): + total=sum(h) + for x in range(0, 12): hist[x] += h[x]/total + + if opts['normalisation']=='piece': add_to_hist=add_norm + else: add_to_hist=add_no_norm + + def accum(f): + # subtract 1 from tonic because tonic_from_csv uses range 1 to 12 whilst this script uses 0 to 11 + add_to_hist( rotate_left( notes_histogram(decode_tagged(parser_table,f['transcription'])), + argmax(find_tonic_histogram(f['tonic']['value'],f['duration'])))) + + # do_stuff + stats=for_each(transcriptions_tonics,accum) + return { 'result': discrete_hist([str(i) for i in range(1,13)],hist), 'stats':stats } + +def rotate_left(x,n): return x[n:]+x[:n] + +def argmax(x): return max(range(0,len(x)),key=x.__getitem__) + +# Parse the qm-keydetector_tonic csv file, and generate +# a tonic histogram +def find_tonic_histogram(input_f_file,duration): + tonic_hist = 12*[0] + # ['time','keynr','label'] -> [time:float, keynr:in(range(0,12))] + data = csv_map_columns(input_f_file,3,[lambda r:float(r[0]), lambda r:int(r[1])-1]) + + # build duration weighted histogram + for idx in range(1,len(data[0]) ): + tonic_hist[data[1][idx-1]] += data[0][idx] - data[0][idx-1] + + # add last tonic if duration is given + if duration>0: + tonic_hist[data[1][-1]] += duration - data[0][-1] + + return tonic_hist +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dml-cla/python/tuning_stats.py Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,153 @@ +# Part of DML (Digital Music Laboratory) +# Copyright 2014-2015 Daniel Wolff, City University; Steven Hargreaves; Samer Abdallah, University of London + +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +# -*- coding: utf-8 -*- +__author__='wolffd, hargreavess, abdallahs' + +# this script derives standard statistics for tuning frequency, +# in particular: +# average +# standard deviation +# histogram + +from rdflib import RDF, RDFS +from csvutils import * +from aggregate import * +from n3Parser import get_rdf_graph_from_n3 +import numpy + +def transcription_from_csv(filename): + # we assume CSV: time, duration, pitch, velocity, note_name + # return (time, duration, pitch, note_name) + return csv_map_rows(filename,5, lambda row:(float(row[0]),float(row[1]),float(row[2]),row[4])) + +def transcription_from_n3(filename): + graph=get_rdf_graph_from_n3(filename) + notes = [ ( event_time_prop(graph, ev, tl_ns.beginsAt), + event_time_prop(graph, ev, tl_ns.duration), + graph.value(ev,af_ns.feature).split(' ')[0], + graph.value(ev,RDFS.label) ) + for ev in subject((RDF.type, af_ns.Note)) ] + +parser_table = { 'n3':transcription_from_n3, + 'csv':transcription_from_csv } + +offset = { 'D':7, 'E':5, 'A':0 } + +def fold_pitch(freq,name): + # semis =(4+offset[name[0]]-int(name[1])) + # print_status("folding by %d" % semis) + return freq * 2**(4+offset[name[0]]/12.0-int(name[1])) +def tuning_note(n): + return n[1] in ['3','4','5'] and n[0] in ['A','E','D'] + + +def per_file(inputs): + means = [] + hists = [] + hist_edges =[] + + def accum(item): + # get duration and normalised frequency for all tuning pitches (A3,A4,A5) + a_notes = [ (note[1],fold_pitch(note[2],note[3])) + for note in decode_tagged(parser_table,item) + if tuning_note(note[3]) ] + + if len(a_notes)==0: + print_status("No notes for "+str(item)) + else: + # get frequency and duration columns + freq = numpy_column(a_notes,1) + dur = numpy_column(a_notes,0) + # get mean values per clip now, + # then statistics over clips later + avg, std = weighted_stats(freq, weights = dur) + (counts, edges) = histogram(freq, 100, 390, 490, weights=dur) + + means.append(avg) + hists.append(counts) + if len(hist_edges) == 0: + hist_edges.extend(edges) + + st=for_each(inputs,accum) + + avg, std = stats(numpy.array(means,dtype=float)) + + # !!! does this make any sense? + hist_mean, hist_std = stats(numpy.array(hists,dtype=float)) + + return { 'result': { 'mean': avg, 'std-dev': std, + 'hist': continuous_hist(hist_edges,hist_mean) }, + 'stats' : st } + + +def aggregate(inputs): + notes = [] # will contain all notes in all inputs + def accum(item): + # get duration and normalised frequency for all tuning pitches (A3,A4,A5) + # and collect them all in notes + notes.extend( [ (note[1],fold_pitch(note[2],note[3])) + for note in decode_tagged(parser_table,item) + if tuning_note(note[3]) ] ) + + # execute accumulation for each accum + stats=for_each(inputs,accum) + + # get frequency and duration columns + dur = numpy_column(notes,0) + freq = numpy_column(notes,1) + + # get basic statistics + avg, std = weighted_stats(freq, weights=dur) + + # get histogram weighted by duration + counts, edges = histogram(freq, 100, 390, 490, weights=dur) + + return { 'result': { 'mean': avg, 'std_dev': std, + 'hist': continuous_hist(edges,counts) }, + 'stats' : stats } + +# convert one column, specified by datapos, to numpy array +def numpy_column(data,datapos): + return numpy.array([ row[datapos] for row in data ], dtype=float) + +#calculates the histogram +# nbins: number of bins +# lb: lower bound +# ub: upper bound +def histogram(colu, nbins, lb, ub, weights = []): + counts,edges = numpy.histogram(colu, bins=nbins, range=[lb, ub], weights=weights) + counts = counts / numpy.sum(counts) + + return (counts.tolist(), edges.tolist()) + +# calculates unweighted statistics for the histograms +def stats(counts): + avg = numpy.average(counts, axis = 0).tolist() + std = numpy.std(counts, axis =0) + return (avg,std) + +#calculates weighted statistics for numerical input +def weighted_stats(colu, weights = []): + avg = numpy.average(colu, axis = 0 ,weights = weights) + #weighted standard deviation + std = numpy.sqrt(numpy.average((colu-avg)**2, axis = 0, weights=weights)) + #std = numpy.std(colu, weights = weights).tolist() + #med = numpy.median(colu, weights = weights).tolist() + # could use https://pypi.python.org/pypi/wquantiles for weighted median + return (avg,std) +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dml-cla/python/tuning_stats_byyear.py Tue Feb 09 21:05:06 2016 +0100 @@ -0,0 +1,125 @@ +# Part of DML (Digital Music Laboratory) +# Copyright 2014-2015 Daniel Wolff, City University + +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +# -*- coding: utf-8 -*- +__author__='wolffd' +__date__ ="$11-Mar-2015 12:47:23$" + +# this script derives standard statistics for tuning frequency, +# results are combined by year(range) +# average +# standard deviation + +# test JSON: +#{ "module":"tuning_stats_byyear", +# "function":"per_file", +# "arguments": [[ +# {"transcription": { "tag": "csv", "value":"D:\\mirg\\Pitch_Analysis\\026A-1CL0001773XX-0100A0_vamp_silvet_silvet_notes.csv"}, "date": "2015-12-14"}, +# {"transcription": { "tag": "csv", "value":"D:\\mirg\\Pitch_Analysis\\026A-1CL0002164XX-0100A0_vamp_silvet_silvet_notes.csv"}, "date": "2015-12-14"}, +# {"transcription": { "tag": "csv", "value":"D:\\mirg\\Pitch_Analysis\\026A-1CL0001773XX-0100A0_vamp_silvet_silvet_notes.csv"}, "date": "2015-12-14"}, +# {"transcription": { "tag": "csv", "value":"D:\\mirg\\Pitch_Analysis\\026A-1CL0002164XX-0100A0_vamp_silvet_silvet_notes.csv"}, "date": "2015-12-14"}, +# {"transcription": { "tag": "csv", "value":"D:\\mirg\\Pitch_Analysis\\026A-1CL0001773XX-0100A0_vamp_silvet_silvet_notes.csv"}, "date": "12.5.1993"}, +# {"transcription": { "tag": "csv", "value":"D:\\mirg\\Pitch_Analysis\\026A-1CL0001773XX-0100A0_vamp_silvet_silvet_notes.csv"}, "date": "2015-12-14"}, +# {"transcription": { "tag": "csv", "value":"D:\\mirg\\Pitch_Analysis\\026A-1CL0001773XX-0100A0_vamp_silvet_silvet_notes.csv"}, "date": "1907"}]] +#} + +from aggregate import * +import numpy +import re + +# get code for single-collection tuning statistics +from tuning_stats import fold_pitch, numpy_column, transcription_from_csv, \ + transcription_from_n3,tuning_note,stats, weighted_stats + +# width of bins in years +bin_width = 1 + +# parsers for n3 / csv +parser_table = { 'n3':transcription_from_n3, + 'csv':transcription_from_csv } + + +datematch = '' +# gets statistics on a per-file basis and returns histograms +# over the file averages +# inputs['filename']: filenames of fine-tune pitch extracted from recordings +# inputs['date']: string containing year-... for each recording +def per_file(inputs): + means = [] + years = [] + + def accum(item): + # see if this has a valid date + y = parse_years(item['date']) + if y > 1000: + + # get duration and normalised frequency for all tuning pitches (A3,A4,A5) + a_notes = [ (note[1],fold_pitch(note[2],note[3])) + for note in decode_tagged(parser_table,item['transcription']) + if tuning_note(note[3]) ] + + if len(a_notes)==0: + print_status("No notes for "+str(item['filename'])) + else: + # get frequency and duration columns + freq = numpy_column(a_notes,1) + dur = numpy_column(a_notes,0) + + # get mean values per clip now, + # then statistics over clips later + avg, std = weighted_stats(freq, weights = dur) + + # only append years if there is data + years.append(y) + means.append(avg) + else: + print_status("No year found for "+str(item['filename'])) + + # get statistics per file + st=for_each(inputs,accum) + + # get year bins + years = numpy.array(years) + yearbins = range(numpy.min(years),numpy.max(years),bin_width) + #yearbinends = numpy.array(yearbins) + bin_width + + avg = [] + std = [] + + # foreach over the year-bundled outputs + for year in yearbins: + valid_idx = [i for (i, val) in enumerate(years) if val >= year and val < (year + bin_width)] + valid_means = [means[i] for i in valid_idx] + + # get statistics + y_avg,y_std = stats(numpy.array(valid_means,dtype=float)) + avg.append(y_avg) + std.append(y_std) + + return { 'result': { 'mean': avg, 'std-dev': std,'years': yearbins}, + 'stats' : st } + +# parses year from string +# input: string containing 4-digit year +def parse_years(date): + yearstr = re.search(r'[12]\d{3}', date) + if yearstr: + return int(yearstr.group(0)) + else: + return -1 + +